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

adaptive streaming and html5
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1

Mark ¡Watson ¡ 8 ¡February ¡2011 ¡

Adaptive Streaming and HTML5

Second W3C Web and TV workshop, 8-9 February 2011

slide-2
SLIDE 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

slide-3
SLIDE 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

slide-4
SLIDE 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

slide-5
SLIDE 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

slide-6
SLIDE 6

Should be service functions!

Common solution Primary focus of DRM

Content ¡protecBon ¡funcBons ¡

  • EncrypBon/DecrypBon ¡
  • AuthenBcaBon ¡
  • AuthorizaBon ¡
  • Secure ¡key ¡exchange ¡
  • Rights ¡expression ¡and ¡enforcement ¡

6

slide-7
SLIDE 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

slide-8
SLIDE 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

slide-9
SLIDE 9

System ¡Architecture ¡

(unprotected ¡content)

¡

9

Browser Adaptive Streaming Player User Interface Service back-end

Content guide etc.

Web servers

HTTP

HTML/ Javascript

<video> element

Platform native code

slide-10
SLIDE 10

Protected ¡content ¡

(de ¡facto ¡soluBon ¡with ¡today’s ¡standards)

¡

10

Browser Streaming Player User Interface Service back-end

Content guide etc.

Web servers

HTTP

<video> element

DRM

DRM server

Proprietary protocol

Authentication, Authorization, secure key delivery Decryption

slide-11
SLIDE 11

Protected ¡content ¡

(common ¡encrypBon)

¡

11

Browser Streaming Player User Interface Service back-end

Content guide etc.

Web servers

HTTP

<video> element

DRM

DRM server

Proprietary protocol

Authentication, Authorization, secure key delivery

Decryption

Keys

slide-12
SLIDE 12

Protected ¡content ¡proposal ¡

12

Browser Adaptive Streaming Player User Interface Service back-end

Content guide etc. Authentication, Authorization

Web servers

HTTP

<video> element

DRM server

Secure key delivery (tunnelled)

DRM

Decryption

Keys

slide-13
SLIDE 13

Message ¡flow ¡

13

Client DRM <video> Javascript Service DRM Server

Authentication/ authorization Key request Key request Key request Key request Open video files

Detect encrypted content

Key response Key response Key response Key response

Establish decryption context

Manifest retrieval load()

Remove decryption context

Key release Key release Key release Key release

slide-14
SLIDE 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

slide-15
SLIDE 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

slide-16
SLIDE 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

slide-17
SLIDE 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

slide-18
SLIDE 18

QuesBons ¡? ¡

18