全部产品
Search
文档中心

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

更新时间:Dec 05, 2024

创建某个时间范围的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 调用会被限流,这可能会影响您的业务,请合理调用。

    调试

    您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

    授权信息

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

    • 操作:是指具体的权限点。
    • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
    • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
      • 对于必选的资源类型,用背景高亮的方式表示。
      • 对于不支持资源级授权的操作,用全部资源表示。
    • 条件关键字:是指云产品自身定义的条件关键字。
    • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
    操作访问级别资源类型条件关键字关联操作
    live:CreateLiveStreamRecordIndexFilescreate
    *Domain
    acs:cdn:*:{#accountId}:domain/{#DomainName}

    请求参数

    名称类型必填描述示例值
    DomainNamestring

    主播流域名。

    example.com
    AppNamestring

    播流所属应用名称。AppName 名称与推流地址中的 AppName 名称对应,模板才能生效。若不限制 AppName 可填*,即可匹配所有 AppName。

    liveApp****
    StreamNamestring

    播流名称。StreamName 名称与推流地址中的 StreamName 名称对应,模板才能生效。若不限制 StreamName 可填*,即可匹配所有 StreamName。

    liveStream****
    OssEndpointstring

    OSS 存储 Endpoint 名称。

    cn-oss-****.aliyuncs.com
    OssBucketstring

    OSS 存储 Bucket 名称。

    liveBucket****
    OssObjectstring

    OSS 存储的录制文件名。

    {AppName}/{StreamName}/{Date}/{Hour}/{Minute}_{Second}.m3u8
    StartTimestring

    索引文件的开始时间。ts 文件的上传时间在此之后则会被包含进索引文件。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。

    2017-12-21T08:00:00Z
    EndTimestring

    索引文件的结束时间。ts 文件的上传时间在此之前则会被包含进索引文件。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。

    2017-12-22T08:00:00Z
    EndTimeIncludedboolean

    是否包含结束时间。传 true 会尝试多包含一个 ts 文件,创建的索引文件会完整覆盖 StartTime 和 EndTime。

    false

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求 ID。

    550439A3-F8EC-4CA2-BB62-B9DB43EEEF30
    RecordInfoobject

    录制配置信息。

    RecordUrlstring

    索引文件地址。

    http://*****/atestObject.m3u8
    StreamNamestring

    播流名称。

    liveStream****
    CreateTimestring

    创建时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。

    2016-05-27T09:40:56Z
    RecordIdstring

    索引文件 ID。

    c4d7f0a4-b506-43f9-8de3-07732c3f****
    Heightinteger

    视频高。

    480
    OssBucketstring

    OSS 存储 Bucket 名称。

    liveBucket****
    DomainNamestring

    主播流域名。

    example.com
    OssObjectstring

    OSS 存储的录制文件名。

    liveObject****.m3u8
    EndTimestring

    结束时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。

    2015-12-01T07:40:00Z
    AppNamestring

    播流所属应用名称。

    liveApp****
    StartTimestring

    开始时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。

    2015-12-01T07:36:00Z
    Widthinteger

    视频宽。

    640
    Durationfloat

    录制时长。单位:秒。

    20
    OssEndpointstring

    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错误码错误信息描述
    400InvalidStartTime.MismatchSpecified StartTime does not math the current time.-
    400InvalidStartTime.MalformedSpecified StartTime is malformed.StartTime参数错误,请您确认该StartTime参数是否正确。
    400InvalidParamsinvalid params-
    400InvalidEndTime.MalformedSpecified EndTime is malformed.结束时间错误,请您确认结束时间是否正确。
    400InvalidEndTime.MismatchSpecified end time does not math the specified start time.结束时间与开始时间不匹配,请您确认时间的匹配度。
    400InvalidOssEndpoint.MalformedSpecified OssEndpoint is malformed.-
    400InvalidOssBucket.MalformedSpecified OssBucket is malformed.OSSBucket参数错误,请您确认该OSS BUCKET参数是否正确。
    400InvalidOssObject.MalformedSpecified OssObject is malformed.OSSObject参数错误,请您确认该OSSObject参数是否正确。
    400InvalidStream.NotFoundSpeicified stream does not exist.直播流不存在,请您确认直播流是否正确。
    400InvalidConfig.ChangedThe oss bucket info between StartTime and EndTime has changed.ossbucket开始结束时间已经改变。
    400NoRecordContentThe record content between StartTime and EndTime is empty.StartTime和EndTime之间的记录内容为空。
    400RecordContentExceedThe record content between StartTime and EndTime is exceeded, please narrow down the range.-
    400OperationNotSupportThe Operation is not support for flv/mp4 format or live to vod record.-
    404InvalidBucket.NotFoundThe bucket does not belong to you.指定的bucket不属于当前用户。
    500InternalErrorThe request processing has failed due to some unknown error, exception or failure.-

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

    变更历史

    变更时间变更内容概要操作
    暂无变更历史