Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Widevine persistence license on google chrome desktop #1599

Closed
sridhard opened this issue Sep 17, 2016 · 11 comments
Closed

Widevine persistence license on google chrome desktop #1599

sridhard opened this issue Sep 17, 2016 · 11 comments

Comments

@sridhard
Copy link

Hi,

We are using dashjs with widevine DRM on chrome desktop browser.
We want to use persistent-license for widevine DRM on chrome desktop browser.

I think chrome desktop browser does not support persistent license.
Does dashjs support persistent license on chrome desktop browser for widevine DRM?

@sandersaares
Copy link
Member

sandersaares commented Sep 19, 2016

dash.js communicates with the DRM functionality in the browser, as defined by the Encrypted Media Extensions specification. It is the browser that performs all DRM-related activities, with dash.js simply being the messenger that provides it DRM-relevant data as input.

Therefore, the usage of persistent licenses is up to the browser's DRM implementation. I agree with your statement that Chrome on desktop does not currently support persistent Widevine licenses. I am not aware of any workaround - it is not possible to use persistent licenses in Chrome desktop.

Note that browsers implementing PlayReady DRM (Edge and IE11) do support persistent licenses.

@bwidtmann
Copy link
Contributor

I think Chrome on ChromeOS also supports persistent licenses.

@danrossi
Copy link
Contributor

danrossi commented Oct 15, 2016

I'm just doing some research about this. Neither Chrome desktop of Android support the persistent license option in fact it triggers an error. It has to be set as temporary I believe.

I will create a ticket in regards to local playback support for offline usage preparing for persistence support.

@bwidtmann
Copy link
Contributor

I do not think that this is a missing feature. As Chrome Browser on Windows/Mac/Android is not Widevine L1 approved, I think it is more about security.

In my opinion the main use case for license persisting is downloading content for offline playback later on. As this is not a case for browsers, there is no need for implementing it right now.

@danrossi
Copy link
Contributor

@bwidtmann I have people asking about it, they've been insistent on offline support. Widevine Classic has a downloads and persistent license feature which I have implemented but that only works on older Safari and IE 11 now.

Although more so for Widevine Modular in ExoPlayer. There is no such thing out of the box there either. I have had to duplicate the session manager in exoplayer to flag offline persistence keys, where you have to store the returned key id to reload later. That works but there is no working caching or downloads feature either.

FairPlay v3 has just enabled downloads and persistent license support though.

@sandersaares
Copy link
Member

Downloading content for offline playback is actually supported by Shaka Player (I believe it saves in IndexedDB).

@danrossi
Copy link
Contributor

@sandersaares yes I mentioned above hence this ticket. It's parsing the manifest and downloading all content into an IndexedDB. But no persistent license support makes it useless. I believe it may be preparing for it.

@bwidtmann
Copy link
Contributor

that's interesting. I had always in my mind that browser datastores are limited to 4-5 Megabytes. So storing HD movies (3-4 Gigabytes) was quite unrealistic.

@danrossi you are right - in case the content provider needs to protect the content with DRM. I would love to see the DRM vendors extending their support for persistent license - good luck :-)

@danrossi
Copy link
Contributor

@bwidtmann sorry mate I made a separate ticket here

#1629

The guts of it is here

https://github.com/google/shaka-player/blob/master/lib/offline/storage.js

I heard something about FairPlay Dash for Netflix supports persistent keys. When they start offering it, it will be a "light" version with only online keys.

@jimmywarting
Copy link

jimmywarting commented Jun 6, 2017

I had always in my mind that browser datastores are limited to 4-5 Megabytes. So storing HD movies (3-4 Gigabytes) was quite unrealistic.

You are actually allowed to save much more (gigabits) you just have to ask for permission or use the temporary storage

Each app can have up to 20% of the shared pool. As an example, if the total available disk space is 60 GB, the shared pool is 20 GB, and the app can have up to 4 GB. This is calculated from 20% (up to 4 GB) of 1/3 (up to 20 GB) of the available disk space (60 GB).

So depending on how much available space you have the more you can use

ref: https://developer.chrome.com/apps/offline_storage

@epiclabsDASH
Copy link
Contributor

Closing issue. Persistent licenses are supported in dash.js thanks to PR #2451.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants