javascriptdrmeme

Is it possible to allow for offline playback without using the "persistent-license" type?


Using a browser compatible with Encrypted Media Extensions, is it possible to save any piece (or pieces) of data that allow for offline playback, without relying on the persistent-license type?

For example, if you could capture the response from the license server, could you re-use it, so long as the license has not expired?

Or does EME have something built-in to defeat this?

I've done some fooling around with a forked dash.js, using Widevine in Chrome, and I've tried to capture different externally-provided pieces, saving them to the disk, and injecting them back in later, but playback just stalls without throwing error messages, so I'm wondering if this is worth investing more time into, or if it just won't work by design.


Solution

  • EME is a standard mechanism for handling encrypted media, but the details of the individual DRM systems and the individual CDMs (content Decryption Modules) in the browsers are specific to different implementations.

    For all of them, though, by design, the simple answer to your question is that you need to use persistent licenses to support offline playback - anything else, as a rule, 'should' not work and if it did it would likely be a loophole that could be closed at any time so probably not a good basis for a solution.