Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Transcript of Adaptive Streaming and HTML5 - World Wide Web Consortium

Page 1: Adaptive Streaming and HTML5 - World Wide Web Consortium

1

Mark  Watson  

8  February  2011  

Adaptive Streaming and HTML5

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

Page 2: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 3: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 4: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 5: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 6: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 7: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 8: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 9: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 10: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 11: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 12: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 13: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 14: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 15: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 16: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 17: Adaptive Streaming and HTML5 - World Wide Web Consortium

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

Page 18: Adaptive Streaming and HTML5 - World Wide Web Consortium

QuesBons  ?  

18