htmlencryptionmediadrmeme

How to use HTML5's Encrypted Media Extension without video


OK - so I understand that the Encrypted Media Extensions (EME) is all about video decrypting for the developer. My understanding is that EME detects when encryption is present, gets the appropriate key (with license) decrypts the content and passes it to the correct codec for rendering.

Now - looking in a bit more detail; from this good intro article on google developers, and am trying to see if I can adapt the EME engine to use for streaming of non-video content.

The challenege I'm looking into is to encrypt some static content in a way where EME can handle the keys for me, and the decryption for me.

I'm hoping that EME is generic enough that I can hook into call-backs to serve more static content - encrypted - to the browser (since the standard only dictates interfaces of the key system, the CDM, License Server, and Packaging Service). The question is how would I go about doing this?

I'm sure that we must have our own packaging service. But now the question extends to these details: -

Well - that's it in a nutshell; any advice or enlightenment is welcome.


Solution

  • As Artjom says your questions are a bit wide but some quick pointers:

    The license server is generally associated with the CDM and both are proprietary and definitely video focused. So if you use Chrome and Widevine CDM then you have to use Widevine license server.

    As above, the CDM is tied closely to the license server and is generally designed around media playback. If you use one of the existing ones then it will be expecting to be given an audio/video file to play and a key. Unless you can pack your data in a video it does not sound like a good match for your needs.

    The codec is just a part of the media pipeline - if it really is possible to represent your data in a video, for example by simply having 'pictures' of the data, then it would be much easier to use an existing codec.