-
Notifications
You must be signed in to change notification settings - Fork 9
Add DASH-IF Certurl support #278
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
Conversation
Add DASH-IF Certurl support and test for CPIX-based DRM configuration that verifies LaURL and CertificateURL are properly inserted into MPD manifests for Widevine, PlayReady, and FairPlay systems. Changes: - Added TestParamToMPD test case for CPIX-based DRM with all three DRM systems - Extended pkg/drm/drm_test.go to verify CertificateURL population for all DRM systems (Widevine has empty, PlayReady and FairPlay have values) - Updated cpix_1key_cbcs_test.xml with all three DRM system IDs - Created DRM configuration file for app testdata - Fixed CertURL field reference in livempd.go (should be CertificateURL)
|
@tobbee Any update? I'd like to see it merged into livesim2 soon.. Thanks! |
|
@avelad The main thing I'm unsure about is whether FairPlay will work. Can it be tested with Shaka-player? |
Yes, you can test it on Shaka Player |
|
I merged this PR and tried to configure everything on my test instance at https://192-46-234-23.ip.linodeusercontent.com includes the following ContentProtection info for FairPlay <ContentProtection schemeIdUri="urn:uuid:94ce86fb-07ff-4f43-adb8-93d2fa968ca2" value="Fairplay">
<dashif:Laurl xmlns:dashif="https://dashif.org/CPS" licenseType="EME-1.0">https://fps.ezdrm.com/api/licenses/auth?px=F5926B&assetID=312e3362-3410-469a-b536-b9c9d0cafc31</dashif:Laurl>
</ContentProtection>but this does not seem to enough for shaka-player to play. Is there something else needed? |
Missing Certurl :D You only includes Laurl.... |
|
Ooh. That was embarrassing 🫢. I didn't run the latest version with including this fix. After rebuild, I now have <ContentProtection schemeIdUri="urn:uuid:94ce86fb-07ff-4f43-adb8-93d2fa968ca2" value="Fairplay">
<dashif:Laurl xmlns:dashif="https://dashif.org/CPS" licenseType="EME-1.0">https://fps.ezdrm.com/api/licenses/auth?px=F5926B&assetID=312e3362-3410-469a-b536-b9c9d0cafc31</dashif:Laurl>
<dashif:Certurl xmlns:dashif="https://dashif.org/CPS">https://na-fps.ezdrm.com/demo/video/eleisure.cer</dashif:Certurl>
</ContentProtection>Just trying with "custom content"with the online demo of v4.16.10 at https://shaka-player-demo.appspot.com/demo/ it still does not play in Safari, although the unencrypted version does. I did manage to get content running in Safari with this EZDRM URL and key setup a long time ago, although that was with a proprietary MSE+EME player, so I may need to double-check that again. @avelad did you manage to run with FairPlay with some other content? |
|
@tobbee I found an issue in Shaka: shaka-project/shaka-player#9436 but after fixing it, I get "Media failed to decode" and this isn't related to Shaka... I'm checking working HLS streams and comparing segments, and I see that the BTRT box isn't included in LiveSim2. I don't know if this is related... |
|
@avelad Thanks for the feedback. When I, or rather a colleague, got MSE+EME working with Safari a long time ago, we did not have an BTRT box, so that shouldn't be the issue. I've got limited time, but I hope to get the old system working again so that I can check the exact MSE+EME calls being made there. |

Add DASH-IF Certurl support and test for CPIX-based DRM configuration that verifies LaURL and CertificateURL are properly inserted into MPD manifests for Widevine, PlayReady, and FairPlay systems.
Changes:
Implements #256 and #264.