Multi-DRM 的工作原理
了解 Multi-DRM 如何保护视频、您的后端如何控制观看权限,以及播放器如何获取 DRM 许可证。
加密视频和 DRM 许可证通过不同路径传输
CDN 负责传输加密视频。您的后端检查观看权限,DRM 许可证服务则授权兼容设备解密播放。
- 存储 / CDN
向播放器传输加密媒体。
- 您的后端
确认用户有权观看后,向 DRM-X 请求播放授权。
- DRM-X
验证播放授权并处理 DRM 许可证请求。
- 播放器 + 设备
使用设备的 DRM 系统获取许可证,并播放加密媒体。
本指南说明从源文件到授权播放的流程。完整设置请从您的第一个受保护视频开始;打包加密第一个文件时,也可参阅桌面图文教程。
什么是 Multi-DRM#
不同浏览器和设备使用的 DRM 系统并不相同。通过 DRM-X,您可以统一接入内容加密、播放授权和许可证服务。您的后端先确认用户是否有权观看,DRM-X 再返回适用于兼容播放器的播放配置和授权信息。播放器随后请求所需的 DRM 许可证,用于播放加密视频。
| DRM | 典型客户端 | 受保护的分发格式 |
|---|---|---|
| Widevine | Chrome、Android、Android TV、Fire TV | DASH/CENC |
| PlayReady | Microsoft Edge、Windows 和兼容的电视 | DASH/CENC |
| FairPlay Streaming | Safari、iPhone、iPad、Apple TV | HLS/CBCS |
| WisePlay | 兼容的华为设备和浏览器 | 已注册并通过验证的输出 |
稳定的 Content ID 与已注册的 Manifest#
在应用中使用 Content ID 标识视频。每个已发布的视频都关联已登记的播放清单和加密密钥模型。后端请求播放时,DRM-X 会根据设备的 DRM 系统选择匹配的清单。播放器不能用未登记的清单替换它。
在打包加密前选择密钥模式#
Single Video Key Protection(单个视频密钥保护)
一个视频密钥按照同一条 ALL 策略规则保护所有选中的视频画质版本。音频默认不加密;启用音频加密时会增加独立的音频密钥,以兼容 Safari/FairPlay。
Multi-key Quality Tiered
分别设置 AUDIO、SD、HD、UHD1 和 UHD2 的保护范围。未包含的画质层级不会获得密钥;更高层级可以要求更强的安全性或输出保护。
DRM-X 播放器会检测已发布内容的密钥模式,并自动推荐匹配的策略编辑器。
管理内容,再授权播放#
DRM-X 主要承担两项工作:一是管理内容、加密、存储和访问规则,称为控制平面(control plane);二是在观看者点击播放后,创建短期有效的播放会话并处理 DRM 许可证交互,称为数据平面(data plane)。这里的“平面”指系统职责划分,并非操作面板。
适用于浏览器、应用和电视的统一流程#
- 观看者登录您的服务。
- 您的后端检查购买记录、订阅状态或课程权限。
- 您的后端选择预设策略模板或完整的自定义策略。
- 您的后端调用接口创建播放会话:
POST api6.drm-x.com/api/v1/playback/environments/{siteId}/sessions。 - DRM-X 确定当前有效的已发布加密输出包及其已登记的播放清单。
- DRM-X 返回 Contract v1 和短期有效的 DRM License Token。
- 播放器将原生 DRM 许可证请求(challenge)的原始字节发送到返回的许可证 URL。
- DRM-X Gateway 验证令牌,由 DRM 提供方执行令牌中已签名的策略。
- 启用并发播放限制时,播放器会在停止播放或切换内容时释放其占用的并发名额。
打包加密与配置
管理内容、密钥集、不可变的加密输出版本、已注册的 Manifest、API 客户端、默认设置、凭据和审计记录。
播放与许可证
处理短期会话授权、DRM License Tokens、许可证请求、FairPlay 证书、续期和会话释放。
DRM-X 不承担您的业务权益数据库职责。它接收已认证后端作出的授权决定,并对本次请求的决定进行签名。切勿在浏览器 JavaScript、Android 代码或 iOS 应用中生成授权。
核心概念与支持的分发格式#
| DRM | 典型客户端 | 已发布的媒体格式 | 密钥系统 |
|---|---|---|---|
| Widevine | Chrome、Firefox、Android、Android TV、Fire TV | DASH + CENC | com.widevine.alpha |
| PlayReady | 经过验证的 Windows 设备上的 Microsoft Edge | DASH + CENC | com.microsoft.playready.recommendation |
| FairPlay Streaming | Safari、iPhone、iPad、Apple TV | HLS + CBCS | com.apple.fps |
| WisePlay | 兼容的华为浏览器和设备 | DASH + CENC | com.huawei.wiseplay |
Single Video Key Protection(单个视频密钥保护)
一个视频密钥保护所有选中的视频画质版本,因此无法按分辨率档位分别进行加密隔离。音频默认不加密;启用音频加密时,音频使用独立密钥。请使用一条统一的 ALL 安全规则和 maximumQualityTier: "auto"。
Multi-key Quality Tiered
分别为 AUDIO、SD、HD、UHD1 和可选的 UHD2 使用独立密钥,可以设置不同的安全要求。未配置规则的画质层级将被拒绝。当 UHD 必须使用硬件 DRM 或更强的输出保护时,可采用此模式。
分别控制手机带宽与安全要求#
4K 加密输出包可以包含 480p、720p、1080p 和 2160p 版本。可选的手机限制使手机最多请求 1080p,电脑和平板则保留原有上限。Auto 和手动画质选择都受授权结果限制。打包加密时仍为其他观众保留 UHD 版本。
可用分辨率取决于客户限制、源文件分辨率梯度、DRM 策略、输出保护和解码能力中的最低限制。Single Video Key Protection 无法通过加密密钥区分分辨率等级。若需要可信的分级控制,请使用匹配的多个密钥策略和由后端管理的规则。请参阅集成选项与测试步骤。
各部分的职责#
| 组成部分 | 职责 | 结果 |
|---|---|---|
| 桌面或 CLI Packager | 对源文件编码,加密所选分辨率版本,并发布受保护输出。 | 处于 Published 状态的 Content ID,以及已注册的播放清单。 |
| 您的网站后端 | 验证观众身份和访问权限,选择可信的内容与策略。 | 已授权的播放会话请求。 |
| DRM-X | 验证请求,返回已注册的播放清单、DRM License Token 和受限许可证路由。 | 供播放器使用的播放合约,以及通过签名执行的 DRM 规则。 |
| Universal Player 与设备 DRM | 加载受保护媒体,获取许可证,并在允许的能力范围内播放。 | 播放允许的画质、音频和字幕。 |
更改播放器界面不会授予更多 DRM 权限。手机专用的分辨率上限可以缩小请求的分辨率梯度,但更强的安全要求必须在可信后端和匹配的 DRM 策略中执行。
DRM-X 6.0