直播时移可以回看从直播开始时间到当前时间之间的直播视频。本文详细介绍了直播时移原理及相关配置参数信息。
直播时移原理
直播时移基于常规的HLS视频直播,直播推流被切分成TS分片,通过HLS协议向播放用户分发,用户请求的M3U8播放文件中包含不断刷新的TS分片地址;对于常规的HLS直播而言,TS分片地址及相应的TS文件无法保存,导致当前时间之前的直播视频内容无法回溯;开通直播时移功能后,TS分片地址及相应TS文件会分别在数据库和OSS中最长保存30天,可以回溯从直播开始时间到当前时间之间的视频。
直播时移配置
直播时移功能可以在视频直播控制台配置。具体操作,请参见直播时移。
直播时移最大支持直播观看人数为10万人,如果需要支持更多人观看,请您提交工单申请。
直播时移请求参数
HLS直播地址为:http://domain/app/stream.m3u8
,实现时移播放需在此直播地址上追加时移相关参数。
说明 通过CDN调用时移请求时必须携带
aliyunols
参数。
时间相关的参数
Key格式:lhs_{type}_{format}_{unit}_{zone}
。参数名由4个变量组成,前缀固定为lhs_,变量之间用下划线 (_)隔开。具体参数信息,请参见下表:
名称 | 描述 |
---|---|
type | 时间的类型。取值:
|
format | 时间格式。取值:
|
unit | 时间单位。取值:
|
zone | 时区。取值:{0-9}。
说明 当format取值为unix时,zone取值为0。
|
示例:
lhs_start_human_s_8=20170809200010
lhs_start_unix_s_0=1502280113
lhs_offset_unix_ms_0=1800000
(向前时移30分钟)
请求示例:
http://example.com/live/channel1.m3u8?aliyunols=on&lhs_start_human_s_8=20171024160220&lhs_end_human_s_8=20171024160420
时间轴查询
名称 | 描述 |
---|---|
url | http://{$domain}/openapi/timeline/query ,{$domain} 需使用您的播流域名。
|
method | GET |
params |
说明 如果您开启了CDN的鉴权,需要加上对应的鉴权参数。
|
response(JSON格式) |
示例如下:
|
示例:
http://example.com/openapi/timeline/query?aliyunols=on&app=bbb&stream=cc&format=ts&lhs_end_unix_s_0=1513334270&lhs_start_unix_s_0=1513334255
带鉴权的示例:
http://example.com/openapi/timeline/query?auth_key=1606204918-0-0-3e898a5f491fedb113d17aad7c091dde&aliyunols=on&app=zzb-test&stream=zzb-shiyi&format=ts&lhs_start_unix_s_0=1606200900&lhs_end_unix_s_0=1606202520