Closed loicraux closed 10 months ago
I'd say this is a shaka-player issue, since the Widevine requests themselves are successful. I'd guess the mapping between the Widevine session-id and the content is lost somewhere along the way, and this mapping needs to be maintained by the player (the CDM and/or browser will not do it for you) or the correct persisted session will not be able to load.
I'd say this is a shaka-player issue, since the Widevine requests themselves are successful. I'd guess the mapping between the Widevine session-id and the content is lost somewhere along the way, and this mapping needs to be maintained by the player (the CDM and/or browser will not do it for you) or the correct persisted session will not be able to load.
Yes this is indeed a shaka player issue, a PR has already been submitted on their side.
I've created a prototype of offline player for protected (by Widevine DRM) videos.
I make use of Shaka-Player (latest version 4.7.6), the DRM provider EZDRM and ECS. Note that I am using Windows.
Since the video content I want to play is production content, I am not using Widevine UAT servers accepting development clients, consequently I have signed my electron binary for production, using CastLabs's Cloud-based EVS service :
The
electron.exe
is correctly signed :I have also check the same with the following command :
To download offline content, here is basically my shaka-player setup :
Then I use
storage.store
API from shaka-player to download the contents... Everything is OK, two POST requests are made to EZDRM's widevine license server proxy, and both are successfum (HTTP code 200 returned)Here is the content in the IndexDB
shaka_offline_db
databasemanifest_v5
table :What did you expect to happen? Now, once the download is complete, I go offline and I attempt to play the downloaded contents. I would expect no HTTP requests to be made to EZDRM's widevine licenses server proxy
I would expect playback of offline content not to require any network connection, since I have set usePersistentLicense to true and persistent license storage is supported by my VPM-signed ECS...
What actually happened? Two requests (probably because drm.retryParameters.maxAttempts is set to 2 ?) are made, which obvisouly fails since there is no network connectivity....
Consequently, the playback of the video when offline does not work...
What could cause shaka-player to request once again license at playback time ? I can't find the reason why... (tell me if you need additional details !)
I have of course created an issue on shaka-player repository for the same, but cross-posted the issue here so that someone from CastLabs can give me insights / tips ....
Feel free to answer here or close this issue and reply in shaka player issue : https://github.com/shaka-project/shaka-player/issues/6141
Thanks !