Electron 使用 Widevine CDM 插件

2018-10-03 18:25 更新

在 Electron ,你可以使用 Widevine CDM 插件裝載 Chrome 瀏覽器 .

獲取插件

Electron 沒有為 Widevine CDM 插件 配制許可 reasons, 為了獲得它,首先需要安裝官方的 chrome 瀏覽器,這匹配了體系架構和 Electron 構建使用的 chrome 版本 .

注意: Chrome 瀏覽器的主要版本必須和 Electron 使用的版本一樣,否則插件不會有效,雖然 navigator.plugins 會顯示你已經(jīng)安裝了它 .

Windows & OS X

在 Chrome 瀏覽器中打開 chrome://components/ ,找到 WidevineCdm 并且確定它更新到最新版本,然后你可以從 APP_DATA/Google/Chrome/WidevineCDM/VERSION/_platform_specific/PLATFORM_ARCH/ 路徑找到所有的插件二進制文件 .

APP_DATA 是系統(tǒng)存放數(shù)據(jù)的地方,在 Windows 上它是%LOCALAPPDATA%, 在 OS X 上它是 ~/Library/Application Support. VERSION 是Widevine CDM 插件的版本字符串, 類似 1.4.8.866. PLATFORMmacwin. ARCHx86x64.

在 Windows,必要的二進制文件是 widevinecdm.dll andwidevinecdmadapter.dll, 在 OS X ,它們是 libwidevinecdm.dylibwidevinecdmadapter.plugin. 你可以將它們復制到任何你喜歡的地方,但是它們必須要放在一起.

Linux

在 Linux ,Chrome 瀏覽器將插件的二進制文件裝載在一起 , 你可以在 /opt/google/chrome 下找到,文件名是 libwidevinecdm.solibwidevinecdmadapter.so.

使用插件

在獲得了插件文件后,你可以使用 --widevine-cdm-path 命令行開關來將 widevinecdmadapter 的路徑傳遞給 Electron , 插件版本使用 --widevine-cdm-version 開關.

注意: 雖然只有 widevinecdmadapter 的二進制文件傳遞給了 Electron, widevinecdm 二進制文件應當放在它的旁邊.

必須在 app 模塊的 ready 事件觸發(fā)之前使用命令行開關,并且 page 使用的插件必須激活.

示例代碼 :

// You have to pass the filename of `widevinecdmadapter` here, it is
// * `widevinecdmadapter.plugin` on OS X,
// * `libwidevinecdmadapter.so` on Linux,
// * `widevinecdmadapter.dll` on Windows.
app.commandLine.appendSwitch('widevine-cdm-path', '/path/to/widevinecdmadapter.plugin');
// The version of plugin can be got from `chrome://plugins` page in Chrome.
app.commandLine.appendSwitch('widevine-cdm-version', '1.4.8.866');

var mainWindow = null;
app.on('ready', function() {
  mainWindow = new BrowserWindow({
    webPreferences: {
      // The `plugins` have to be enabled.
      plugins: true
    }
  })
});

驗證插件

為了驗證插件是否工作,你可以使用下面的方法 :

  • 打開開發(fā)者工具查看是否 navigator.plugins 包含了 WidevineCDM 插件.
  • 打開 https://shaka-player-demo.appspot.com/ 加載一個使用Widevine 的 manifest.
  • 打開 http://www.dash-player.com/demo/drm-test-area/, 檢查是否界面輸出 bitdash uses Widevine in your browser, 然后播放 video.
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號