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

预设模板与自定义策略

选择与已发布加密内容匹配的 DRM-X 许可证策略,设置有效期、输出保护和各清晰度档位的播放规则。

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

为内容选择策略

策略应与视频打包加密时使用的密钥模型一致。

  1. Single Key Protection

    所有轨道共用一个策略:single-software、single-hdcp 或 single-hardware。

  2. Multi-key Quality Tiered

    使用 multi-tier-standard,为音频、SD、HD 和 UHD 分别设置安全规则。

选择与加密输出包的密钥模型匹配的策略。单个密钥采用统一规则;按画质分级的加密输出包可为不同轨道分别设置规则。
许可证策略

使用服务器端命名策略模板#

Single Video Key Protection(单个视频密钥保护)

所有视频清晰度共用一个视频密钥。加密音频使用独立的音频密钥。纯音频内容使用一个音频密钥。

密钥用于标识加密媒体;策略规则定义访问要求。对于 Single Video Key Protection,一条 ALL 规则对视频密钥和任何加密音频密钥应用相同要求。这并不表示音频和视频共用一个密钥。Multi-key Quality Tiered 加密输出包分别使用 AUDIO 规则和视频画质规则。

使用命名模板后,应用代码无需维护大部分策略 JSON。DRM-X 会将模板名称展开为规范的 v2 策略,根据实际加密输出包验证策略,再将结果签入 DRM License Token。

为内容选择策略

策略应与视频打包加密时使用的密钥模型一致。

  1. Single Key Protection

    所有轨道共用一个策略:single-software、single-hdcp 或 single-hardware。

  2. Multi-key Quality Tiered

    使用 multi-tier-standard,为音频、SD、HD 和 UHD 分别设置安全规则。

选择与打包加密时所用密钥模型一致的策略模板。
名称加密输出包的密钥模型规则说明
single-software单密钥兼容性广,使用软件 DRM,不设置最低 HDCP 要求。
single-hdcp单密钥软件 DRM,要求 HDCP 1.x 级输出保护。
single-hardware单密钥硬件安全 DRM,要求 HDCP 2.2 级输出保护。
multi-tier-standard多密钥音频和 SD 使用软件 DRM;HD 使用软件 DRM + HDCP;UHD1 使用硬件安全 DRM + HDCP 2.2。
{
  "contentId": "course-12-lesson-4",
  "contentType": "vod",
  "drmSystem": "widevine",
  "subject": "customer-user-1001",
  "playbackMode": "streaming",
  "licensePolicyTemplate": "multi-tier-standard",
  "useEnvironmentDefaults": true,
  "maximumQualityTier": "auto"
}

启用 useEnvironmentDefaults: true 时,模板提供安全规则,已保存的环境设置决定 DRM License Token 有效期、并发播放数和续期方式。若需严格使用模板中的这些运行参数,请将该选项设为 false。

应用可通过 GET /api/v1/playback/license-policy-templates 查询当前内置模板。输入模板名称时不区分大小写,请求中会使用规范名称。

许可证策略

在请求中提交完整的自定义策略#

命名模板无法满足业务规则时,请使用 licensePolicy。同一请求中不要同时发送 licensePolicyTemplate。

{
  "policy_version": 2,
  "playback_policy": {
    "persistent": false,
    "license_duration": 14400,
    "rental_duration": 0,
    "playback_duration": 7200,
    "renewal_duration": 300,
    "allowed_track_types": "ALL",
    "max_stream_per_user": 2
  },
  "security_policy": [{
    "track_type": "ALL",
    "widevine": {
      "security_level": 1,
      "required_hdcp_version": "HDCP_V1",
      "disable_analog_output": true
    },
    "playready": {
      "security_level": 2000,
      "digital_video_protection_level": 250,
      "analog_video_protection_level": 150,
      "digital_audio_protection_level": 100
    },
    "fairplay": {
      "hdcp_enforcement": 0,
      "allow_airplay": true,
      "allow_av_adapter": false
    },
    "wiseplay": {
      "security_level": 1,
      "output_control": 1
    }
  }]
}

验证失败时拒绝授权的规则

  • 策略 JSON 不得超过 16 KiB,必须使用 policy_version: 2,最多包含七条不重复的轨道规则。
  • 单密钥内容必须包含一条 ALL 规则、allowed_track_types: ALL,并使用自动画质上限。
  • 多密钥规则可针对 AUDIO、SD、HD、UHD1 或 UHD2 设置。未列入规则的档位不会获得解密密钥。
  • max_stream_per_user: 0 表示对此 Token 禁用 DRM-X 的并发播放数限制。
  • expiresInSeconds 是 DRM License Token 的有效期(60–7200 秒),与 DRM 许可证有效期和允许播放时长分别设置。
在服务器端设置自定义策略将服务器确认的订阅套餐、租赁有效期、内容分级或设备类别映射到已批准的策略对象。不要直接转发浏览器或移动客户端提交的策略。