概览

Widevine DRM 是 Google 针对优质媒体内容的保护系统。Google Play、YouTube、Netflix、Disney+、Amazon Prime Video、HBO Max、Hulu、Peacock、Discovery+、Paramount+ 等全球主要合作伙伴都在使用此应用。 Widevine 的重点是通过数字分发方式提供最佳的优质内容观看体验。

Widevine 数字版权管理采用以下标准:

支持的平台

除非另有说明,否则 Widevine 客户端会原生嵌入到设备平台中。

设备或平台 是否受支持?
Android(移动设备、TV、汽车)
Android 开源 (AOSP)
Apple iOS [1]
Apple TV (tvOS) -
Chromecast(投放)
Google Home 和 Nest 设备
ChromeOS (Chromebook)
Chrome 浏览器(Windows、Mac OS X、Linux)
Chromium 浏览器
Chromium Embedded Framework (CEF) / Electron
Firefox 浏览器
Edge 浏览器
Opera(浏览器和嵌入式设备)
Safari 浏览器(桌面版) -
Roku 设备
Amazon Echo 设备
Amazon Fire OS 设备
Amazon Fire TV 设备
Facebook Portal 设备
任天堂 Switch -
索尼 Playstation
Microsoft Xbox -
智能电视和蓝光播放器(Tizen、WebOS)

绘制

支持的加密方案

下表提供了 Widevine 集成平台的加密方案对应关系。

平台 cenc 审查 cbc1 cbcs
Android 4.4 - 6.x(包括 Android TV) - - -
Android 7.x 及更高版本(包括 Android TV) - -
Chromecast(投屏) -
Google Home - - -
智能电视和蓝光播放器 - -
Widevine iOS - -
Chrome 浏览器(桌面设备)和 ChromeOS - -
Chrome 浏览器(移动版) - -
Mozilla Firefox - -
Opera - -
NexPlayer SDK - -

生态系统

绘制

上图展示了 DRM 生态系统中可用的 Widevine 组件。

配置、密钥箱和 OEMCrypto 组件特定于设备集成过程。如果您有兴趣将 Widevine 集成到设备中,请与我们联系

来自发起客户端设备的许可请求将由合作伙伴运营的代理机制(通过 HTTPS)接收。此代理机制会先验证请求并附加业务规则,然后再发送要由 Widevine 许可服务执行的载荷。

在任何情况下,Widevine 客户端设备都不会直接与 Widevine 许可服务通信。

颁发 Widevine 许可

Widevine 提供了 2 种向客户颁发许可的方法:

  • Cloud License Service
    • 可全球访问的服务,无访问费用或交易费用。
    • 系统会使用每个组织的凭据向 Widevine 许可证持有者提供访问权限。
  • License Server SDK
    • 专为托管您自己的许可服务而设计。

使用 Widevine Cloud License Service

Cloud License Services 有 2 个环境:测试环境和生产环境。系统会为 Widevine 许可证持有者提供每个组织的专属凭据,以便他们访问该平台。

Cloud License Service 提供了 2 个端点,分别用于:

  • 检索内容密钥以加密内容。
    • 以这种方式请求的内容密钥由 Widevine Cloud License Service 存储。
  • 颁发许可
    • 满足 Widevine 客户端设备生成的许可请求。

来自客户端设备的所有许可请求都必须由许可代理机制处理。

  • Widevine 提供了一个 Proxy SDK 来与 Cloud License Service 通信。
  • 许可代理会验证传入的客户端请求,并确定要应用哪些业务规则。
  • 业务规则会附加到来自设备的原始许可请求,并发送到许可服务以进行执行。
  • 许可生成后,您便无法再修改许可内容,而且许可内容会因发出请求的设备而异。

Shaka Packager

Widevine 的 Shaka Packager(以前称为 eDASH-Packager)是一个开源参考实现,介绍了如何生成与 DASH 兼容的 MP4 格式、使用 Widevine PSSH 执行加密以及创建 DASH 清单。请访问 GitHub 页面提交 bug 和功能请求。

播放器 - Android

由 Google 维护的开源 ExoPlayer 项目是推荐的参考播放器库,可演示 Widevine CENC 媒体的播放。默认情况下,构建 ExoPlayer 会生成一个演示版应用,其中包含 Widevine 团队提供的已知良好 CENC 内容的预设列表。

播放器 - 浏览器

Shaka Player 开源项目是 Widevine 的一项计划,旨在提供全面的跨浏览器 JavaScript 库框架,以支持使用 CDM(最好是 Widevine)播放 CENC HTML5 内容。除了 GitHub 之外,我们还提供了 Shaka Player 用户讨论群组,由 Widevine 的 Shaka Player 开发者团队进行监控。

Shaka Player 提供以下功能:

  • 功能齐全的开源播放器框架
  • 可配置和自定义的界面
  • 支持跨平台和跨浏览器
  • 支持 HTML5、MSE、EME 和 DASH
  • 多 DRM 选项