MPTF/MPTF Discussions/Content protection proposals

From Web and TV IG

Content Protection API

Use case: Reference the MPTF accepted use cases

Requirements: List the solution requirements here.

Possible solutions:

(1) Source element type attribute and type specific parameters

Use the source element type attribute to identify the content protection application type. Use application type specific attributes to pass content protection and other playback parameters to the user agent.

<video width="1920" height="1080" controls>
  <source src="video.mp4" type="video/mp4">
  <source src="video.webm" type="video/webm">
  <source src="video.mp4" type="application/x-vendor-player" x-vendor-player="player.ext", x-vendor-allowfullscreen="true">
</video>

More verbose description here

Advantages:

  1. +

Disadvantages:

  1. -

(2) Source element type attribute and param element cildren

Use the source element type attribute to identify the content protection application type. Use children param elements to pass content protection and other playback parameters to the user agent.

<video id="movie" width="320" height="240" controls> 
  <source src="video.webm" type="video/webm"/>
  <source src="video.ism/Manifest" type="application/x-smooth-streaming"/>
  <source src="video.mp4" type=application/x-vendor-player>
     <param name="player" value="player.ext">
     <param name="allowfullscreen" value="true">
  </source>
</video>

More verbose description here

Advantages:

  1. +

Disadvantages:

  1. -

(3) Source element type attribute and MIME type parameter

Use the source element type attribute to identify the content protection application type. Use type-specific MIME type parameters to pass content protection and other playback parameters to the user agent.

<video id="movie" width="320" height="240" controls> 
  <source src="video.webm" type="video/webm"/>
  <source src="video.ism/Manifest" type="application/x-smooth-streaming"/>
  <source src="video.mp4" type='application/x-vendor-player; playervars="player=player.ext, allowfullscreen=true"'>
</video>


More verbose description here

Advantages:

  1. +

Disadvantages:

  1. -

(4) Common encryption and multiple DRMs

Use common encryption supported by all user agents and a set of DRMs, one of which a UA must support to playback protected content.

<video id="movie" width="320" height="240" controls> 
  <source src="video.webm" type="video/webm"/>
  <source src="video.ism/Manifest" type="application/x-smooth-streaming"/>
  <source src="video.xxx-manifest" type='application/xxx+xml; profiles=uri:...:...'/>
</video>

More verbose description here

Advantages:

  1. +

Disadvantages:

  1. -