簡體   English   中英

如何在簡單的基於 electron 的瀏覽器上播放 Netflix 視頻?

[英]How to play Netflix videos on simple electron based browser?

我嘗試在簡單的 electron 瀏覽器上播放 Netflix 視頻。 我使用的瀏覽器作為 electron 的簡單快速啟動,位於https://github.com/electron/electron-quick-start
我剛剛加載了 URL https://www.netflix.com而不是 index.html 。

But.netflix 失敗,錯誤代碼:M7701-1003

我已經嘗試了https://www.electronjs.org/docs/latest/tutorial/testing-widevine-cdm中列出的步驟,但它們沒有用。
有人可以告訴我還需要做些什么嗎?

更新:我按照文檔“驗證 Widevine CDM 支持部分”中提到的步驟進行操作,第一個鏈接顯示“您的瀏覽器缺少播放此視頻的功能”,第二個鏈接不存在。

Widevine 是一種痛苦。 我使用了位於此處的 ECS 的 Castlabs Electron 分支。

  • 如果您只是運行代碼,那么當您播放實際內容時,大多數服務將無法工作
  • 您必須構建由 Widevine 簽名的 package 才能正常工作

我為此使用了位於此處的 Castlabs EVS。

  • 您必須通過 electron-builder 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 才能使用它。

當 Widevine 准備就緒時,在您的 main.js 中實例化您的 window(閱讀適當設置的指南):

// 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' })

我有一個可用的應用程序位於此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM