59
Connected Labs A Declarative Approach to BroadCast TV Jean-Charles Verdié Senior Director Connected Technologies MStar Semiconductor, Inc.

A Declarative Approach to BroadCast TV - W3

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Declarative Approach to BroadCast TV - W3

Connected Labs

A Declarative Approach to BroadCast TV

Jean-Charles VerdiéSenior Director Connected Technologies

MStar Semiconductor, Inc.

Page 2: A Declarative Approach to BroadCast TV - W3

Connected LabsConnected Labs

Identifying value

Page 3: A Declarative Approach to BroadCast TV - W3

Connected LabsConnected Labs

Identifying value

• More and more web-based technologies for UI and OTT

Page 4: A Declarative Approach to BroadCast TV - W3

Connected LabsConnected Labs

Identifying value

• More and more web-based technologies for UI and OTT

• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects

Page 5: A Declarative Approach to BroadCast TV - W3

Connected LabsConnected Labs

Identifying value

• More and more web-based technologies for UI and OTT

• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects

Page 6: A Declarative Approach to BroadCast TV - W3

Connected LabsConnected Labs

Identifying value

• More and more web-based technologies for UI and OTT

• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects

• Presentation engine become procedural-driven

Page 7: A Declarative Approach to BroadCast TV - W3

Connected LabsConnected Labs

Identifying value

• More and more web-based technologies for UI and OTT

• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects

• Presentation engine become procedural-driven ... To handle a declarative list of channels

Page 8: A Declarative Approach to BroadCast TV - W3

Connected LabsConnected Labs

Identifying value

• More and more web-based technologies for UI and OTT

• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects

• Presentation engine become procedural-driven ... To handle a declarative list of channels

Page 9: A Declarative Approach to BroadCast TV - W3

Connected LabsConnected Labs

Identifying value

• More and more web-based technologies for UI and OTT

• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects

• Presentation engine become procedural-driven ... To handle a declarative list of channels

• More programmatic effort to achieve on the web application side

Page 10: A Declarative Approach to BroadCast TV - W3

Connected LabsConnected Labs

Identifying value

• More and more web-based technologies for UI and OTT

• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects

• Presentation engine become procedural-driven ... To handle a declarative list of channels

• More programmatic effort to achieve on the web application side• Increase communication & binding constraints between JavaScript

object / plugin and middleware

Page 11: A Declarative Approach to BroadCast TV - W3

Connected Labs

We won’t talk about

Page 12: A Declarative Approach to BroadCast TV - W3

Connected Labs

We won’t talk about

• How to trigger a tune or scan from web apps

Page 13: A Declarative Approach to BroadCast TV - W3

Connected Labs

We won’t talk about

• How to trigger a tune or scan from web apps

• OIPF (and others) address this

Page 14: A Declarative Approach to BroadCast TV - W3

Connected Labs

We won’t talk about

• How to trigger a tune or scan from web apps

• OIPF (and others) address this

• How to handle TV control (hue, brightness, ...)

Page 15: A Declarative Approach to BroadCast TV - W3

Connected Labs

We won’t talk about

• How to trigger a tune or scan from web apps

• OIPF (and others) address this

• How to handle TV control (hue, brightness, ...)

• How to handle DRM, CA, CI+,...

Page 16: A Declarative Approach to BroadCast TV - W3

Connected Labs

We’ll talk about

Page 17: A Declarative Approach to BroadCast TV - W3

Connected Labs

We’ll talk about

• How Channel list is handled by the industry right now

Page 18: A Declarative Approach to BroadCast TV - W3

Connected Labs

We’ll talk about

• How Channel list is handled by the industry right now

• Javascript interaction with some database which has been populated by the middleware

Page 19: A Declarative Approach to BroadCast TV - W3

Connected Labs

We’ll talk about

• How Channel list is handled by the industry right now

• Javascript interaction with some database which has been populated by the middleware

• Updates & Controls are quite a mess, require some event handling on both sides

Page 20: A Declarative Approach to BroadCast TV - W3

Connected Labs

We’ll talk about

• How Channel list is handled by the industry right now

• Javascript interaction with some database which has been populated by the middleware

