Electron 中 ,我们可以使用 Widevine CDM 插件装载 Chrome 浏览器 。

获取插件

Electron 没有为 Widevine CDM 插件配制许可 reasons,为了获得它,首先需要安装官方的 chrome 浏览器,这匹配了体系架构和 Electron 构建使用的 chrome 版本 。

注意 Chrome 浏览器的主要版本必须和 Electron 使用的版本一样,否则插件不会有效,虽然 navigator.plugins 会显示你已经安装了它 。

Windows & OS X

Chrome 浏览器中打开 chrome://components/ ,找到 WidevineCdm 并且确定它更新到最新版本,然后就可以从 APP_DATA/Google/Chrome/WidevineCDM/VERSION/_platform_specific/PLATFORM_ARCH/ 路径找到所有的插件二进制文件 。

APP_DATA 是系统存放数据的位置,在 Windows 上为 %LOCALAPPDATA%。在 OS X 上为 ~/Library/Application Support

VERSIONWidevine CDM 插件的版本字符串,类似 1.4.8.866PLATFORMmacwinARCHx86x64

Windows 中,必要的二进制文件是 widevinecdm.dllwidevinecdmadapter.dll。在 OS X 中,则是 libwidevinecdm.dylibwidevinecdmadapter.plugin。我们可以将它们复制到任何地方,但是它们必须要放在一起。

Linux

Linux 中,Chrome 浏览器将插件的二进制文件装载在一起 ,我们可以在 /opt/google/chrome 路径下找到,文件名为 libwidevinecdm.solibwidevinecdmadapter.so

使用插件

在获得了插件文件后,我们可以使用 --widevine-cdm-path 命令行开关来将 widevinecdmadapter 的路径传递给 Electron , 插件版本使用 --widevine-cdm-version 开关。

注意虽然只有 widevinecdmadapter 的二进制文件传递给了 Electronwidevinecdm 二进制文件应当放在它的旁边。

必须在 app 模块的 ready 事件触发之前使用命令行开关,并且 page 使用的插件必须激活。

示例:
const {app, BrowserWindow} = require('electron')
app.commandLine.appendSwitch('widevine-cdm-path', '/path/to/widevinecdmadapter.plugin')
app.commandLine.appendSwitch('widevine-cdm-version', '1.4.8.866')let win = null
app.on('ready', () => {win = new BrowserWindow({webPreferences: {plugins: true}})win.show()
})

验证插件

为了验证插件是否工作,可以使用下面的方法 :

  • 打开 devtools 开发者工具查看是否 navigator.plugins 包含了 WidevineCDM 插件。
  • 打开 https://shaka-player-demo.appspot.com/ 并加载一个使用Widevinemanifest
  • 打开 http://www.dash-player.com/demo/drm-test-area/,检查页面是否显示 bitdash uses Widevine in your browser,然后播放视频。

Electron 使用Widevine CDM插件相关推荐

  1. Electron 使用Pepper Flash插件

    Electron 中支持 Pepper Flash 插件的使用.想要在 Electron 里面使用 Pepper Flash 插件,我们需要手动设置 Pepper Flash 的路径,并且在应用程序中 ...

  2. 向vue中集成electron(使用electron-builder插件直接将electron集成到自己的项目)

    文章目录 前言 一.创建一个vue项目 二.集成electron 三.运行项目 前言 一个完整的解决方案,用于打包和构建适用于 macOS.Windows 和 Linux 的可分发 Electron ...

  3. Electron 教程_20201007

    ​Electron 教程 Electron 教程简介 Electron 快速入门 Electron 桌面环境集成 Electron 在线/离线事件探测 Electron 进程 Electron 支持的 ...

  4. Electron flash插件

    Electron 支持 Pepper Flash 插件.要在 Electron 里面使用 Pepper Flash 插件,我们 要手动设置 Pepper Flash 的路径并且应用里启用 Pepper ...

  5. 【Electron】Electron开发入门(九):添加Flash插件

    一.Electron官方开启Flash插件说明:https://electronjs.org/docs/tutorial/using-pepper-flash-plugin 看了这篇文章,并且各种操作 ...

  6. 深入理解 DRM (1) --了解Widevine与OEMCrypto

    基本术语定义 Device Id 以空结尾的唯一标识设备的C字符串.最大32个字符,包括NULL终止. Device Key 由Widevine分配的128位AES密钥,用于保护授权. Keybox ...

  7. ZEGO教程:如何通过electron构建桌面跨平台音视频应用

    近年来,视频直播.短视频.在线教育.在线医疗.人工智能.以及VR等视频领域的相关行业都非常热门,成为大众瞩目的焦点.而5G网络的相继普及,移动网速飞速提升,又将引起下一轮视频应用的革命. 可以看到,在 ...

  8. 是时候开发你自己的vscode扩展插件了

    Visual Studio Code(以下简称vscode)是现在非常流行的一款编辑器,相信很多人都在用或者用过,至少也是听说过.不同于WebStorm这样的IDE大而全但稍显笨重,vscode算是比 ...

  9. PC游戏中用CEF3制作内嵌浏览器

    因为项目需要,需要将游戏手机助手中的朋友圈给移植到PC游戏中,而以前游戏中的内嵌浏览器采用的是IE6内核,满足不了我们的需求,于是决定把Cef3内嵌到游戏中,在完成正常工作之余,利用闲散时间不断地查找 ...

  10. 从纸钱包,带你走进贴心的BCH!

    数字货币,是数十年来密码学的结晶之作,与计算机科学有难以割裂的联系.对于其存储方式,多数人会选择将其存储在热钱包(手机APP.计算机软件等),亦有些人会使用硬件钱包. 无论选用哪种钱包,都会面临安全威 ...

最新文章

  1. libcurl使用多线程下载大文件源码示例!
  2. 机器学习_周志华_问题汇总_第2周
  3. Barracuda Backup 5.4版本添加了更多云存储
  4. win8 app内存溢出检测工具PerfView.exe的使用
  5. codeforces D. Palindrome Degree(hash)
  6. pandas删除某列有空值的行_Python-零基础学习Pandas知识点整理(2)
  7. 最新最详细最简洁Eclipse调试PHP配置详解(Xdebug,Zend Debugger)
  8. Fibonacci(求前四位数)
  9. 用云原生的思维践行云原生,华为云深耕数字化,一切皆服务
  10. dmv io读写高的sql_适用于DBA的前8大新(或增强)SQL Server 2017 DMV和DMF
  11. 201521123058 软工阅读第二次作业
  12. java线程并发库之--线程阻塞队列ArrayBlockingQueue
  13. Counting Bits -leetcode
  14. 蓝桥杯历年省赛真题汇总及题目详解
  15. halcon21.11安装教程详解
  16. 模型预测控制的缺点_模型预测控制简要内容
  17. CAD中属性编辑操作——对象属性
  18. PS从入门到精通第4节——祖传抠图技法
  19. ijkplayer环境搭建
  20. 视频剪辑方法,在视频上添加图片或者视频

热门文章

  1. CharSequence接口
  2. 微电子计算机是信息技术的,信息技术说第三十五说,计算机微电子技术
  3. 使用linux批量引物设计,primer3引物设计详解
  4. 收盘:用友软件跌10.02%报13.2元 换手3.26%
  5. 关关采集器如何配置代理ip【图文教程】
  6. 电磁场理论复习笔记-第一章(下)
  7. kali linux 无线攻击——aircrack-ng
  8. matlab与螺旋桨,基于Matlab的船用螺旋桨计算机实时仿真及GUI设计
  9. Epson LQ1600K3+ 打印区域
  10. 图论学习笔记——可达矩阵