shaka-player
shaka-player copied to clipboard
CBCS encryption + key rotation fails on Firefox
Have you read the FAQ and checked for duplicate open issues? yes
What version of Shaka Player are you using? 3.3.0-pre
Can you reproduce the issue with our latest release version? yes
Can you reproduce the issue with the latest code from master
?
yes
Are you using the demo app or your own custom app? demo app
If custom app, can you reproduce the issue using our demo app?
What browser and OS are you using? firefox on Ubuntu 18.04.5 LTS
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?
What configuration are you using? What is the output of player.getConfiguration()
?
Using all default settings of the demo app
What did you do?
Using shaka-packager command below I created a 5 mins VoD asset:
packager in=police_academy-5mins.mp4,stream=video,init_segment=cbcs2/init.mp4,segment_template=cbcs2/output\$Number\$.m4s,drm_label=SD --protection_scheme cbcs --crypto_period_duration 10 --enable_widevine_encryption --key_server_url https://license.uat.widevine.com/cenc/getcontentkey/widevine_test --content_id 706f6c6963655f61636164656d792d356d696e73 --signer widevine_test --aes_signing_key 1ae8ccd0e7985cc0b6203a55855a1034afc252980e970ca90e5202689f947ab9 --aes_signing_iv d58ce954203b7c9a9a9d467f59839249 --protection_systems Widevine --generate_static_live_mpd --mpd_output cbcs2/stream.mpd
As you can see I used --protection_scheme cbcs
and --crypto_period_duration
to create a cbcs
protected content with key rotation. The asset is created without any issues.
What did you expect to happen? The playback should work properly till the end.
What actually happened?
The playback works initially but somehow happens to stop exactly at the 9th second mark and then stalls forever. The console logs keeps on printing below even after clicking pause:
(video:1) buffering goal met streaming_engine.js:1013:17 (video:1) updating in 0.5 seconds streaming_engine.js:1855:15 (video:1) timeNeeded=22 streaming_engine.js:968:15
Also to note that for the same asset if I used cenc
protection scheme (use same exact command above with listed parameters and just changing protection_scheme
) the playback works without any issues.
Playback URL: https://raw.githubusercontent.com/ashish157/testdata/main/stream.mpd Widevine License URL: https://widevine-proxy.appspot.com/proxy
It works fine for me on Chrome, so it probably isn't a problem with Widevine or the player. This is right after the clear lead and I'm seeing a waitingforkey
event. My guess is this is a Firefox bug or they don't support the cbcs
encryption scheme. There is an API to query support, but I don't think we use it yet. You could try filing a bug with Firefox.
Hi @TheModMaker Thanks, Yes they support cbcs
protection scheme. The playback works fine without key-rotation. Is there any workaround or setting in the shaka-player that can handle this case ?
I have filed a bug with firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1731727
Appears to be confirmed by Mozilla as a bug on their end. I'm going to move this to "external".
https://bugzilla.mozilla.org/show_bug.cgi?id=1731727 is still open, and I can still reproduce the issue in FF 100.
I can still reproduce the issue in FF 119.
The issue has been open for 3 years at https://bugzilla.mozilla.org/show_bug.cgi?id=1731727, I doubt if it will ever be resolved. Since it is a browser problem and not Shaka, I close the issue.