Changes

Jump to: navigation, search

WebAPI/TVAPI

3,449 bytes added, 08:22, 17 March 2015
Created page with "= TV API Specification = == Goals == TV Manager API enables the development of web-based applications to acquire the information from service providers as well as to manage t..."
= TV API Specification =

== Goals ==
TV Manager API enables the development of web-based applications to acquire the information from service providers as well as to manage the native TV hardwares (i.e., tuners). The capability includes:

* control and switch the TV sourcing based on channel identifiers
* provide EPG type of information, including the list of TV programs and related information
* interact with TV platform for presenting the TV program and other supplemental content appropriately
* overlay the channels and supplemental information in a hybrid broadcast/broadband environment

== Status ==
* See {{bug|980768}} for overall TV support.
* See {{bug|998872}} for the implementation of TV Manager API.

== Contributors ==
Sean Lin, Gene Lian, and Gary (PoYu) Chen.

== Features ==
TV Manager API supports the following features.

=== Tuner, channel, and program management ===
* The web content is able to know the number of tuners on the device, and the broadcasting types (DVB-T, DVB-S, etc.) supported by each of them.
* The TV tuner, which may have its own scanning algorithm provided by the vendor, can scan broadcasting channels. The scanning status and the information of discovered channels are exposed to the web content.
* The web content is able to control/select TV channels with the tuner on the device.
* The web content is able to receive the information of Electronic Program Guide (EPG) as well as the dynamic updates provided by broadcasters/service providers.
* A TV program may have multiple video/audio tracks in the same broadcasting stream.
* The web content may realize some flexible applications by manipulating multiple tuners. For example, it may only consume one tuner for watching and recording a given channel at the same time. Yet when it comes to switch to another channel to watch, in order not to affect the original recording task against the tuner, the app may take another tuner, if resource permitted, to do so.

=== Stream management ===
* The web content may play the broadcasting stream content while browsing through the list of other currently broadcasted programs.
* The web content is able to suffice the scenarios of concurrently displaying multiple streams (i.e. Picture-in-Picture).
* This API utilizes [http://www.w3.org/TR/mediacapture-streams/#mediastream MediaStream] interface in [http://www.w3.org/TR/mediacapture-streams/ Media Capture and Streams API] for streaming management. And the streaming content can be played with HTML5 ''<video>'' element by assigning the media stream to [http://www.w3.org/TR/mediacapture-streams/#direct-assignment-to-media-elements HTMLMediaElement].

=== Emergency alert ===
* The web content can receive emergency announcements for earthquake, tsunami, etc.

=== Extended use cases ===
* For recording, this API may be allied with [http://www.w3.org/TR/mediastream-recording/#idl-def-MediaRecorder MediaRecorder] interface in [http://www.w3.org/TR/mediastream-recording/ MediaStream Recording API].

== DOM API ==
Please see [http://seanyhlin.github.io/TV-Manager-API/ TV Manager API] for spec details.

== Examples ==


== Reference ==
* [http://seanyhlin.github.io/TV-Manager-API/ TV Manager API]
* [http://www.w3.org/TR/html5/embedded-content-0.html#the-video-element HTML5 video element]
* [http://www.w3.org/TR/mediacapture-streams/ Media Capture and Streams API]
* [http://www.w3.org/TR/mediastream-recording/ MediaStream Recording API]
Confirm
16
edits

Navigation menu