Page 1 of 1

J-CEF support with Widevine

PostPosted: Sun May 23, 2021 12:16 am
by Sebastian
I'm trying to integrate Widevine with J-CEF in my Java program so I can view streams from sites like Twitch. I haven't been able to find any specific instructions for J-CEF but I'm curious what exactly I'd need to get this up and running.

Right now, I just have the simple example application and did get this working. Where I'm lost is enabling / registering Widevine and finding the correct DLL for this.

Any advice would be appreciated. Thanks!

Re: J-CEF support with Widevine

PostPosted: Sun May 23, 2021 12:58 pm
by magreenblatt
The Widevine DLL needs to be sourced from Google (e.g. copied from a Google Chrome install) and configured as documented here. Pay careful attention to the required manifest format — it may not be identical to Chrome’s existing manifest. Depending on the video content that you intend to load you might also need a CEF build with proprietary codecs enabled (search the forum for how to do that). I have not tried Widevine with JCEF specifically but I also have no reason it believe it won’t work.

Re: J-CEF support with Widevine

PostPosted: Sun May 23, 2021 4:46 pm
by Sebastian
magreenblatt wrote:The Widevine DLL needs to be sourced from Google (e.g. copied from a Google Chrome install) and configured as documented here. Pay careful attention to the required manifest format — it may not be identical to Chrome’s existing manifest. Depending on the video content that you intend to load you might also need a CEF build with proprietary codecs enabled (search the forum for how to do that). I have not tried Widevine with JCEF specifically but I also have no reason it believe it won’t work.


Alright thank you for the response. I did find the DLL and manifest from my Chrome install but I can't seem to find the relevant method CefRegisterWidevineCdm in J-CEF.

Re: J-CEF support with Widevine

PostPosted: Sun May 23, 2021 5:38 pm
by magreenblatt
It may not currently be exposed to Java. You can expose it, or just call it from native code.