适用场景
对于录制下来的文件,您可以:
- 设置回调,每当一个录制文件生成,都能收到一个HTTP请求,便于您做一些业务上的实时处理。
- 查询已录制的内容,可按时间轴展示录制内容覆盖的时间区间。
- 将已录制的TS片段按时间段生成一个M3U8索引(写入您指定的bucket,可以直接播放)。
使用流程
直接调用相应接口。涉及到的API包括:
API名称 | 说明 |
---|---|
AddLiveRecordNotifyConfig | 配置某个域名下的录制回调,包括事件回调和按需录制回调。 |
DeleteLiveRecordNotifyConfig | 如果不再需要某个域名的录制回调,可以通过该接口删除。 |
DescribeLiveRecordNotifyConfig | 查询某个域名的录制回调 |
UpdateLiveRecordNotifyConfig | 更新某个域名的录制回调 |
录制事件回调 | 录制事件回调给您的HTTP消息定义 |
DescribeLiveStreamRecordContent | 查询录制内容包含的时间段 |
CreateLiveStreamRecordIndexFiles | 根据时间段创建录制索引 |
DescribeLiveStreamRecordIndexFiles | 根据时间段查询录制索引 |
DescribeLiveStreamRecordIndexFile | 查询某个录制索引的信息 |
实践示例
- 回调录制文件生成事件
调用AddLiveRecordNotifyConfig接口,设置域名
test.com
下直播录制文件生成事件都回调到http://cb.test.com
这个地址:/?DomainName=test.com &NotifyUrl=http://cb.test.com &<公共请求参数>
设置之后,如果一条直播流test.com/live/teststream
生成录制文件(TS/MP4/FLV),您就会收到以下内容的回调:POST / HTTP/1.1 Host: live.abc.com User-Agent: Go-http-client/1.1 { "domain": "test.com", "app": "live", "stream": "teststream", "uri": "live/teststream/0_2017-03-08-23:09:46_2017-03-08-23:10:40.flv", "duration": 69.403, "start_time": 1488985786, "stop_time": 1488985840 }
- 查询录制内容覆盖的时间段
假设您希望查找这条直播流
test.com/live/teststream
在2019-02-15 09:00:00
到2019-02-15 21:00:00
之间的录制内容,可按如下方式调用DescribeLiveStreamRecordContent接口:/?AppName=live &DomainName=test.com &StreamName=teststream &StartTime=2019-02-15T01:00:00Z &EndTime=2019-02-15T13:00:00Z &<公共请求参数>
- 生成某个时间段的M3U8索引
假设您已录制了
2019-02-15 09:00:00
到2019-02-15 21:00:00
的内容,但是想将10点到11点的内容单独生成一段M3U8录制索引,那么您可以按如下方式调用DescribeLiveStreamRecordContent接口:/?AppName=live &DomainName=test.com &StreamName=teststream &StartTime=2019-02-15T02:00:00Z &EndTime=2019-02-15T03:00:00Z &<公共请求参数>
生成的M3U8文件将会上传到您指定的OSS bucket中(保存路径可通过AddLiveAppRecordConfig接口修改)。
注意事项
- 以上接口中的StartTime和EndTime字段填的均是UTC时间,请注意和本地时区的对应。
- 录制文件检索信息在视频直播系统中只保存6个月(过期会删除检索信息,但是不会删除用户录制文件)。
- ts分片信息在视频直播系统中只保存3个月,创建手动m3u8文件只能选择最近3个月的录制内容(过期会删除ts检索信息,但是不会删除用户录制ts文件)。
在文档使用中是否遇到以下问题
更多建议
匿名提交