DRM-X 6.0 鸽子和橄榄枝标志DRM-X 6.0文档
◎ 简体中文

播放您的第一个受保护视频

从发布视频开始接入 DRM-X 6.0 Web 播放:创建仅具备必要权限的服务端凭据,确认用户的观看权限,再加载已登记的 Manifest。

查看 Markdown在线示例更新于 2026-10-26

从第一个视频到受保护的播放

加密视频、接入后端并测试播放。Access Key 应始终保存在服务器端。

  1. 登录

    打开 DRM-X Console,选择您的环境。

  2. 打包加密并发布

    完成视频打包加密,等待其状态变为 Published。

  3. 创建 API client

    仅授予 license-tokens:create 权限,并在显示 Access Key 时妥善保存。

  4. 配置后端

    设置凭据和 Content ID,选择播放规则,并检查用户是否有权观看。

  5. 测试播放

    通过后端请求播放会话。播放器随后请求 DRM 许可证,并播放加密视频。

打包加密并发布视频,配置后端,然后使用兼容播放器测试播放。

先从一个源文件开始。将其打包加密并发布,在 DRM-X Web Player 中验证,再接入您的网站。您需要 DRM-X 客户账户、开发环境,以及源视频或音频文件。

1. 发布一个受保护文件#

  1. 选择环境。集成期间使用开发环境,并将生产环境凭据单独保存。
  2. 安装 Packager。从 Console → Package Content 下载 Packager Suite 1.0.0-beta.1。完整解压 ZIP,然后按照桌面打包加密教程连接配置。
  3. 打包并发布。添加一个源文件并选择空的输出文件夹。首次测试请选择 Single Video Key Protection,并使用下方的 single-software 策略。以后需要按画质分别设置规则时,再使用 Multi-key Quality Tiered 和 multi-tier-standard。若手机的画质上限为 1080p,请包含 1080p 及以下画质版本。
  4. 等待 Published 状态。保存 Content ID,并记下打包加密所用的环境。仅完成编码或显示上传数量,并不能确认发布成功。

在 DRM-X Web Player 中测试#

  1. 登录。打开 DRM-X Web Player,使用拥有该内容的 DRM-X 客户账户登录。
  2. 选择内容。选择打包加密时使用的同一环境。从内容列表中选择 Published 项目,并核对标题和 Content ID。
  3. 开始播放。保留检测到的密钥模型并使用匹配的策略,然后按 Play。播放器会请求新的 DRM License Token。
  4. 检查结果。测试跳转、声音、允许的画质、每种音频语言和字幕。对于纯音频内容,检查声音和持续推进的播放时间。完成后按 Stop。

若找不到项目,请确认环境和 Published 状态。若播放失败,请先按照播放故障排查解决问题,再接入网站。观众使用您网站自己的登录流程,不需要 DRM-X Console 账户。

集成后,分别测试有观看权限和应被拒绝访问的观众。使用您支持的真实浏览器和设备检查播放。若希望降低手机带宽,同时为其他设备保留 UHD,请按照可选的手机 1080p 限制步骤配置。

2. 创建仅具备必要权限的服务端集成#

Web Player 测试成功后,按照创建服务端集成凭据操作。创建仅具有 license-tokens:create 权限的播放 API 客户端。将其 Site ID、Site Key 和 Access Key 保存在您的服务器上。

下载适合您后端的集成套件。使用 PHP 时,请参阅 PHP 操作教程。播放器组件和可选手机限制请参阅 Web SDK 指南。

生产环境凭据应使用密钥管理工具或受保护的环境配置保存。切勿将 Access Key 放入浏览器 JavaScript、APK、IPA、TV 应用或可下载的配置文件中。

3. 修改标出的三项服务端设置#

// Server-side only
siteId: "your-development-environment-uuid"
siteKey: "drmx_your_environment_scoped_client_id"
accessKey: "paste-the-one-time-access-key"

contentId: "your-published-content-id"
licensePolicyTemplate: "single-software"

然后,将示例中的登录和访问权限判断替换为真实业务逻辑,检查用户会话、订阅、购买、选课、租赁或活动访问权限。

4. 请求播放,并在结束后释放会话#

每次尝试播放时,都生成新的、不可预测的会话 ID。创建成功后,使用 Cache-Control: no-store 将会话响应返回客户端。停止播放、更换内容、遇到无法恢复的错误或关闭应用时,应释放该会话占用的并发播放名额。

  • 切勿直接接受播放器提交的 subject、策略 JSON、manifest URL 或许可证 URL。
  • 仅向响应中返回的 DRM 许可证和 FairPlay 证书请求地址添加授权请求头。
  • 记录关联 ID 和各阶段的处理结果;不要记录令牌、密钥、原生许可证请求或许可证的原始字节。