-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Feature Request - Expose CefRegisterWidevineCdm #1934
Comments
A typical WidevineCdm setup for Windows x64 will contain the following files:
Example bare-bones manifest.json file:
Assuming all located in .\WidevineCdm it can be registered with:
|
* Added Cef.RegisterWidevineCdm for CEF Widevine CDM registration #1934 * Added test page for WidevineCdm registration and example registration #1934 * Noted additional steps for Widevine and proprietary codecs to CdmSupportTest.html * Link for more information changed to issue #1934 in CefExample.cs * replaced Cef.RegisterCdmCallback's async result with IRegisterCdmCallback parameter * RegisterCdmCallback now uses taskCompletionSource
@spazzarama Are you using a |
@amaitland we have done some test builds with a CEF build including proprietary codec support in order to get everything proven. Widevine licensing sorted and I believe the process is underway re www.mpegla.com and AVC/H.264 |
Cool 👍 Do you have any tips or additional information that might be relevant to others? (I personally have no interest, so I've never looked into it further). |
Let's say for example, that you have a requirement to have a CefSharp build that works with Netflix. You need to sort out the following: Widevine Licensing:
It probably took around 6-8 weeks for this entire process, but this included Christmas time. AVC/H.264 Licensing: Head over to http://www.mpegla.com/main/programs/AVC/Pages/AgreementExpress.aspx and contact the Licensing Department requesting the AVC/H.264 details. I believe the costs are $0 for first 100k units but don't quote me and do your own investigation, there is no doubt contracts to sign etc. At this point I handed over to someone else so can't provide any more input - I'll update if I get more info. CEF - proprietary codec build:
For 32-bit - just remove the CEF -> CefSharp:
In your project:
|
The powershell script does that already.
By all means submit a |
Ok thanks, its been a while since I did it and was just comparing the source files 👍
I'll see how I go for time, either that or I will attach somewhere for reference. |
Not sure if this is the best spot, but I wanted to report my findings... I ran my app on another device with the same Widevine files and was getting the IncorrectContents response. I went into Chrome on the same device and no components were installed, so I updated the Widevine component. I restarted my app and Widevine started giving the None response and protected content started working. I wonder if there's a registry value that gets created when Chrome downloads the component? I'll report back if I find anything. |
The actual implementation was done in this story: I have it working on systems without Chrome. The system may be missing one the dependency DLL's and Chrome installs it. |
I'm not too much experienced but can't we use OpenH264 instead of Chromium builds. or does it also needs licensing even though we are using OpenH264? |
Unfortunately no. |
The manual method of registering |
Excellent, that's going to save me a job ;-) I was just trying to get that working. |
@amaitland Could you please confirm if all the other processes of getting license from Widevine, building later version of CEF manually with Codec flag remains same for Cefsharp integration, or that has been changed too? |
https://bitbucket.org/chromiumembedded/cef/issues/3149/alloy-add-component-updater-support-for details the changes. That is all the information I have on the subject. You can ask follow up questions at |
With CEF no longer using the component updater to download Widevine CDM it is necessary to expose the
CefRegisterWidevineCdm
function in order to support DRM content.The relevant CEF issue outlining the change with linked changesets: https://bitbucket.org/chromiumembedded/cef/issues/2009/dont-download-widevine-cdm-using-component
Once implemented, the new process to support Widevine involves the following steps:
Cef.RegisterWidevineCdm
passing in the path to the Widevine binaries and optionally anIRegisterCdmCallback
. For async/await you can useCef.RegisterWidevineCdmAsync
again passing in the path.The text was updated successfully, but these errors were encountered: