W3C Publishes Tv Control API for the Web

W3, the World Wide Web consortium, is a consortium of companies and individuals who set the standards for the web. When HTML5.1 moves to HTML5.2, or JavaScript moves from ES5 to ES6, it is accepted by the members of this body and then it rolls out to users through browser updates. So they are often the ones that decide new features for the web and write the standards for how they’ll work.

One really interesting new set of APIs is the Tv Control API, published recently by the Tv Control Working Group. This is the first public working draft, meaning the first version that they’ve published. Now people can comment on the API design and specifications. After a few more revisions and drafts, it will be finalized and become a standard browser feature.

This specification defines an API for sourcing audio and video media, such as TV and radio from broadcast, IPTV, or other sources, with associated channel and program metadata, and allows presentation of the media using the <video> and <audio> HTML elements. The API is agnostic of any underlying audio or video sourcing technologies.

So what does this do? It essentially acts a lot like Android TV’s Live Channels app. It allows a web application to simply connect to a variety of different live content sources for playback and recording. It has some content restrictions built-in such as parental controls.

Similarly to the Live Channels app, there is a single TVManager which contains all of the tuners and recordings. A TVTuner can represent a real tuned signal, with an attribute for signal strength actually measured in dBm. A TVTuner can have a number of TVSource objects, which represent a single source of media for a single tuner.

A source can have a bunch of TVChannel objects. These channels have some general properties like name, number, and network id. It also has a few unusual attributes such as isEmergency to denote an emergency channel and isFree to denote free-to-watch channels. The emergency interface has a number of properties for rich emergency information such as a channel to learn more broadcasted information or a URL to visit to learn more.

The TVProgram interface just contains some general properties like start time, duration, description, and series.

Overall, you may find a lot of similarities to Android TV’s Tv Input Framework, and it’ll be interesting to see the applications that take advantage of this API. Will the web be able to fully take advantage of these APIs? Will there be drastic changes to the standard before being released? Will any browsers support it? It’s hard to say now, but we’ll definitely keep you up to date.

Nick Felker

Nick Felker

Nick Felker is a student Electrical & Computer Engineering student at Rowan University (C/O 2017) and the student IEEE webmaster. When he's not studying, he is a software developer for the web and Android (Felker Tech). He has several open source projects on GitHub (http://github.com/fleker) Devices: Moto G-2013 Moto G-2015, Moto 360, Google ADT-1, Nexus 7-2013 (x2), Lenovo Laptop, Custom Desktop. Although he was an intern at Google, the content of this blog is entirely independent and his own thoughts.

More Posts - Website

Follow Me:
TwitterLinkedInGoogle PlusReddit