You need to enable JavaScript to run this app.
文档中心
视频直播

视频直播

复制全文
下载 pdf
功能配置
时移配置
复制全文
下载 pdf
时移配置

直播时移功能让观众可以像观看点播视频一样,自由控制直播进度。无论直播正在进行还是已经结束,只要在设定的时间范围内,观众就可以随时暂停并无缝续播、回看任意片段或从头开始播放,确保不会错过任何精彩内容。本文介绍如何配置直播时移并生成时移播放地址。

核心价值

  • 提升观看体验:观众不再受实时播放进度限制,可随时暂停或回看关键片段。例如,观看体育赛事时回看进球,或在在线课程中回看重点讲解,从而提升观看灵活性和满意度。
  • 增加内容消费时长:中途进入直播的观众可从头开始观看完整内容,有效延长观看时长并提高参与度。
  • 即时内容复用:直播结束后,时移内容可立即用于点播回放。观众可在配置的时移天数内通过时移播放地址继续观看,实现直播转回放。

工作原理

时移可以理解为边推流边录制。启用时移后,服务端会执行以下操作:

  1. 实时录制和索引:服务端按照 HLS 协议将直播流实时切分为 TS 分片,同时维护包含这些 TS 分片完整播放顺序的 M3U8 播放列表。
  2. 响应播放请求:观众暂停、回看或从头观看时,播放器使用 timeshift 参数,或使用 start 和 end 参数向服务端请求指定时间点的内容。
  3. 生成自定义播放列表:收到请求后,服务端基于 M3U8 播放列表为观众动态生成临时自定义播放列表。该播放列表仅包含观众要观看的时间范围内的 TS 分片。
  4. 按需播放:获取自定义播放列表后,播放器按顺序加载并播放其中的 TS 分片,从而实现时移播放。

注意事项

  • 计费说明:
    • 使用直播时移会产生时移文件存储费用和时移录制费用。详见时移计费和录制计费。
    • 选择转码流或 HLS-ABR 流生成时移内容时,还会产生转码费用。详见转码计费。
  • 生效时间:新增、更新、删除时移配置后,需等待 3-5 分钟并重新推流,变更后的配置才会生效。

前提条件

  • 已在同一域名空间下,添加推流域名和拉流域名。详见添加域名。
  • 使用转码流生成时移内容时,已在同一域名空间和 AppName 下添加触发方式为推流转码的转码配置。详见转码配置。
  • 使用 HLS-ABR 流生成时移内容时,已在同一域名空间和 AppName 下添加协议类型为 HLS-ABR 的 ABR 配置。详见ABR 配置。

操作步骤

步骤一:添加时移配置

  1. 登录视频直播控制台。
  2. 左侧导航栏选择功能配置,右侧页面选择时移配置页签。
  3. 在页面域名空间下拉列表中,选择域名空间。
    Image
  4. 单击添加配置,打开添加时移配置对话框。
  5. 根据页面提示配置相关参数。
    Image

    说明

    如果页面显示复用录制到 TOS 配置复选框,请确保未选中该复选框。

    参数说明

    AppName

    指定该时移配置的 AppName,必须与推流地址中的 AppName 一致。例如,推流地址为 rtmp://push.example.com/live/test?authinfo 时,AppName 为 live。

    AppName 由大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)和短横线(-)组成,长度为 1-30 个字符。

    StreamName

    指定该时移配置的 StreamName,必须与推流地址中的 StreamName 一致。例如,推流地址为 rtmp://push.example.com/live/test?authinfo 时,StreamName 为 test。

    • 指定流:填写由大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)和短横线(-)组成的 StreamName,长度为 1-100 个字符。配置仅对指定 AppName 下的该流生效。
    • 指定 AppName 下的所有流:填写星号(*)或留空。配置对指定 AppName 下的所有流生效。

    说明

    • 多个时移配置匹配同一流时,匹配范围更精确的配置优先。
    • 对于同一域名空间和 AppName,最多可配置 20 条指定 StreamName 的时移配置。仅指定 StreamName 的配置计入该限制。匹配指定 AppName 下所有流的配置不计入该限制。
    • 若同一 AppName 下的多条流使用相同的时移规则,可将 StreamName 设置为星号(*)或留空。逐条为指定 StreamName 添加配置时,仅已配置的流可以使用时移。

    录制内容

    选择用于生成时移内容的流类型。

    • 原始流:使用推送的原始流生成时移内容,不经过转码。观众观看时移内容时的画质与原始流一致。
    • 转码流:使用所有匹配的转码流生成时移内容,不能选择特定转码后缀。观众观看时移内容时可切换转码流画质。生成时移内容时,仅使用同一域名空间和 AppName 下触发方式为推流转码的转码配置生成的转码流。
    • HLS-ABR:使用主播放列表中的全部 ABR 子流生成时移内容,不能选择特定子流。播放器可根据网络状况自动切换子流,以持续播放时移内容。仅当同一域名空间和 AppName 下已添加协议类型为 HLS-ABR 的 ABR 配置时,才可选择 HLS-ABR。

    说明

    • HLS-ABR 仅可在添加时移配置时选择。创建配置后,不能将录制内容从 HLS-ABR 切换为其他类型,也不能从其他类型切换为 HLS-ABR。
    • 使用转码流或 HLS-ABR 流生成时移内容时,请谨慎修改对应的转码配置或 ABR 配置。
      • 删除时移配置正在使用的转码配置或 ABR 配置,会导致观众无法观看时移内容。
      • 更新时移配置正在使用的转码配置或 ABR 配置后,必须等待 3-5 分钟并重新推流,变更才会生效。

    TS 切片时长

    HLS 视频流中每个 TS 分片的时长,单位为秒。取值范围为 3-20 秒。

    该值主要影响定位精度和播放稳定性,调整时需要权衡两者:

    • 较短的切片时长,例如 3-5 秒。
      • 优势:定位精度更高。较短的切片可让观众在拖动进度条时更准确地定位和跳转到指定时刻。
      • 限制:播放卡顿风险更高。较短的切片会缩短播放器的缓冲时间,降低对网络波动的容忍度,网络抖动时更容易发生卡顿。
      • 适用场景:需要高定位精度的场景,例如体育赛事分析、游戏精彩回放和在线课程重点复习。
    • 较长的切片时长,例如 10-15 秒。
      • 优势:播放更稳定。较长的切片可让播放器通过单次下载获得更长的缓冲时间,有效抵御网络抖动并减少播放卡顿。
      • 限制:定位精度较低。较长的切片会限制观众在进度条上精确定位,难以跳转到指定秒数。
      • 适用场景:优先保证流畅播放而非精确定位的场景,例如观看一般节目回放或录制的新闻发布会。

    时移天数

    直播结束后时移内容的保留时长。保留期从直播实际结束时间开始计算。

    到期后,系统会自动清理已存储的时移文件,观众无法继续观看时移内容。删除时移配置不会改变已有时移文件的到期时间。

    例如,直播在 1 月 1 日 19:00-20:00 进行,时移天数为 1 天时,观众可在 1 月 2 日 20:00 前观看时移内容。

    支持选择以下时移天数:

    • 1 天
    • 3 天
    • 7 天
    • 15 天
    分发域名选择当前域名空间下的拉流域名,用于生成直播时移播放地址。观众可使用该域名观看时移内容。
  6. 单击确定,完成配置。您可以在列表中查看配置结果,或单击编辑或删除,更新或删除配置。
    Image
    新增、编辑或删除时移配置后,必须等待 3-5 分钟并重新推流,变更后的时移配置才会生效。新增时移配置的状态为配置中,配置生效后状态更新为已启用。

步骤二:生成时移播放地址

添加时移配置后,生成时移播放地址并将其传入播放器。

要启用时移播放,播放器需要先使用直播拉流地址播放。观众回看、从头开始观看或选择过去的时间点观看时,生成时移播放地址并传入播放器,以拉取和播放所请求的内容。

说明

如使用 Web 拉流 SDK 播放时移内容,详见直播时移。

  • 相对时移:适用于直播期间,观众需要回看当前直播时间点之前的内容。观众拖动进度条时,播放器计算目标位置与当前直播位置的时间差,单位为秒,并将该值作为 timeshift 参数值生成时移播放地址。
    仅在拉流域名开启 URL 鉴权时,在播放地址中追加 &{鉴权参数}。详见配置 URL 鉴权。
    原始流和转码流的时移播放地址格式如下:

    http(s)://{PullDomain}/{AppName}/{StreamName}{Suffix}.m3u8?timeshift={时间}&{鉴权参数}
    

    原始流的 {Suffix} 留空。转码流的 {Suffix} 为转码配置中的转码后缀,例如 _hd。
    HLS-ABR 流的时移播放地址格式如下:

    http(s)://{PullDomain}/{AppName}/{StreamName}/abr.m3u8?timeshift={时间}&{鉴权参数}
    

    例如,观众拖动进度条回看 5 分钟前的内容:

    • 原始流直播播放地址:http://pull.example.com/live/test.m3u8。
    • 播放器生成的原始流时移播放地址:http://pull.example.com/live/test.m3u8?timeshift=300。
    • 播放器生成的转码流时移播放地址:http://pull.example.com/live/test_hd.m3u8?timeshift=300。
    • 播放器生成的 HLS-ABR 流时移播放地址:http://pull.example.com/live/test/abr.m3u8?timeshift=300。

    播放器使用时移播放地址拉取内容后,会跳转到 5 分钟前的内容并从该位置继续播放。

  • 绝对时移:适用于直播期间或结束后观看指定时间范围内的内容。为播放地址添加 mode、start 和 end 参数。
    start 和 end 支持秒级 RFC3339 UTC 时间、秒级 Unix 时间戳和 YYYYMMDDHHMMSS 格式。YYYYMMDDHHMMSS 按 UTC+0 解析。例如,20260325153000 表示 2026 年 3 月 25 日 UTC+0 15:30:00。
    典型场景包括观众在直播中途进入并希望从头观看,或在直播结束后回看指定时间段的内容,例如 19:00 至 19:30。

    • mode 决定播放器如何播放请求的时间范围,以及播放到 end 时间后的行为。默认值为 1。
      • mode=1:按点播方式播放,适用于直播结束后的完整回放或精彩片段回放。服务端返回包含 #EXT-X-ENDLIST 的 M3U8 播放列表。播放器到达 end 时间后自动停止播放,观众可像观看点播视频一样自由拖动进度条。
      • mode=3:按直播方式播放,适用于直播期间,观众从直播开始或此前的某个时间点回看,并在回看结束后继续观看后续直播内容。服务端返回不包含 #EXT-X-ENDLIST 的 M3U8 播放列表。播放至 end 指定的时间后,如直播仍在进行,播放器会继续播放后续直播内容。

      注意

      当 mode=3 时,start 的取值不能早于直播实际开始时间前 2 小时。例如,直播于 2026 年 3 月 25 日 15:00 开始时,最早有效的 start 取值为当天 13:00。更早的值会返回 404 错误。

    • start:播放开始时间。
    • end:播放结束时间。

    仅在拉流域名开启 URL 鉴权时,在播放地址中追加 &{鉴权参数}。详见配置 URL 鉴权。
    原始流和转码流的时移播放地址格式如下:

    http(s)://{PullDomain}/{AppName}/{StreamName}{Suffix}.m3u8?mode={mode}&start={UTC/Unix/Human}&end={UTC/Unix/Human}&{鉴权参数}
    

    原始流的 {Suffix} 留空。转码流的 {Suffix} 为转码配置中的转码后缀,例如 _hd。
    HLS-ABR 流的时移播放地址格式如下:

    http(s)://{PullDomain}/{AppName}/{StreamName}/abr.m3u8?mode={mode}&start={UTC/Unix/Human}&end={UTC/Unix/Human}&{鉴权参数}
    

    例如,直播在 2026 年 3 月 25 日 15:00-17:00(UTC+0)进行。直播结束后提供完整回放时,可使用以下播放地址:

    • 原始流:http://pull.example.com/live/test.m3u8?mode=1&start=20260325150000&end=20260325170000。
    • 转码流,后缀为 _hd:http://pull.example.com/live/test_hd.m3u8?mode=1&start=20260325150000&end=20260325170000。
    • HLS-ABR 流:http://pull.example.com/live/test/abr.m3u8?mode=1&start=20260325150000&end=20260325170000。

参数说明如下表所示。

参数说明示例值
PullDomain配置直播时移时选择的拉流域名。pull.example.com
AppName与推流地址中的 AppName 相同。live
StreamName与推流地址中的 StreamName 相同。test
鉴权参数鉴权信息。仅在拉流域名开启 URL 鉴权时追加。例如,使用 A 类鉴权时,鉴权信息为 auth_key={timestamp}-{rand}-{uid}-{md5hash}。详见配置 URL 鉴权。auth_key=1758296819-123e4567-0-fbe5e26c0b****1431c3c897f7bdc278
timeshift在相对时移模式下,观众拖动进度条回看内容时,目标位置与当前直播位置的时间差,单位为秒。取值范围为 (0,604800]。例如,300 表示回看 5 分钟前的直播内容。300

mode

在绝对时移模式下,决定播放器如何播放请求的时间范围,以及播放到 end 时间后的行为。默认值为 1。支持以下取值:

  • 1:按点播方式播放。播放器到达 end 时间后自动停止播放,观众可像观看点播视频一样自由拖动进度条。
  • 3:按直播方式播放。播放器到达 end 时间后,如直播仍在进行,会继续播放后续直播内容。

3

start

播放开始时间。start 和 end 可以使用不同的格式,但建议使用相同格式。支持以下格式:

  • UTC:秒级 RFC3339 UTC 时间,例如 2026-03-25T15:00:00Z。
  • Unix:秒级 Unix 时间戳,例如 1774422000。
  • Human:YYYYMMDDHHMMSS 格式,按 UTC+0 解析。例如,20260325153000 表示 2026 年 3 月 25 日 UTC+0 15:30:00。

1774422000

end

播放结束时间。支持以下格式:

  • UTC:秒级 RFC3339 UTC 时间,例如 2026-03-25T17:00:00Z。
  • Unix:秒级 Unix 时间戳,例如 1774429200。
  • Human:YYYYMMDDHHMMSS 格式,按 UTC+0 解析。例如,20260325170000 表示 2026 年 3 月 25 日 UTC+0 17:00:00。

1774429200

最近更新时间:2026.10.27 00:32:00
这个页面对您有帮助吗?
有用
有用
无用
无用