shaka-player icon indicating copy to clipboard operation
shaka-player copied to clipboard

CBCS encryption + key rotation fails on Firefox

Open ashish157 opened this issue 2 years ago • 5 comments

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

ashish157 avatar Sep 19 '21 17:09 ashish157

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.

TheModMaker avatar Sep 20 '21 22:09 TheModMaker

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

ashish157 avatar Sep 21 '21 06:09 ashish157

Appears to be confirmed by Mozilla as a bug on their end. I'm going to move this to "external".

joeyparrish avatar Sep 29 '21 18:09 joeyparrish

https://bugzilla.mozilla.org/show_bug.cgi?id=1731727 is still open, and I can still reproduce the issue in FF 100.

joeyparrish avatar May 24 '22 18:05 joeyparrish

I can still reproduce the issue in FF 119.

avelad avatar Nov 06 '23 15:11 avelad

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.

avelad avatar Apr 23 '24 14:04 avelad