-
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
Support in-manifest LAURL for ClearKey playback #3343
Comments
Note, this is the old obsolete markup: Modern markup is Old markup has been superseded by new markup that is intended to apply to all DRM systems, not only clear key (which was shortcoming of old one - too specific to clear key). I am not aware of existing test content using the latest markup, unfortunately. |
@sandersaares One thing I saw when sending requests against the Axinom server. It looks like only POST requests are allowed: |
Oh no! Maybe there has been some unintentional config change that broke the license server CORS config. Ping @Heronyme @KristjanJ can you help? Edit: In case of blockers on Axinom side, the code is at https://github.com/Axinom/clearkey-server - you can self-host it easily enough somewhere. |
@dsilhavy - Marcelo has stood up a new test manifest and license server - it should work for the next 90 days https://dash-license.westus.cloudapp.azure.com/ClearKey_2160p/Manifest_ClearKey.mpd It contains the latest https://dash-license.westus.cloudapp.azure.com/AcquireLicense which is active and contains the correct CORS headers.
|
@sandersaares Should be fixed now, please confirm if behavior regarding OPTIONS requests is as needed. |
I have pushed a new branch : https://github.com/Dash-Industry-Forum/dash.js/tree/feature-clearkeyByServer Code Additions
Discussion items / Comments
|
Update: Branch has been updated to support CBCS encryption as well: 3a82ebb |
@wilaw The changes have been merged to the dev branch. Do you want to leave this issue open or should we close it and wait for additional feature requests in separate issues? |
Let's close as this is a nice addition for this release. Additional features (such as support for muliutple KID's) can be added via a future issue, once the DASH IF Content Protection TF has had some time to address the questions. |
A large CDN is planing to release a ClearKey Service for DASH, in which the segments would be encrypted dynamically as they leave the edge and the license acquisition URL would be inserted in to the manifest. This solution will not be as secure as full DRM, however it will provide more security than simply using access tokens to control clear segment access.
An example manifest is here [Note - this is not publicly accessible. Will update tomorrow with an accessible link]
https://sjc-lp3od.santaclara.corp.akamai.com/ME/DASH/ClearKey_2160p/Manifest_ClearKey.mpd
The relevant elements are
The player should remove the - from the the KID, convert the Hex to base64, strip out any == padding and then call the License server specified in the MPD laurl with the POST-based JSON request document specified in the https://www.w3.org/TR/encrypted-media/#clear-key-request-format 9.1.3 License Request Format:
{"kids":["nrQFDeRLSAKTLifXUIPiZg"],"type":"temporary"}
The server will respond with the JSON response specified in https://www.w3.org/TR/encrypted-media/#clear-key-license-format 9.1.4 License Format:
{"keys":[{"kty":"oct","k":"FmY0xnWCPCNaSpRG-tUuTQ","kid":"nrQFDeRLSAKTLifXUIPiZg"}],"type":"temporary"}
which the player can then use to proceed with EME decryption.
The text was updated successfully, but these errors were encountered: