You need to enable JavaScript to run this app.
内容分发网络

内容分发网络

复制全文
内容优化
标准 HLS 加密改写
复制全文
标准 HLS 加密改写

本文档介绍了火山引擎内容分发网络(CDN)提供的 "标准 HLS 加密改写" 特性。

说明

要使用此特性,请 提交工单

特性介绍

客户端在播放使用 HLS 协议传输的 .ts 加密视频流时,客户端需要事先获取用于解密视频流的密钥。密钥存放在密钥服务器上,客户端通过访问密钥 URL 来获取密钥。密钥 URL 包含在 .m3u8 播放列表文件中的 #EXT-X-KEY 标签内。为了更好保护密钥的安全,您可以使密钥 URL 包含客户端的签名,并在密钥服务器上实现签名校验机制来验证客户端的签名。

在启用 "标准 HLS 加密改写" 特性后,CDN 将 .m3u8 请求中包含的签名参数添加到密钥 URL。

说明

如果客户端在请求 .m3u8 文件时没有在请求 URL 中包含签名参数,CDN 不会改写密钥 URL。

密钥获取流程

下表分别展示了在启用该特性的场景和未启用该特性的场景中,客户端获取密钥的流程。粗体文字表示在启用该特性后,流程中的增加的步骤和信息。

在该场景中:

  • .m3u8 文件的 URL 是 https://www.example.com/index.m3u8
  • 签名参数是 DrmAuthToken,签名值是 xxx
  • 密钥 URL 是 https://www.test.com/video.key

未启用该特性时,密钥的获取流程

启用该特性后,密钥的获取流程

  1. 客户端向 CDN 请求该 .m3u8 文件。请求 URL 是 https://www.example.com/index.m3u8
  2. CDN 将该 .m3u8 文件发送给客户端。
  3. 客户端分析该 .m3u8 文件,获取 #EXT-X-KEY 标签中的密钥 URL。
  4. 客户端向该密钥 URL 发送请求。
  5. 密钥服务器将密钥发送给客户端。
  1. 客户端向 CDN 请求该 .m3u8 文件,请求 URL 是 https://www.example.com/index.m3u8?DrmAuthToken=xxx
  2. CDN 修改该 .m3u8 文件中 #EXT-X-KEY 标签的值,将签名参数添加到密钥 URL 的末尾。改写后的密钥 URL 为 https://www.test.com/video.key?DrmAuthToken=xxx
  3. CDN 将该 .m3u8 文件发送给客户端。
  4. 客户端分析该 .m3u8 文件,获取 #EXT-X-KEY 标签中的密钥 URL。
  5. 客户端向该改写后的密钥 URL 发送请求。
  6. 密钥服务器验证该请求 URL 中的签名。
  7. 判断签名是否合法。
    • 如果签名合法, 密钥服务器将密钥发送给客户端。
    • 如果签名不合法,密钥服务器拒绝该请求。

操作步骤

  1. 登录 火山引擎内容分发网络控制台
  2. 在左侧导航栏,点击 域名管理
  3. 域名管理 页面,找到需要配置的域名,点击 管理
    Image
  4. 定位 标准 HLS 加密改写 模块。
    • 如果您使用的是旧版域名管理页面,点击 编辑配置,然后在 内容优化 标签页中定位 标准 HLS 加密改写 模块。
    • 如果您使用的是新版域名管理页面,点击 编辑域名。在页面左侧的树状配置项列表中,定位 功能配置 > 内容优化 > 标准 HLS 加密改写。如果该模块置灰,点击模块右边的 +
      Image
      关于新旧版域名管理页面的区别,参见 新版域名配置
  5. 标准 HLS 加密改写 模块中,设置 状态 为启用。
  6. 指定签名参数的名称,长度不能超过 100 个字符。参数名称区分大小写,可以包含字母、数字、下划线(_)、中划线(-)、逗号(,)、句号(.)、感叹号(!)。默认的参数名称是 DrmAuthToken
  7. 点击 提交编辑

Image

最近更新时间:2026.02.28 17:13:29
这个页面对您有帮助吗?
有用
有用
无用
无用