-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
setProtectionData is ignored if MPD has multiple DRM systems #4649
Comments
I have not seen a test content with a commercial DRM like Widevine/Playready and Clearkey at the same time. It looks like Clearkey is not signaled in your MPD but only Widevine and Playready. Try adding Clearkey signaling to the MPD: <ContentProtection value="ClearKey1.0" schemeIdUri="urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e"></ContentProtection> |
Sadly I cannot edit the MPD file. This comes from a playlist provider. In fact I see a lot of playlist providers offer such channels. ClearKey seems to be a DRM system with a lot of variations. I saw a bunch of selection mechanics - ExoPlayer/Media3 for example checks if there is a attribute "cenc:default_KID" inside a ContentProtection tag and maps this one as clearkey system. |
What I don't really understand is why a provider would encrypt the content for usage with a "real" commercial DRM (Widevine, Playready) and then make the key transparent using Clearkey. Clearkey is not a real DRM system. It offers some very basic security, but the key is visible. This is not the case for commercial DRM systems like Widevine or Playready. Commercial providers such as Netflix etc will never use Clearkey to protect their content. That being said, what you can use as a workaround is the network interceptor that we introduced with dash.js v5: https://reference.dashif.org/dash.js/nightly/samples/network-interceptor/index.html. It allows you to modify the payload of a request prior to dash.js using it. That way you can add missing information to the MPD. |
I have a MPD file with this ContentProtection tags:
And because I have offline clearkey strings, I want to use them like this:
But somehow setProtectionData (and priority) is ignored and instead PlayReady is selected:
[1335658][ProtectionController] DRM: KeySystem Access Granted for system string (com.microsoft.playready)! Selecting key system...
This happens with latest stable (4.2.0) and master (5.0.0)
Any idea?
If I call this:
oDashApi.getProtectionController().getKeySystems();
.. the first item is always: "com.microsoft.playready"
The text was updated successfully, but these errors were encountered: