12

I have a side project that play Netflix, and suddenly it stopped working and started showing this error.

enter image description here

I didn't update anything on my side, it just stopped working from Netflix's side (I guess).

I'm using Electron 1.8.4, I've tried upgrading Electron to the latest 2.0.0beta-5 without success.

I've also tried to use Widevine plugin from Chrome 59 to 62 and even the one coming from the Brave browser, without success.

I've created a small repository to reproduce the issue easily.

It's also letting you load the Shaka Player and Bitmovin DRM tests, so you can ensure the Widevine plugin is correctly loaded :

git clone git@github.com:yoannmoinet/netflix-and-electron.git
cd netflix-and-electron
npm install
npm start

I've also opened an issue with Electron to get help there as well.

I'm really stuck there, thank you so much for your help.

EDIT:

It appears that Netflix implemented a new VMP (verified media path) support to the Widevine browser CDM lately. So the little players/browsers won't be able to play DRM content without a proper, whitelisted, Widevine CDM installation from Google.

I've contacted them to see what are the steps to get one.

EDIT #2 (07/24/20):

It's been two years, and I still have no license.

I've signed a few documents to get it, but since then, no news.

Last contact I had was a few weeks ago where they finally answered one of my emails, stating that they would transfer all this process to another third party. I'm guessing I'm back to square one now.

This must be a joke.

All Hail DRM.

Yoann
  • 3,020
  • 1
  • 24
  • 34
  • What version of chrome are you using? if it's the latest can you roll back to the version which is supported by the plugin? The major version of Chrome browser has to be the same with the Chrome version used by Electron, otherwise the plugin will not work even though navigator.plugins would show it has been loaded. The current chrome is 65 and widevine support is only upto 62? – Vikram Palakurthi Apr 02 '18 at 22:04
  • Plus you would have to use widevinecdmadapter.dll for windows and widevinecdmadapter.plugin for macOS – Vikram Palakurthi Apr 02 '18 at 22:18
  • Thank you for your help. But like I said. It was working. An update from Netflix broke it. More info in the EDIT. – Yoann Apr 02 '18 at 22:19
  • aah, I see the point. – Vikram Palakurthi Apr 02 '18 at 23:25
  • Hi @YoannM Did you already get the data with the widevine? if so, could you tell how long it took? – Florida Apr 11 '19 at 15:21
  • Hi @Florida, I did not yet. It's been a year. – Yoann Apr 11 '19 at 16:02

1 Answers1

1

I ran into the same problem. I ended up using Castlabs EVS to VMP sign my package. Info and instructions on how to use are located here: https://github.com/castlabs/electron-releases/wiki/EVS

Note, if you are on a Mac you must invoke the VMP signing prior to code signing. On Windows you have to do it after. Electron-builder has afterPack and afterSign hooks for this.

I have a working version of this using the Castlabs Electron fork here: https://github.com/jtvberg/StreamDock

UPDATE: Forgot to mention that for some services you need to set a valid Chrome user agent. YouTube TV needs that for sure otherwise you can browse content but it will error on playback. There is a userAgent property you can set in the BrowserView.

jtvberg
  • 228
  • 3
  • 8