-
Notifications
You must be signed in to change notification settings - Fork 6k
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 PSSH in MOOF #1143
Comments
A few questions:
|
Thanks for such a quick response:
After changing the proxy to http://widevine-proxy.appspot.com/proxy, I can see receiving the keys in the wireshark, but player is erroring out with "Error decrypting data: requested key has not been loaded" requested_key.txt |
ExoPlayer currently expects:
So your problems are:
|
Hello, and thanks for the clarification, however I'm not certain what you mean by:
According to the common encryption standard the If so, then we can work around this and everything should work for static content. I expect however, that we will still have problem with dynamic content where key rotation is used. In this case it is impossible to provide the |
Yes, you're correct. We don't look at SampleToGroupBox. We should start looking at it, and I'd rather fix that than have people work around the problem ;). Do you know the specification that says exactly where that lives and how it works? I could only find vague descriptions. I also scanned through the boxes in your media and I couldn't seem to find it. I'm unsure as to whether that's sufficient to enable key rotation. It's unclear to me exactly how the rotating keys should be loaded into the MediaDrm session. But I guess that's something that should be looked at later. |
I'm far from being an expert on common encryption, even less on the client side, so take this with a grain of salt but the standard says for SampleToGroupBox:
also
Therefore both boxes we put into the As to how this enables key rotation is for WideVine. With key ID, key ID association to samples and |
Which standard exactly (if it's an ISO standard then it should have a number), and what revision of it? Thanks. |
Hi, |
Sorry, for ISO/IEC 14496-12 it is the 4th edition. It explicitly states for
|
I suppose the same issue is mentioned in #1298 |
This is fixed in the Regarding the comment above, the issues are a little different. The sample in this issue puts the PSSH data in the MOOF but does (as far as I could tell) the keys do not rotate. For #1298 we'd need to support key rotation. Most of the plumbing for key rotation is in V2, but our default |
Hi,
we're trying to implement the application based on ExoPlayer playing our own implementation of MPEG-DASH encrypted with Widevine, and we're receiving the error, which we are unable to understand, exception_android.txt.
The stream to be played is available at: http://80.188.56.83/dwv-59109745109306328-max720p.mpd (contentId = 59109745109306328, provider = nangu) which is passing validation on http://dashif.org/conformance.html
After analysis of the one google-reference stream (https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd), we tried to put the PSSH header into the manifest: http://itonis-portal.nangu.tv/dash/pssh.mpd ; But no success even with this change.
Both the samples play just fine in http://shaka-player-demo.appspot.com/, which leads to the idea that there are some differences between the players, which we do not understand well. Testing is done on Nexus 5 with Android 6.0.1, using ExoPlayer (1.5.3) demo app.
Can anyone with the deeper knowledge of the implementation hint on which part of the implementation can be faulty? From what I can understand, the native function playing the stream refuses to play it? Is there any way to debug it further? I'll be grateful for any indication or idea.
Thanks,
Jan
The text was updated successfully, but these errors were encountered: