-
Notifications
You must be signed in to change notification settings - Fork 131
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 #1233
Comments
Hi, attempting access to above DASH manifests through the URLs you provide yields 403 HTTP status. |
I think you have to be in Sweden or use a VPN service simulating being in Sweden. |
Hi @stephanterning, I guess this is a new feature though it could be interesting, at least to better handle clear-key contents. It looks like we may (not sure!) need to do two things here:
Its specification (https://www.w3.org/TR/encrypted-media/#clear-key) mainly talk about a "Licence Request Format" and of a "License Format", which is nice but looks like browser matters, what would most likely interest us here is how to format what's called the "init data" that is communicated to the browser so it communicates back to us the "License Request Format" (though it can be known from the beginning here, but I don't think we're supposed to skip the Though the dash.js implementation here is clear (https://github.com/fraunhoferfokus/dash.js/blob/fbc786ae6177537a03820ef8326fddbe86dd1ba4/src/streaming/protection/drm/KeySystemClearKey.js#L82) and seems to indicate that it is roughly the same than the "Licence Request Format" (only it omitted the dash.js seems to do hex-> JS string (through As for the second part of that implementation which would be to rely on the license server URL found in the MPD, it doesn't look too hard either and could be communicated if found through a third So in conclusion, this is a new feature for the RxPlayer but it seems doable and standard enough to be integrated. |
I can confirm that parsing of dashif:laurl is broken. The code to iterate over prefixes was removed from CommonEncryption.js (Dash-Industry-Forum/dash.js#4406 - 6.Feb.2024). Specifically, it now uses contentProtection.laUrl != null to test for presence of a valid license-server url, which relies on the manifest parser to do case conversion to DashConstants.LA_URL in CodeProtection::init(). This isn't happening so dashif:laurl is not handled. The code discussed in Ticket Dash-Industry-Forum/dash.js#3343 is never executed now. See https://content.media24.link/Leaf/stream.mpd This patch fixed it for me: `--- a/src/dash/vo/ContentProtection.js
` |
In an effort to comply with some of our content providers requirements, one of our CDN providers are implementing clearkey with in-manifest laurl, which we plan to use to serve the content in question.
Unfortunately we are unable to make this work in RX Player. We have also tried in dash.js, and it works out of the box. Probably as a result of this ticket: Dash-Industry-Forum/dash.js#3343
Not sure if this is a bug ticket och a feature request. Is this supposed to work in RX Player?
URL CBCS: https://svt-secure-stage-a.akamaized.net/secure/svt2-dash-me/manifest.mpd
URL CENC: https://svt-secure-stage-a.akamaized.net/secure/svt2-dash-me/manifest.mpd?aka_dme_enc=cenc
The text was updated successfully, but these errors were encountered: