直播时移

最近更新时间:2019-08-15 17:30:16

直播时移依托云直播录制的能力,将 TS 分片地址和 TS 文件单独存放,保存于云点播系统中。客户端通过时移播放域名传入时间参数,可以播放当前时间之前的精彩视频内容。

时移原理

在常见的 HLS 视频直播中,推流视频内容被切成多个 TS 分片。用户观看时,通过请求 m3u8 文件来访问 TS 分片地址,获取到 TS 文件,进而观看到直播流内容。这种情况下,因为 TS 文件内容不会持久化保存,用户无法回溯当前时间之前的直播视频内容。

时移使用

注意:

开启时移功能将产生点播流量和点播存储费用,请知悉。详细可参见云点播 价格总览

  1. 开通 云点播功能
  2. 您需要申请域名用于时移播放,并且在工信部完成此域名的备案。进入 云点播控制台,按 分发播放设置 文档说明,配置添加该域名为云点播域名。同时完成此域名的 CNAME 操作。腾讯云的配置可参见 快速添加域名解析
  3. 提工单到云直播来开通此域名的时移服务,同时提供以下参数:
    • timeshift_dur 时移时长:
      • 单位秒,表示时移可以看多长时间的内容(目前最长可配置时移7天内的内容)。
      • 此项并不保证绝对精准,按需求配置的前提下,建议多加一小段时间。
      • 假设配置为7200(2小时):表示当前可请求2小时前到现在的时移内容(即 delay 相对时移时长可为90s - 2小时);时移超过2小时前的内容,即使有直播内容,也会返回 HTTP 404。
    • timeshift_stor 时移存储时长:
      • 单位秒,表示因开启时移导致生成的录制文件(HLS)在云点播中存储的时长。
      • 配置成0的情况下,不会自动删除此云点播文件。
      • 配置成非0的情况下,此参数需要大于(timeshift_dur + 3600),如果小于(timeshift_dur + 3600 ),则会自动调整为(timeshift_dur + 3600)。
      • 假设配置为14400(4小时):开启时移的流,在每次直播推流结束之后会生成一个直播录制文件(HLS)落地到云点播。在直播结束之后4小时,此录制文件会自动从云点播系统中删除。

播放请求

请求参数格式如下:

http://[Domain]/timeshift/[AppName]/[StreamName]/timeshift.m3u8?delay=xxx

其中:

  • [Domain] 是您注册的时移服务访问域名,即您在云点播控制台上添加的域名。
  • timeshift 是固定字段。
  • [AppName] 是应用名称,如果您的应用名称是live,那么请填live
  • [StreamName] 是流名称,填您请求对应的流名称。
  • timeshift.m3u8 是固定字段。
  • delay 表示相对时移时长,单位秒。目前该值小于90,后台可调整成90。
    例如,您想时移应用名称是live、流名称是SLPUrIFzGPE的5分钟前的直播内容,那么请求 URL 如下:
    http://testtimeshift.com/timeshift/live/SLPUrIFzGPE/timeshift.m3u8?delay=300