调用CreateLiveStreamRecordIndexFiles创建某个时间范围的M3U8索引文件。
使用说明
您已配置OSS,具体操作,请参见配置OSS。
直播录制索引是将视频直播流以M3U8的格式进行录制,存储在OSS中后,对已存储的TS分片索引文件进行实时的剪辑处理。
- 创建录制索引必保证直播流发生过推流行为,如果设置的时间内未发生过直播或直播流名称错误等会导致创建录制索引失败。
- StartTime和EndTime的差值至少是一片TS的时长(默认为30s)。
- TS分片信息在视频直播系统中仅保存3个月,创建M3U8文件只能选择最近3个月的录制内容。
- TS分片文件存储在OSS中,保存时间由OSS的存储配置决定。详细信息,请参见设置生命周期规则。
- 创建好的M3U8索引文件的信息在视频直播系统中仅保存6个月,若要查询仅能查询6个月内创建的索引文件的信息。
- M3U8索引文件存储在OSS中,保存时间由OSS的存储配置决定。
QPS限制
本接口的单用户QPS限制为45次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | CreateLiveStreamRecordIndexFiles | 系统规定参数。取值:CreateLiveStreamRecordIndexFiles。 |
DomainName | String | 是 | example.com | 主播流域名。 |
AppName | String | 是 | liveApp**** | 播流所属应用名称。 |
StreamName | String | 是 | liveStream**** | 播流名称。 |
OssEndpoint | String | 是 | cn-oss-****.aliyuncs.com | OSS存储Endpoint名称。 |
OssBucket | String | 是 | liveBucket**** | OSS存储Bucket名称。 |
OssObject | String | 是 | {AppName}/{StreamName}/{Date}/{Hour}/{Minute}_{Second}.m3u8 | OSS存储的录制文件名。 |
StartTime | String | 是 | 2017-12-21T08:00:00Z | 索引文件的开始时间。ts文件的上传时间在此之后则会被包含进索引文件。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 |
EndTime | String | 是 | 2017-12-22T08:00:00Z | 索引文件的结束时间。ts文件的上传时间在此之前则会被包含进索引文件。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 |
EndTimeIncluded | Boolean | 否 | false | 是否包含结束时间。传true会尝试多包含一个ts文件,创建的索引文件会完整覆盖StartTime和EndTime。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | 550439A3-F8EC-4CA2-BB62-B9DB43EEEF30 | 请求ID。 |
RecordInfo | Object | 录制配置信息。 |
|
RecordUrl | String | http://*****/atestObject.m3u8 | 索引文件地址。 |
StreamName | String | liveStream**** | 播流名称。 |
CreateTime | String | 2016-05-27T09:40:56Z | 创建时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 |
RecordId | String | c4d7f0a4-b506-43f9-8de3-07732c3f**** | 索引文件ID。 |
Height | Integer | 480 | 视频高。 |
OssBucket | String | liveBucket**** | OSS存储Bucket名称。 |
DomainName | String | example.com | 主播流域名。 |
OssObject | String | liveObject****.m3u8 | OSS存储的录制文件名。 |
EndTime | String | 2015-12-01T07:40:00Z | 结束时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 |
AppName | String | liveApp**** | 播流所属应用名称。 |
StartTime | String | 2015-12-01T07:36:00Z | 开始时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 |
Width | Integer | 640 | 视频宽。 |
Duration | Float | 20 | 录制时长。单位:秒。 |
OssEndpoint | String | cn-oss-****.aliyuncs.com | OSS存储Endpoint名称。 |
示例
请求示例
http(s)://[Endpoint]/?Action=CreateLiveStreamRecordIndexFiles
&DomainName=example.com
&AppName=liveApp****
&StreamName=liveStream****
&OssEndpoint=cn-oss-****.aliyuncs.com
&OssBucket=liveBucket****
&OssObject={AppName}/{StreamName}/{Date}/{Hour}/{Minute}_{Second}.m3u8
&StartTime=2017-12-21T08:00:00Z
&EndTime=2017-12-22T08:00:00Z
&EndTimeIncluded=false
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateLiveStreamRecordIndexFilesResponse>
<RequestId>550439A3-F8EC-4CA2-BB62-B9DB43EEEF30</RequestId>
<RecordInfo>
<EndTime>2015-12-01T07:40:00Z</EndTime>
<DomainName>example.com</DomainName>
<CreateTime>2016-05-27T09:40:56Z</CreateTime>
<StartTime>2015-12-01T07:36:00Z</StartTime>
<OssBucket>liveBucket****</OssBucket>
<Duration>20</Duration>
<AppName>liveApp****</AppName>
<StreamName>liveStream****</StreamName>
<OssEndpoint>cn-oss-****.aliyuncs.com</OssEndpoint>
<RecordUrl>http://*****/atestObject.m3u8</RecordUrl>
<OssObject>liveObject****.m3u8</OssObject>
<Height>480</Height>
<RecordId>c4d7f0a4-b506-43f9-8de3-07732c3f****</RecordId>
<Width>640</Width>
</RecordInfo>
</CreateLiveStreamRecordIndexFilesResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"CreateLiveStreamRecordIndexFilesResponse" : {
"RequestId" : "550439A3-F8EC-4CA2-BB62-B9DB43EEEF30",
"RecordInfo" : {
"EndTime" : "2015-12-01T07:40:00Z",
"DomainName" : "example.com",
"CreateTime" : "2016-05-27T09:40:56Z",
"StartTime" : "2015-12-01T07:36:00Z",
"OssBucket" : "liveBucket****",
"Duration" : 20,
"AppName" : "liveApp****",
"StreamName" : "liveStream****",
"OssEndpoint" : "cn-oss-****.aliyuncs.com",
"RecordUrl" : "http://*****/atestObject.m3u8",
"OssObject" : "liveObject****.m3u8",
"Height" : 480,
"RecordId" : "c4d7f0a4-b506-43f9-8de3-07732c3f****",
"Width" : 640
}
}
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
400 | InvalidStartTime.Malformed | Specified StartTime is malformed. | StartTime参数错误,请您确认该StartTime参数是否正确。 |
400 | InvalidEndTime.Malformed | Specified EndTime is malformed. | 结束时间错误,请您确认结束时间是否正确。 |
400 | InvalidEndTime.Mismatch | Specified end time does not math the specified start time. | 结束时间与开始时间不匹配,请您确认时间的匹配度。 |
400 | InvalidOssBucket.Malformed | Specified OssBucket is malformed. | OSSBucket参数错误,请您确认该OSS BUCKET参数是否正确。 |
400 | InvalidOssObject.Malformed | Specified OssObject is malformed. | OSSObject参数错误,请您确认该OSSObject参数是否正确。 |
400 | InvalidStream.NotFound | Speicified stream does not exist. | 直播流不存在,请您确认直播流是否正确。 |
400 | InvalidConfig.Changed | The oss bucket info between StartTime and EndTime has changed. | ossbucket开始结束时间已经改变。 |
400 | NoRecordContent | The record content between StartTime and EndTime is empty. | StartTime和EndTime之间的记录内容为空。 |
访问错误中心查看更多错误码。