创建某个时间范围的M3U8索引文件。
接口说明
您已配置 OSS,具体操作,请参见配置 OSS。 直播录制索引是将视频直播流以 M3U8 的格式进行录制,存储在 OSS 中后,对已存储的 TS 分片索引文件进行实时的剪辑处理。
创建录制索引必保证直播流发生过推流行为,如果设置的时间内未发生过直播或直播流名称错误等会导致创建录制索引失败。
请确保 DomainName/AppName/StreamName 都是正确的,否则会返回 InvalidStream.NotFound 错误。
StartTime 和 EndTime 的间隔至少是一片 TS 的时长(默认为 30s)。
EndTime 要大于 StartTime,并且间隔最多不能超过 4 天。
TS 分片信息在视频直播系统中仅保存 3 个月,创建 M3U8 文件只能选择最近 3 个月的录制内容。
TS 分片文件存储在 OSS 中,保存时间由 OSS 的存储配置决定。详细信息,请参见设置生命周期规则。
创建好的 M3U8 索引文件的信息在视频直播系统中仅保存 6 个月,若要查询仅能查询 6 个月内创建的索引文件的信息。
M3U8 索引文件存储在 OSS 中,保存时间由 OSS 的存储配置决定。
当 M3U8 和 TS 的 bucket 不同时,M3U8 里的 TS 路径将会是 HTTP 格式。
QPS 限制
本接口的单用户 QPS 限制为 45 次/秒。超过限制,API 调用会被限流,这可能会影响您的业务,请合理调用。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
live:CreateLiveStreamRecordIndexFiles |
create |
*Domain
|
无 | 无 |
请求参数
名称 |
类型 |
必填 |
描述 |
示例值 |
DomainName |
string |
是 |
主播流域名。 |
example.com |
AppName |
string |
是 |
播流所属应用名称。AppName 名称与推流地址中的 AppName 名称对应,模板才能生效。若不限制 AppName 可填*,即可匹配所有 AppName。 |
liveApp**** |
StreamName |
string |
是 |
播流名称。StreamName 名称与推流地址中的 StreamName 名称对应,模板才能生效。若不限制 StreamName 可填*,即可匹配所有 StreamName。 |
liveStream**** |
OssEndpoint |
string |
是 |
OSS 存储 Endpoint 名称。 |
cn-oss-****.aliyuncs.com |
OssBucket |
string |
是 |
OSS 存储 Bucket 名称。 |
liveBucket**** |
OssObject |
string |
是 |
OSS 存储的录制文件名。 |
{AppName}/{StreamName}/{Date}/{Hour}/{Minute}_{Second}.m3u8 |
StartTime |
string |
是 |
索引文件的开始时间。ts 文件的上传时间在此之后则会被包含进索引文件。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。 |
2017-12-21T08:00:00Z |
EndTime |
string |
是 |
索引文件的结束时间。ts 文件的上传时间在此之前则会被包含进索引文件。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。 |
2017-12-22T08:00:00Z |
EndTimeIncluded |
boolean |
否 |
是否包含结束时间。传 true 会尝试多包含一个 ts 文件,创建的索引文件会完整覆盖 StartTime 和 EndTime。 |
false |
返回参数
名称 |
类型 |
描述 |
示例值 |
object |
|||
RequestId |
string |
请求 ID。 |
550439A3-F8EC-4CA2-BB62-B9DB43EEEF30 |
RecordInfo |
object |
录制配置信息。 |
|
RecordUrl |
string |
索引文件地址。 |
http://*****/atestObject.m3u8 |
StreamName |
string |
播流名称。 |
liveStream**** |
CreateTime |
string |
创建时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。 |
2016-05-27T09:40:56Z |
RecordId |
string |
索引文件 ID。 |
c4d7f0a4-b506-43f9-8de3-07732c3f**** |
Height |
integer |
视频高。 |
480 |
OssBucket |
string |
OSS 存储 Bucket 名称。 |
liveBucket**** |
DomainName |
string |
主播流域名。 |
example.com |
OssObject |
string |
OSS 存储的录制文件名。 |
liveObject****.m3u8 |
EndTime |
string |
结束时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。 |
2015-12-01T07:40:00Z |
AppName |
string |
播流所属应用名称。 |
liveApp**** |
StartTime |
string |
开始时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。 |
2015-12-01T07:36:00Z |
Width |
integer |
视频宽。 |
640 |
Duration |
number |
录制时长。单位:秒。 |
20 |
OssEndpoint |
string |
OSS 存储 Endpoint 名称。 |
cn-oss-****.aliyuncs.com |
示例
正常返回示例
JSON
格式
{
"RequestId": "550439A3-F8EC-4CA2-BB62-B9DB43EEEF30",
"RecordInfo": {
"RecordUrl": "http://*****/atestObject.m3u8",
"StreamName": "liveStream****",
"CreateTime": "2016-05-27T09:40:56Z",
"RecordId": "c4d7f0a4-b506-43f9-8de3-07732c3f****",
"Height": 480,
"OssBucket": "liveBucket****",
"DomainName": "example.com",
"OssObject": "liveObject****.m3u8",
"EndTime": "2015-12-01T07:40:00Z",
"AppName": "liveApp****",
"StartTime": "2015-12-01T07:36:00Z",
"Width": 640,
"Duration": 20,
"OssEndpoint": "cn-oss-****.aliyuncs.com"
}
}
错误码
HTTP status code |
错误码 |
错误信息 |
描述 |
---|---|---|---|
400 | InvalidStartTime.Mismatch | Specified StartTime does not math the current time. | |
400 | InvalidStartTime.Malformed | Specified StartTime is malformed. | |
400 | InvalidParams | invalid params | |
400 | InvalidEndTime.Malformed | Specified EndTime is malformed. | |
400 | InvalidEndTime.Mismatch | Specified end time does not math the specified start time. | 结束时间与开始时间不匹配,请您确认时间的匹配度。 |
400 | InvalidOssEndpoint.Malformed | Specified OssEndpoint is malformed. | |
400 | InvalidOssBucket.Malformed | Specified OssBucket is malformed. | OSSBucket参数错误,请您确认该OSS BUCKET参数是否正确。 |
400 | InvalidOssObject.Malformed | Specified OssObject is malformed. | |
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之间的记录内容为空。 |
400 | RecordContentExceed | The record content between StartTime and EndTime is exceeded, please narrow down the range. | |
400 | OperationNotSupport | The Operation is not support for flv/mp4 format or live to vod record. | |
500 | InternalError | The request processing has failed due to some unknown error, exception or failure. | |
404 | InvalidBucket.NotFound | The bucket does not belong to you. | 指定的bucket不属于当前用户。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。