• Updates & Controls are quite a mess, require some event handling on both sides

• Wait...

Page 21: A Declarative Approach to BroadCast TV - W3

Connected Labs

We’ll talk about

• How Channel list is handled by the industry right now

• Javascript interaction with some database which has been populated by the middleware

• Updates & Controls are quite a mess, require some event handling on both sides

• Wait...

• Isn’t XML aimed to store such information?

Page 22: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

Page 23: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

• Decouple data storage and access from its construction and processing

Page 24: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content

Page 25: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

Page 26: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

• Allow DOM-Level interaction with these objects, such as:

Page 27: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

• Allow DOM-Level interaction with these objects, such as:• Next/previous program

Page 28: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

• Allow DOM-Level interaction with these objects, such as:• Next/previous program• favorite management

Page 29: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

• Allow DOM-Level interaction with these objects, such as:• Next/previous program• favorite management• EPG access

Page 30: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

• Allow DOM-Level interaction with these objects, such as:• Next/previous program• favorite management• EPG access

Page 31: A Declarative Approach to BroadCast TV - W3

Connected Labs

Our proposal

• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

• Allow DOM-Level interaction with these objects, such as:• Next/previous program• favorite management• EPG access

• Create an obvious and ubiquitous way to integrate data from heterogeneous sources such as DVB, ATSC, IP & others, handling all of them under the same paradigm.

Page 32: A Declarative Approach to BroadCast TV - W3

Connected Labs

What it could look like

Page 33: A Declarative Approach to BroadCast TV - W3

Connected Labs

Name spaces declaration

Engine parsers should understand that type of page as an informational page for tv

<?xml version="1.0"?><webtv xmlns='http://www.w3.org/2011/webtv'          xmlns:dvb='http://www.w3.org/2011/webtvdvb'          xmlns:iptv='http://www.w3.org/2011/webtviptv'>

</webtv>

Page 34: A Declarative Approach to BroadCast TV - W3

Connected Labs

An hard-coded example of channels*

<html xmlns='http://www.w3.org/2011/webtv'      xmlns:dvb='http://www.w3.org/2011/webtvdvb'      xmlns:iptv='http://www.w3.org/2011/webtviptv'><body> <webtv>  <dvb:channel id='chann1'>              <name>ABC</name>              <dvb:source>onid,pid,sid</dvb:source>              <dvb:ait>                    <application>http://wwww.appToLaunch.com </application>                    <state>signalled</state>               </dvb:ait>    </dvb:channel>

    <iptv:virtualChannel id='chann2'>

<name>ZDF</name> <iptv:channel id=‘chann2hd’>              <iptv:source>http://www.zdf.com/streamingSD/video.m3u</iptv:source> </iptv:channel>

<iptv:channel id=‘chann2sd’>              <iptv:source>http://www.zdf.com/streamingSD/video.m3u</iptv:source> </iptv:channel> </iptv:virtualChannel>

</webtv>

</body></html>

* don’t do that

Page 35: A Declarative Approach to BroadCast TV - W3

Connected Labs

An hard-coded example of channels*

* don’t do that

  <dvb:channel id='chann1'>              <name>ABC</name>              <dvb:source>onid,pid,sid</dvb:source>              <dvb:ait>                    <application>http://wwww.appToLaunch.com </application>                    <state>signalled</state>               </dvb:ait>    </dvb:channel>

    <iptv:virtualChannel id='chann2'>

<name>ZDF</name> <iptv:channel id=‘chann2hd’>              <iptv:source>http://.../streamingSD/video.m3u</iptv:source> </iptv:channel>

<iptv:channel id=‘chann2sd’>              <iptv:source>http://.../streamingSD/video.m3u</iptv:source> </iptv:channel> </iptv:virtualChannel>

Page 36: A Declarative Approach to BroadCast TV - W3

Connected Labs

WebTV Object

Page 37: A Declarative Approach to BroadCast TV - W3

Connected Labs

WebTV Object

• Of course, in real life, WebTV object is not hard coded

Page 38: A Declarative Approach to BroadCast TV - W3

Connected Labs

WebTV Object

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

Page 39: A Declarative Approach to BroadCast TV - W3

Connected Labs

WebTV Object

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

