如何在简单的电子浏览器上播放Netflix视频



我试着在一个简单的电子浏览器上播放Netflix视频。我使用的浏览器是在https://github.com/electron/electron-quick-start.
我刚刚加载了URLhttps://www.netflix.com而不是index.html

但是netflix失败了,错误代码:M7701-1003

我已经尝试了中列出的步骤https://www.electronjs.org/docs/latest/tutorial/testing-widevine-cdm他们没有工作
有人能告诉我们在这方面还需要做些什么吗?

更新:我按照";验证Widevine CDM支持部分";关于文档,对于第一个链接,它说";您的浏览器缺少播放此视频的功能";并且第二链路不存在。

Widevine是一种痛苦。我使用了位于这里的ECS的Castlabs Electron叉子。

  • 如果你只是运行代码,当你播放实际内容时,大多数服务都不会工作
  • 你必须建立一个由Widevine签署的包才能正常工作

我使用了位于此处的Castlabs EVS。

  • 您必须在构建过程中通过电子生成器afterPack或afterSign钩子向EVS添加一个调用
  • 您必须在Mac上进行代码签名之前和Windows上进行代码签署之后进行签名

类似于mac的东西(命名为afterPack.js,在package.json构建密钥的afterPack中引用(:

exports.default = function (context) {
// Skip if not mac
if (process.platform !== 'darwin') return
// VMP sign via EVS
const { execSync } = require('child_process')
console.log('VMP signing start')
execSync('python3 -m castlabs_evs.vmp sign-pkg ./dist/mac ' + context.appOutDir)
console.log('VMP signing complete')
}

注意:你必须注册一个EVS帐户(免费(,你需要有Python才能使用它。

在你的main.js中,当Widevine准备好时实例化你的窗口(阅读适当设置的指南(:

// Widevine DRM setup
app.commandLine.appendSwitch('no-verify-widevine-cdm')
const isOffline = false
const widevineDir = app.getPath('userData')
// Widevine DRM ready
app.on('widevine-ready', () => {
createWindow()
})

在浏览器支持部分,请确保设置有效的用户代理,例如(mac(:

[BrowserWindow or BrowserView].webContents.loadURL('https://urltostream', { userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36' })

我在这里有一个工作应用程序。

相关内容

  • 没有找到相关文章

最新更新