CreateLiveStreamRecordIndexFiles - 创建录制索引文件

创建某个时间范围的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代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

live:CreateLiveStreamRecordIndexFiles

create

*Domain

acs:cdn:*:{#accountId}:domain/{#DomainName}

请求参数

名称

类型

必填

描述

示例值

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. StartTimeEndTime之间的记录内容为空。
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不属于当前用户。

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

变更历史

更多信息,参考变更详情