Page 40: A Declarative Approach to BroadCast TV - W3

Connected Labs

WebTV Object

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)

Page 41: A Declarative Approach to BroadCast TV - W3

Connected Labs

WebTV Object

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)

• Control & integration is just about manipulation of a DOM object

Page 42: A Declarative Approach to BroadCast TV - W3

Connected Labs

WebTV Object

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)

• Control & integration is just about manipulation of a DOM object

• JSON for deeper control

Page 43: A Declarative Approach to BroadCast TV - W3

Connected Labs

WebTV Object

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)

• Control & integration is just about manipulation of a DOM object

• JSON for deeper control

• And smart people will extend it where they see fit

Page 44: A Declarative Approach to BroadCast TV - W3

Connected Labs

How to play

<html  xmlns='http://www.w3.org/2011/webtv'       xmlns:dvb='http://www.w3.org/2011/webtvdvb'       xmlns:iptv='http://www.w3.org/2011/webtviptv'>

<body>  <div class="video">    <video>

<source="#WebTVObject" type="video/x-webtv"><div class="panel"></div>

</video></div>

</body></html>

Page 45: A Declarative Approach to BroadCast TV - W3

Connected Labs

Example of a LCN/Virtual Channel

    <video><source="#WebTVObject" type="video/x-webtv">

<track kind="broadcast_hd" src="chann1HD"> <track kind="broadcast_sd" src="chann1SD"> <track kind="subtitles" src="chann1subtitle">

 <div class="panel"></div>

</video>

Page 46: A Declarative Approach to BroadCast TV - W3

Connected Labs

Video object

Attribute Description in our specific case

*channelTuning onid, pid, sid triplet or equivalent

*aitTable AIT Table information (DVB specific)

*EPGInformationObject In case an EPG data has been linked with the dvb:channel object, or with an higher level, it will also be made available to the panel class for display & processing purpose

*eitObject Object including informations retrieved from the eit (DVB specific)

Page 47: A Declarative Approach to BroadCast TV - W3

Connected Labs

Attribute Description in our specific case

readyState yes or no

seeking N/A if channel is viewed live (it could be used in PVR mode, still to be determined)

currentTime

startTime N/A (PVR)

duration

paused N/A (PVR)

Video object

Page 48: A Declarative Approach to BroadCast TV - W3

Connected Labs

Attribute Description in our specific casedefaultPlaybackRate N/A (PVR)playbackRate N/A (PVR)TimeRange playedTimeRange seekableended N/A

Video object

Page 49: A Declarative Approach to BroadCast TV - W3

Connected Labs

Attribute Description in our specific caseautoplay trueloop N/Aplay N/A (PVR)pause N/A (PVR)controls enhanced panel with specific channel managements

controls (program +/-, …)volumemuted

Video object

Page 50: A Declarative Approach to BroadCast TV - W3

Connected Labs

Conclusion

Page 51: A Declarative Approach to BroadCast TV - W3

Connected Labs

Conclusion

• Of course, in real life, WebTV object is not hard coded

Page 52: A Declarative Approach to BroadCast TV - W3

Connected Labs

Conclusion

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

Page 53: A Declarative Approach to BroadCast TV - W3

Connected Labs

Conclusion

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

Page 54: A Declarative Approach to BroadCast TV - W3

Connected Labs

Conclusion

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)

Page 55: A Declarative Approach to BroadCast TV - W3

Connected Labs

Conclusion

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)

• Control & integration is just about manipulation of a DOM object

Page 56: A Declarative Approach to BroadCast TV - W3

Connected Labs

Conclusion

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)

• Control & integration is just about manipulation of a DOM object

• JSON for deeper control

Page 57: A Declarative Approach to BroadCast TV - W3

Connected Labs

Conclusion

• Of course, in real life, WebTV object is not hard coded

• It will require tight integration with Middleware to populate it

• Integration with native tuner & scan API (out of scope here)

• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)

• Control & integration is just about manipulation of a DOM object

• JSON for deeper control

• And smart people will extend it where they see fit

Page 58: A Declarative Approach to BroadCast TV - W3

Connected Labs

Page 59: A Declarative Approach to BroadCast TV - W3

Connected Labs

Thank you