TV 입력 서비스 빌드
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
실시간 TV 프로그램과 기타 연속적인 채널 기반 콘텐츠를 시청하는 것은 TV 환경의 큰 부분을 차지합니다. 사용자들은 채널을 둘러보면서 TV 프로그램을 선택하고 시청하는 데 익숙합니다. TV 입력 프레임워크는 TV 프로그래밍 가이드에 동영상 또는 음악 콘텐츠를 게시하기 위한 채널을 만듭니다.
주의: TV 입력 프레임워크는 OEM이 Android 시스템 TV 앱 채널을 빌드하는 데 사용하도록 되어 있습니다. Android 5.0 (API 수준 21)에서 Android 7.1 (API 수준 25)까지만 지원됩니다. 서드 파티 앱은 Android TV 홈 화면 API를 사용하여 콘텐츠 채널을 빌드해야 합니다. 자세한 내용은 홈 화면의 콘텐츠 추천을 참고하세요.
TV 입력 프레임워크는 HDMI 포트 및 내장 튜너와 같은 하드웨어 소스와 인터넷을 통해 스트리밍되는 동영상과 같은 소프트웨어 소스에서 실시간 동영상 콘텐츠를 수신하고 재생하는 통합된 방법을 제공합니다.
이 프레임워크를 통해 개발자는 TV 입력 서비스를 구현하여 실시간 TV 입력 소스를 정의할 수 있습니다.
이 서비스는 TV 제공업체에 채널 및 프로그램 목록을 게시합니다. TV 기기의 실시간 TV 앱은 TV 서비스 제공업체에서 사용할 수 있는 채널 및 프로그램 목록을 가져와 사용자에게 표시합니다.
사용자가 특정 채널을 선택하면 실시간 TV 앱이 TV 입력 관리자를 통해 연결된 TV 입력 서비스의 세션을 만들고, 요청된 채널에 맞추고 TV 앱에서 제공하는 디스플레이 노출 영역에서 콘텐츠를 재생하도록 TV 입력 서비스에 지시합니다.
그림 1. TV 입력 프레임워크의 기능 다이어그램
TV 입력 프레임워크는 다양한 실시간 TV 입력 소스에 대한 액세스를 제공하고 사용자가 콘텐츠를 탐색하고 보고 즐길 수 있는 단일 사용자 인터페이스에 이들을 한데 모을 수 있도록 설계되었습니다.
콘텐츠를 위한 TV 입력 서비스를 빌드하면 TV 기기를 통해 콘텐츠에 더 쉽게 액세스할 수 있습니다.
자세한 내용은
TV 입력 서비스 샘플 앱을 확인하세요.
주제
- TV 입력 서비스 개발
- 시스템 TV 앱과 호환되는 TV 입력 서비스를 개발하는 방법을 알아봅니다.
- 채널 데이터 작업
- 시스템의 채널 및 프로그램 데이터를 설명하는 방법을 알아봅니다.
- TV 사용자 상호작용 관리
- 오버레이 표시, 콘텐츠 사용 가능 여부 관리, 콘텐츠 선택 처리 방법을 알아보세요.
- 타임 시프팅 지원
- TV 입력 서비스에서 타임 시프팅을 지원하는 방법을 알아봅니다.
- 콘텐츠 녹화 지원
- TV 입력 서비스에서 콘텐츠 녹화를 지원하는 방법을 알아봅니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[null,null,["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Build TV input services\n\nWatching live TV shows and other continuous, channel-based content is a big part of the TV\nexperience. Users are accustomed to selecting and watching shows on TV by channel browsing. The TV\nInput Framework creates channels for publishing video or music content in the TV programming\nguide.\n\n**Caution:** The TV Input Framework is meant to be used by OEMs to build\nchannels for the Android system TV app. It is supported in Android 5.0 (API level 21) through\nAndroid 7.1 (API level 25) only. Third-party apps should build channels for their content using\nthe Android TV home screen APIs. See [Recommend\ncontent on the home screen](/training/tv/discovery/recommendations) for details.\n\nThe TV Input Framework provides a unified method for the receiving and playback of live video content\nfrom hardware sources, such as HDMI ports and built-in-tuners, and software sources, such as video\nstreamed over the internet.\n\nThe\nframework lets developers define live TV input sources by implementing a TV input service.\nThis service publishes a list of channels and programs to the TV Provider. The live TV app on a TV\ndevice gets the list of available channels and programs from the TV Provider and displays them to a\nuser.\n\n\nWhen a user selects a specific channel, the live TV app creates a session for the associated\nTV input service through the TV Input Manager and tells the TV input service to tune to the\nrequested channel and play the content to a display surface provided by the TV app.\n\n\n**Figure 1.** Functional diagram of the TV Input Framework.\n\n\nThe TV Input Framework is designed to provide access to a wide variety of live TV input sources\nand bring them together in a single user interface where users can browse, view, and enjoy content.\nBuilding a TV input service for your content can help make it more accessible on TV devices.\n\n\nFor more details, check out the [TV Input Service](https://github.com/googlesamples/androidtv-sample-inputs) sample app.\n\nTopics\n------\n\n**[Develop a TV input service](/training/tv/tif/tvinput)**\n: Learn how to develop a TV input service that works with the system TV app.\n\n**[Work with channel data](/training/tv/tif/channel)**\n: Learn how to describe channel and program data for the system.\n\n**[Manage TV user interaction](/training/tv/tif/ui)**\n: Learn how to present overlays, manage content availability, and handle content selection.\n\n**[Support time-shifting](/training/tv/tif/time-shifting)**\n: Learn how to support time-shifting in your TV input service.\n\n**[Support content recording](/training/tv/tif/content-recording)**\n: Learn how to support content recording in your TV input service."]]