-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add Widevine asset that does not require proprietary codecs #540
Comments
@magreenblatt, proprietary codecs refers to MP4, as opposed to WebM. Chromium or CEF built without proprietary codec support should still be able to play WebM or multicodec (MP4 + WebM) content. We have many such assets in the demo app already. The first asset in the list, "Angel One (multicodec, multilingual)" should be playable for you in CEF. Please confirm. The second asset in the list, "Angel One (multicodec, multilingual, Widevine)" should be playable if you have a Widevine CDM, which you may not, depending on your Chromium build config. This is completely different from having support for proprietary codecs. The third asset in the list, "Angel One (multicodec, multilingual, ClearKey server)" should be playable as long as you have ClearKey support. This is usually built into Chromium and should be available to you. Please confirm. Finally, you should use https://shaka-player-demo.appspot.com/support.html to get a complete report of what is and isn't supported by your build of CEF. This breaks out support for various containers, codecs, and DRM systems. If you are having trouble getting playback in Shaka Player, a copy of this report is very valuable information for us and will help us direct you to the right fix in your CEF build. Does this help? |
I'm testing using a local build of M53 on Windows (32-bit). In my local build with proprietary codecs enabled (GN settings of "proprietary_codecs=true ffmpeg_branding=Chrome") and Widevine disabled the "Angel One (multicodec, multilingual)" and "Angel One (multicodec, multilingual, ClearKey server)" assets play. In the same build when I enable loading of Widevine version 1.4.8.903 the "Angel One (multicodec, multilingual, Widevine)" asset also plays. If I create the same build without proprietary codecs then only the "Angel One (multicodec, multilingual)" option is enabled irrespective of whether Widevine is loaded. You can see the same behavior with the binaries here: http://opensource.spotify.com/cefbuilds/index.html (download the "Sample Application"). The support.html page reports the following:
How is Shaka player detecting the "drm" state? It's possible that this is a bug in Chromium -- some portion of the CDM detection logic being incorrectly gated on proprietary codec support. |
We're filling out the "drm" section of the support page by using EME APIs such as navigator.requestMediaKeySystemAccess. The code is here, if you are curious: https://github.com/google/shaka-player/blob/addece60/lib/media/drm_engine.js#L1187 Perhaps Chromium intends to enable DRM only with MP4 support, perhaps not. I wish I could say for certain, but I honestly don't know. If you think it's a bug, please file it at crbug.com so the Chromium team can give you an authoritative answer. If you do file a chromium bug, please post a link to the bug report so that we can track it as well. |
The Angel One option appears to support VP9 and Vorbis, presumably in WebM, so it should work without proprietary codecs. However, looking at the referenced probing code, |
@ddorwin: Thanks for the suggestion. After making your suggested change clearkey now shows up in the drm list:
However, Widevine is still not detected. |
Looks like we forgot to probe WebM in DrmEngine! We'll get that fixed soon. If Widevine is still not showing up as supported, perhaps something is set up incorrectly in your CEF build or its runtime environment. I think the CEF and Chromium issue trackers are your best bet for further assistance getting the Widevine CDM working correctly in CEF3. Shaka Player ends at JavaScript, so we can't really do much more for you here. |
Agreed, thanks for looking into this. I'll debug further in the native code and report back with my findings. |
After resolving an error in my code both Widevine and Clearkey support are now reporting correctly with the above change (adding |
Issue #540 Change-Id: I908804e9334214dd4ed9d7546ce4d4d28dd69d01
Great, glad to hear it! We've fixed the probe code to add webm, so if there are no objections, I'll consider this resolved. |
Issue #540 Change-Id: I908804e9334214dd4ed9d7546ce4d4d28dd69d01
Current demo version at http://shaka-player-demo.appspot.com/demo/
Build a Chromium-derived product with Widevine support but without proprietary codecs support. This is a common configuration used by projects such as Chromium Embedded Framework (CEF): https://bitbucket.org/chromiumembedded/cef. There are a number of companies using CEF which are also Widevine licensees. Having a pre-existing option for Widevine playback without requiring proprietary codecs would make testing of Widevine support in CEF easier.
There should be an asset for testing Widevine playback that does not also require proprietary codecs.
All Widevine assets are grayed out in the "Asset" select menu when Chromium is built without proprietary codecs support.
The text was updated successfully, but these errors were encountered: