
My Kids TV는 Google TV와 Android TV의 기본 홈 화면을 대체하는 무료 오픈소스 앱이다. 광고와 자동 재생 없이 연령대에 맞는 영화·프로그램을 보여주며, LG(webOS)와 삼성(Tizen) TV용 앱도 제공한다.
어린이가 보는 화면
화면에는 작품 하나가 크게 표시된다. 사진과 제목, 한 줄 줄거리, ‘꼭 봐야 할 작품’, ‘무언가를 배울 수 있는 작품’, ‘아이들이 좋아하는 작품’ 가운데 하나의 추천 이유가 나온다. 아래에는 다음 작품 세 개의 미리보기가 표시된다.
화면 속 작품은 10초마다 바뀌고 새로운 작품 묶음은 30초마다 들어온다. 다만 아이가 리모컨을 들면 화면이 멈춰 선택할 수 있다. 작품은 4~6세, 7~10세, 11~13세 연령대별 목록에서 고른다. 보유한 앱에서 재생할 수 있는 작품만 표시하고, 선택하면 해당 앱에서 바로 연다. 한 번 연 작품은 다시 추천하지 않는다.
배경에는 밤하늘이 표시되고, 아이 이름과 날씨가 인사말과 함께 나온다. 아래쪽에는 앱이 배치되며, 아래 버튼을 누르면 이번 주 날씨와 HDMI 입력, 설정을 볼 수 있다. 버튼을 10분 동안 누르지 않으면 작품 사진과 시계가 천천히 움직이는 화면 보호기가 켜진다.
보호자 설정과 개인정보
설정은 보호자 PIN 뒤에 있다. 보호자는 연령대를 언제든 바꿀 수 있고, 홈 화면에 표시할 앱을 고르거나 아이에게 보여주고 싶지 않은 앱을 숨길 수 있다. 앱은 삭제되지 않고 꺼진 상태로 남는다. Haier, TCL, Hisense, Sony TV에서는 리모컨의 YouTube 버튼을 아무 동작도 하지 않도록 설정할 수 있지만, YouTube 앱 자체는 그대로 남는다.
취침 타이머는 5분에서 4시간까지 설정할 수 있으며 남은 시간이 화면에 표시된다. 설정의 ‘Original’을 선택하면 TV 자체 홈 화면과 꺼 둔 항목을 복원한다. 루트 권한은 필요하지 않는다.
앱에는 광고, 계정, 추적 기능이 없다. 작품 정보와 사진을 위해 TMDB, 날씨를 위해 Open-Meteo에만 연결한다. 아이가 연 작품 기록은 TV에만 저장된다.
작품 목록 구성
| 연령대 | 작품 수 | 예시 |
|---|---|---|
| 4~6세 | 86 | 이웃집 토토로, Bluey, 패딩턴 2, The Magic School Bus, 니모를 찾아서 |
| 7~10세 | 314 | 코코, 아이언 자이언트, Planet Earth, 아바타: 아앙의 전설, 울프워커스, Taare Zameen Par |
| 11~13세 | 400 | 모노노케 히메, 인터스텔라, 앵무새 죽이기, The Man Who Knew Infinity, Dangal |
목록은 Common Sense Media와 BFI의 추천작, 어린이 영화상 수상작, TMDB 검색 결과와 남겨 둔 각 작품의 TMDB 추천작을 모아 약 4,800개 후보에서 시작한다. 공식 연령 등급, 충분한 투표 수, 관객 평점을 기준으로 후보를 추린다.
그 뒤 TypeSafe의 System One 모델 Jev가 작품별로 해당 연령대에 적합한지, 시간이 지나도 가치가 있는지, 꼭 봐야 할 작품인지, 아이가 얼마나 즐길지 평가한다. 7세 이상 작품은 완성도도 평가한다. 대부분 영어 작품을 포함하되 다른 언어권의 뛰어난 작품도 일부 넣는다. 좋은 작품은 더 자주 나오고, 많은 가족이 이미 본 유명 작품은 가끔만 나온다는 정책을 적용한다. 경계선에 있는 작품은 출시 전에 사람이 하나씩 검토한다.
후보와 평가, 선정 결정은 catalog/에 공개돼 있어 선택 이유를 확인하고 이의를 제기하거나 바꿀 수 있다. 작품 목록은 CSV와 JSON 형식의 공개 데이터셋으로도 제공하며 라이선스는 CC BY 4.0이다. 제작자는 부모와 학교, 개발자가 이 데이터를 활용할 수 있다고 설명한다.
설치 방법과 지원 상태
설치에는 약 20분이 걸린다. TV와 컴퓨터가 같은 Wi-Fi에 연결돼 있어야 한다. 먼저 TV의 설정에서 시스템, 정보로 이동해 Build를 7번 누르고, 개발자 옵션에서 USB 디버깅을 켠다. 설정의 네트워크 및 인터넷 메뉴에서 TV의 IP 주소도 확인한다.
컴퓨터에서 프로젝트 폴더를 열고 Claude Code, Codex 등의 AI 코딩 도우미를 실행한다. 다음처럼 TV의 IP 주소와 아이 연령을 넣어 설치를 요청한다. 도우미는 연령, 이름, 도시, 구독 중인 스트리밍 앱, 보호자 PIN, YouTube 버튼 설정을 묻고 앱을 빌드해 설치하며, 중요한 작업을 하기 전에는 확인을 요청한다.
Set up My Kids TV on our TV at 192.168.1.50 for my 8-year-old.
TV에서 My Kids TV를 연 뒤 홈 화면 설정에서 My Kids TV를 선택하고, 요청이 나오면 USB 디버깅을 허용한다. 작품 정보를 불러오려면 무료 TMDB API 키가 필요하다. 키는 컴퓨터와 TV에만 보관된다. 선택 사항으로 build.sh 옆에 child-photo.png를 두면 설정 화면에 아이 사진을 표시할 수 있다. 이 사진은 개인 빌드에만 포함되며 저장소에 커밋되지 않는다.
개발용 앱은 Java로 작성한 Android TV 앱이며 Gradle을 사용하지 않는다. LG와 삼성 TV용 웹 앱은 HTML, CSS, ES5로 작성됐다. 저장소에는 카탈로그 구축 절차와 공개 데이터 도구, 빌드 및 번역 확인 도구도 포함돼 있다.
app/ Android TV app (Java, no Gradle): HomeView draws the home screen, Recs picks the titles web/ The same home screen for LG and Samsung (HTML, CSS, ES5) webos/ LG package tizen/ Samsung package catalog/ The catalog pipeline: candidates → rules → Jev → policy → review data/ The open dataset tools/ check.sh (all builds and translations), translate.py (25 languages), webapp.py docs/ TECHNICAL.md: builds, adb and every TV brand's quirks `
./build.sh # MyKidsTV.apk (JDK 17 and the Android command-line tools)
tools/check.sh # Android build, 25 translations, LG and Samsung packages
TYPESAFE_API_KEY=... python3 catalog/pipeline.py --band 7-10 all # rebuild a catalog
제품 설계 원칙은 PRODUCT.md에, AI 도우미가 따르는 설치 절차는 CLAUDE.md에 정리돼 있다. 이슈와 풀 리퀘스트를 받는다.
현재 Haier Google TV(Android 14) 한 대에서 매일 사용하고 있다. LG와 삼성용 앱은 빌드와 점검을 통과했지만 실제 TV에서 실행해 보지는 않았다. 제작자는 이 프로젝트가 보증 없이 제공되며, 한 가족의 TV에서 매일 실행했을 뿐 모든 모델에서 시험한 것은 아니라고 알린다.
앱은 TV가 시작되는 방식을 바꿔 홈 화면으로 설정되며, 일부 기본 설치 앱을 끈다. 앱을 삭제하지는 않는다. 설정에서 ‘Original’을 선택하면 되돌릴 수 있다. 모드를 전환하기 위해 USB 디버깅을 계속 켜 둬야 하므로 TV를 집의 Wi-Fi에 연결하고, 공유기의 5555번 포트를 외부에 열지 말아야 한다.
이 앱은 화면을 차분하게 바꾸는 용도이지 자녀 보호 잠금 기능은 아니다. YouTube 같은 앱은 앱 안에서 계속 사용할 수 있고, 추천 작품은 선별 목록에서 나오지만 모든 콘텐츠가 아이에게 적합하다고 보장하지 않는다. 프로젝트는 구글, TV 제조사, 스트리밍 서비스와 제휴하지 않았다.
작품 정보와 사진, 이용 가능 여부는 TMDB에서 가져오며, TMDB API를 사용하지만 TMDB의 보증이나 인증을 받은 제품은 아니다. 작품 평가는 TypeSafe의 Jev, 날씨 정보는 Open-Meteo를 이용한다. MIT 라이선스는 LICENSE에 명시돼 있다. 제작자는 아이디어와 오픈소스 코드의 출처로 Free My TV를 언급한다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요