adaptive streaming and html5
play

Adaptive Streaming and HTML5 Mark Watson 8 February 2011 1 - PowerPoint PPT Presentation

Second W3C Web and TV workshop, 8-9 February 2011 Adaptive Streaming and HTML5 Mark Watson 8 February 2011 1 Ne5lix background (just one slide) SubscripBon service in US and


  1. Second W3C Web and TV workshop, 8-9 February 2011 Adaptive Streaming and HTML5 Mark ¡Watson ¡ 8 ¡February ¡2011 ¡ 1

  2. Ne5lix ¡background ¡ ¡ (just ¡one ¡slide) • SubscripBon ¡service ¡in ¡US ¡and ¡Canada ¡ • Internet ¡streaming ¡ and ¡DVD-­‑by-­‑mail ¡(US) ¡ • Movies ¡and ¡TV ¡shows ¡ • 20M ¡subscribers ¡ • Most ¡subscribers ¡mostly ¡stream ¡ • Ne5lix ¡traffic ¡is ¡20% ¡of ¡the ¡US ¡internet ¡at ¡ peak ¡viewing ¡ (Sandvine ¡report) ¡ • 200+ ¡Ne5lix-­‑enabled ¡devices ¡ – ~70% ¡viewing ¡on ¡CE ¡devices, ¡~30% ¡PC ¡& ¡Mac ¡ 2

  3. Ne5lix ¡& ¡standards ¡ • Today : ¡Ne5lix ¡SDK ¡integrated ¡into ¡each ¡Ne5lix-­‑ enabled ¡device ¡ – AdapBve ¡HTTP ¡streaming ¡ – Proprietary ¡control ¡protocols ¡ – Model-­‑by-­‑model ¡cerBficaBon ¡process ¡ • HTML5 ¡is ¡our ¡UI ¡pla5orm-­‑of-­‑choice ¡ – Freedom ¡to ¡innovate ¡is ¡important ¡for ¡us ¡ – UI ¡innovaBons ¡drive ¡usage ¡and ¡loyalty ¡ • Tomorrow : ¡HTML5 ¡adapBve ¡streaming ¡ – Removes ¡SDK ¡integraBon ¡and ¡cerBficaBon ¡expense ¡ – Expands ¡the ¡number ¡of ¡devices ¡that ¡can ¡support ¡our ¡ service ¡ 3

  4. AdapBve ¡streaming ¡components ¡ • AdapBve ¡streaming ¡model ¡and ¡manifest ¡ format ¡ – MPEG ¡DASH ¡meets ¡our ¡requirements ¡ – Basic ¡On-­‑Demand ¡profile ¡ • Unmuxed ¡A/V, ¡byte ¡range ¡requests, ¡fragmented ¡mp4 ¡ • HTML5 ¡integraBon ¡ – MulB-­‑track ¡adverBsement ¡and ¡selecBon ¡ • Audio/subBtle ¡languages, ¡accessibility ¡streams, ¡ director’s ¡commentary ¡etc. ¡ – Events ¡and ¡metrics ¡ – Support ¡for ¡protected ¡content ¡ 4

  5. Protected ¡content ¡ • Requirements ¡imposed ¡by ¡content ¡owners ¡ – Users ¡agree ¡(in ¡terms ¡of ¡service) ¡not ¡to ¡store ¡or ¡re-­‑ distribute ¡streamed ¡content ¡ – Make ¡it ¡technically ¡difficult ¡for ¡users ¡to ¡store ¡or ¡re-­‑ distribute ¡streamed ¡content ¡ • How ¡difficult ¡depends ¡on ¡“value” ¡of ¡content ¡(HD ¡vs ¡SD, ¡ Movies ¡vs ¡TV, ¡old ¡vs ¡new ¡…) ¡ • Technical ¡soluBons ¡ – Stored ¡and ¡transported ¡files ¡are ¡encrypted ¡ – Device ¡robustness ¡requirements ¡ – Secure ¡key ¡delivery ¡ 5

  6. Content ¡protecBon ¡funcBons ¡ • EncrypBon/DecrypBon ¡ Common solution • AuthenBcaBon ¡ • AuthorizaBon ¡ Should be service functions ! • Secure ¡key ¡exchange ¡ • Rights ¡expression ¡and ¡enforcement ¡ Primary focus of DRM 6

  7. Our ¡proposal ¡ • Standardize: ¡ – Common ¡encryp/on ¡ (done?) ¡ – Enablers ¡ for ¡Javascript ¡implementaBon ¡of ¡ secure ¡AuthenBcaBon/AuthorizaBon ¡protocols ¡ – Hooks ¡ for ¡integraBon ¡of ¡key ¡exchange/rights ¡ technologies ¡ • Don’t ¡standardize: ¡ – Specific ¡key ¡exchange/digital ¡rights ¡technology ¡ 7

  8. Advantages ¡ • Stays ¡clear ¡of ¡DRM ¡commercial ¡issues ¡ • Brings ¡“uncontroversial” ¡funcBons ¡into ¡the ¡open ¡ – EncrypBon ¡ – AuthenBcaBon, ¡authorizaBon ¡ • Narrows ¡the ¡scope ¡of ¡funcBons ¡sBll ¡within ¡the ¡ DRM ¡“black ¡box” ¡ • Enables ¡open ¡implementaBon ¡of ¡simple ¡ protecBon ¡schemes ¡ – E.g., ¡for ¡privacy ¡of ¡user’s ¡own ¡content, ¡key ¡could ¡be ¡ provided ¡directly ¡from ¡Javascript ¡to ¡video ¡element ¡ – Many ¡applicaBons ¡e.g. ¡privacy ¡for ¡user-­‑generated ¡ content ¡ 8

  9. System ¡Architecture ¡ ¡ (unprotected ¡content) Service Content guide etc. HTML/ User Interface back-end Javascript <video> element Browser Platform native code Web HTTP Adaptive Streaming servers Player 9

  10. Protected ¡content ¡ ¡ ( de ¡facto ¡ soluBon ¡with ¡today’s ¡standards) Service Content guide etc. User Interface back-end <video> element Browser Streaming Player Web HTTP servers DRM Decryption Proprietary protocol DRM server Authentication, Authorization, secure key delivery 10

  11. Protected ¡content ¡ ¡ (common ¡encrypBon) Service Content guide etc. User Interface back-end <video> element Browser Streaming Player Web HTTP servers DRM Decryption Keys Proprietary protocol DRM server Authentication, Authorization, secure key delivery 11

  12. Protected ¡content ¡proposal ¡ Content guide etc. Authentication, Service Authorization User Interface back-end Secure key delivery (tunnelled) <video> element DRM Browser server Adaptive Streaming Web HTTP Player servers DRM Decryption Keys 12

  13. Message ¡flow ¡ Client DRM Javascript Service DRM Server <video> load() Manifest retrieval Open video files Detect encrypted content Key request Key request Authentication/ authorization Key request Key request Key response Key response Key response Key response Establish decryption context Remove decryption context Key release Key release Key release Key release 13

  14. Possible ¡video ¡extensions ¡ New ¡events: ¡ interface KeyRequiredEvent : public Event { readonly attribute DOMString protectionScheme; readonly attribute DOMString keyRequest; }; interface KeyReleasedEvent : public Event { readonly attribute DOMString keyRelease; }; Add ¡to ¡video ¡element: ¡ attribute DOMString keyResponse; 14

  15. Secure ¡device ¡idenBficaBon ¡ • Services ¡need ¡to ¡authenBcate ¡ devices ¡ – AuthorizaBon ¡decisions ¡may ¡depend ¡on ¡device ¡type ¡ • E.g. ¡HD ¡content ¡is ¡not ¡available ¡on ¡devices ¡without ¡hardware ¡ security ¡for ¡the ¡media ¡pipeline ¡ – SubscripBon ¡plans ¡may ¡limit ¡number ¡of ¡devices ¡in ¡ concurrent ¡use ¡ • We ¡propose ¡a ¡new ¡Javascript ¡Device ¡API ¡for ¡ secure ¡device ¡idenBficaBon ¡ – Like ¡a ¡“secure ¡device ¡serial ¡number” ¡ – Privacy ¡requirements ¡similar ¡to ¡Geo-­‑locaBon ¡API ¡etc. ¡ 15

  16. Secure ¡device ¡idenBficaBon ¡API ¡ • Access ¡to ¡API ¡must ¡be ¡authorized ¡by ¡the ¡user ¡on ¡a ¡per-­‑domain ¡basis ¡ – Domain ¡must ¡be ¡authenBcated ¡before ¡giving ¡access ¡ • i.e. ¡hqps ¡or ¡signed ¡widget ¡ • Device ¡stores ¡keys ¡and ¡associated ¡idenBfiers ¡ – Keys ¡are ¡never ¡exposed ¡ – IdenBfiers ¡and ¡keys ¡that ¡are ¡visible ¡depend ¡on ¡the ¡domain ¡ – IdenBfiers ¡are ¡different ¡for ¡each ¡domain ¡ – Pre-­‑shared ¡keys ¡+ ¡public-­‑private ¡key ¡pairs ¡ – IdenBfiers ¡may ¡have ¡cerBficates ¡ • Device ¡performs ¡cryptographic ¡operaBons ¡on ¡request ¡ – Generate ¡a ¡Message ¡AuthenBcaBon ¡Code ¡for ¡a ¡provided ¡message ¡ – Verify ¡a ¡Message ¡AuthenBcaBon ¡Code ¡ ¡ – Wrap/unwrap ¡one ¡key ¡using ¡another ¡ – Encrypt/decrypt ¡messages ¡ 16

  17. Protected ¡content ¡summary ¡ • Content ¡protecBon ¡is ¡essenBal ¡for ¡some ¡ businesses ¡ • Should ¡be ¡simplified ¡for ¡the ¡web ¡ – Common ¡encrypBon ¡ – AuthenBcaBon ¡and ¡AuthorizaBon ¡moved ¡from ¡DRM ¡to ¡ the ¡service ¡layer ¡ • Uncontroversial ¡technology. ¡Should ¡be ¡service-­‑specific. ¡ – Transparent ¡tunneling ¡of ¡proprietary ¡key ¡exchange ¡ protocols ¡ • Secure ¡device ¡idenBficaBon ¡is ¡integral ¡to ¡ authorizaBon ¡decisions ¡ – New ¡Javascript ¡Device ¡API ¡? ¡ 17

  18. QuesBons ¡? ¡ 18

Recommend


More recommend