全部产品
Search
文档中心

视频直播:创建录制索引文件

更新时间:Feb 01, 2024

调用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之间的记录内容为空。

访问错误中心查看更多错误码。