Skip to content

Proposed Clearkey DRM Support

Vinay Rosenberg requested to merge github/fork/cablelabs/clearkey into development

Created by: greg80303

I have developed a KeySystem implementation that will allow the playback of ClearKey DRM protected content. ClearKey support is mandated by the W3C Encrypted Media Extensions specification, however it does not define anything except the format of the message that should be passed to add keys to a session. Specifically, it does not define an initialization data format so that the application would know how to retrieve the keys.

I have developed a new PSSH box definition that allows the decryption keys to be retrieved from:

  • The content itself (in the PSSH)
  • A remote server using a simple URL with query string arguments

The PSSH format is documented in KeySystem_ClearKey.js (requestClearKeyLicense() function). I will be posting some encrypted test content in a few days that will support this form of ClearKey decryption.

I also have a very simple test server (written in Node.js) that would support the retrieval of clear keys over http/https. The server code can be found here.

I also have an open source encryption tool chain that will allow you to create your own ClearKey-encrypted content using this format. However, the documentation for the tools is not up-to-date. If you would like to try creating your own content and you are having trouble using the tools, please feel free to email me.

Merge request reports