AddLiveAppRecordConfig - 添加录制配置

配置APP录制,输出内容保存到OSS中。

接口说明

直播录制功能,可以将直播内容进行录制,保存至您指定的位置,在您需要回看直播内容时可以进行回看。存储至 OSS 的录制内容,支持多种保存格式(TS、MP4、FLV、CMAF),支持自定义录制策略(自动录制、按需录制、手动录制),调用此接口可进行录制模版设置。更多直播录制功能使用可参见直播录制说明文档。

QPS 限制

本接口的单用户 QPS 限制为 30 次/秒。超过限制,API 调用会被限流,这可能会影响您的业务,请合理调用。

调试

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

授权信息

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

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

请求参数

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

主播流域名。

example.com
AppNamestring

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

liveApp****
OssEndpointstring

OSS 存储的 Endpoint 名称。

直播录制文件存储至 OSS,需提前创建 OSS Bucket,创建方法请参见配置 OSS

learn.developer.aliyundoc.com
OssBucketstring

OSS 存储的 Bucket 名称。

直播录制文件存储至 OSS,需提前创建 OSS Bucket,创建方法请参见配置 OSS

liveBucket****
StreamNamestring

播流名称。

teststream
StartTimestring

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

说明 设置的时间必须是实际推流时间开始 7 天之内,只在流级别录制(StreamName 不为空)有效。
2018-04-10T09:57:21Z
EndTimestring

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

说明 EndTime 与 StartTime 相差不应超过 7 天,超过 7 天将按照 7 天计算。只在流级别录制(StreamName 不为空)有效。
2018-04-16T09:57:21Z
OnDemandinteger

按需录制。取值:

  • 0:关闭。
  • 1:通过 HTTP 回调方式。
  • 2:解析推流参数按需录制。
  • 7:默认不录制,可以通过 RealTimeRecordCommand 接口手动控制录制开启或停止。
说明 当 OnDemand 取值为 1 时,需要先通过 AddLiveRecordNotifyConfig 接口配置 OnDemandUrl,否则默认不录制。
1
DelayTimeinteger

断流拼接时长。 直播断流时长超过设定的拼接时长后,将会生成新文件,断流拼接时长支持 15~21600 秒。

180
RecordFormatarray<object>

记录详情。

object
SliceDurationinteger

单个切片时长。单位:秒。

注意 当 RecordFormat.N.Format(格式)设为 m3u8 或 cmaf 时,本参数才有效。

不填则默认为 30 秒。取值范围:5s~30s。

30
SliceOssObjectPrefixstring

切片名称。

注意 当 RecordFormat.N.Format(格式)设为 m3u8 或 cmaf 时,本参数才需要配置。

  • 默认 30 秒一片,小于 256 字节,支持变量匹配,包含{AppName}、{StreamName}、{UnixTimestamp}、{Sequence}。
  • 参数值必须包含{UnixTimestamp}和{Sequence}变量。
record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}
CycleDurationinteger

周期录制时长。单位:秒。不填则默认为 6 小时。

说明
  • 如果在一个录制周期内,直播流发生了断流,但是在断流拼接时长内,该直播流又正常推流,那么仍会在同一个录制文件中继续录制。
  • 一条直播流必须断流超过断流拼接时长,才会生成录制文件。
  • 1
    OssObjectPrefixstring

    OSS 存储的录制文件名。

    • 文件名小于 256 字节,支持变量匹配,包含 {AppName}、{StreamName}、{Sequence}、{StartTime}、{EndTime}、{EscapedStartTime}、{EscapedEndTime}。
    • 参数值必须要有{StartTime}或{EscapedStartTime}和{EndTime}或{EscapedEndTime}。
    record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime}
    Formatstring

    格式。目前支持 M3U8、FLV、MP4、CMAF。取值:

    注意 RecordFormat 和 TranscodeRecordFormat 两者至少需要设置一个。如果选择 m3u8 或 cmaf 格式,必须同时设置请求参数 RecordFormat.N.SliceOssObjectPrefix 和 RecordFormat.N.SliceDuration。

    • m3u8。
    • flv。
    • mp4。
    • cmaf。
    m3u8
    TranscodeRecordFormatarray<object>

    转码记录详情。

    object
    SliceDurationinteger

    转码流录制单个切片时长,单位:秒。

    注意 当 TranscodeRecordFormat.N.Format(转码流录制格式)设为 m3u8 或 cmaf 时,本参数才生效。

    不填则默认为 30 秒。取值范围:5s~30s。

    30
    SliceOssObjectPrefixstring

    转码流录制切片名称。

    注意 当 TranscodeRecordFormat.N.Format(转码流录制格式)设为 m3u8 或 cmaf 时,本参数才需要配置。

    • 默认 30 秒一片,小于 256 字节,支持变量匹配,包含{AppName}、{StreamName}、{UnixTimestamp}、{Sequence}。
    • 参数值必须包含{UnixTimestamp}和{Sequence}变量。
    record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}
    CycleDurationinteger

    转码流录制周期录制时长。单位:秒。不填则默认为 6 小时。

    21600
    OssObjectPrefixstring

    转码流录制 OSS 存储的录制文件名。

    • 文件名小于 256 字节,支持变量匹配,包含 {AppName}、{StreamName}、{Sequence}、{StartTime}、{EndTime}、{EscapedStartTime}、{EscapedEndTime}。
    • 参数值必须要有{StartTime}或{EscapedStartTime}和{EndTime}或{EscapedEndTime}。
    record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime}
    Formatstring

    转码流录制格式。目前支持 M3U8、FLV、MP4、CMAF。取值:

    注意 如果选择 m3u8 或 cmaf 格式,必须同时设置请求参数 TranscodeRecordFormat.N.SliceOssObjectPrefix 和 TranscodeRecordFormat.N.SliceDuration。

    • m3u8。
    • flv。
    • mp4。
    • cmaf。
    m3u8
    TranscodeTemplatesarray

    转码流录制的转码模板组。

    string
    • 转码流录制的转码模板,可进行多个设置,最多为 10 个。
    • 当设置 TranscodeRecordFormat.N.xxx 配置时,至少需要设置一个 TranscodeTemplates。
    • 如需录制多个或全部的转码流,可设置 TranscodeTemplates.1 为*****即可。
    说明 TranscodeTemplates 不允许传入raw,属于保留标识。
    RepeatList 表示为 TranscodeTemplates.N 中的 N,可理解为递增进行多个设置,如:TranscodeTemplates.1=sd,TranscodeTemplates.2=hd。
    sd

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求 ID。

    16A96B9A-F203-4EC5-8E43-CB92E68F****

    示例

    正常返回示例

    JSON格式

    {
      "RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F****"
    }

    错误码

    HTTP status code错误码错误信息描述
    400InvalidOssEndpoint.Malformed%s-
    400InvalidOssBucket.MalformedSpecified parameter OssBucket is not valid.OSSBucket参数错误,请您确认该OSS BUCKET参数是否正确。
    400InvalidOssBucket.NotFoundThe parameter OssBucket does not exist.OSSBucket参数错误,请您确认该OSS BUCKET参数是否正确。
    400InvalidFormat.MalformedSpecified parameter Format is not valid.Format参数错误,请您确认该Format参数是否正确。
    400InvalidCycleDuration.MalformedSpecified CycleDuration Format is not valid.CycleDuration参数格式错误,请您确认该CycleDuration参数格式是否正确。
    400InvalidSliceDuration.MalformedSpecified SliceDuration Format is not valid.-
    400InvalidTemplateLength.MalformedSpecified record template length is not valid.-
    400InvalidTemplate.ForbidRawTemplate named raw is Forbidden.-
    400MissingTemplateTemplate is mandatory for this action.-
    400MissingOssObjectPrefixOssObjectPrefix is mandatory for this action.缺少OssObjectPrefix值,请您确认OssObjectPrefix值是否正确。
    400MissingSliceOssObjectPrefixSliceOssObjectPrefix is mandatory for this action.-
    400InvalidOssObjectPrefix.MalformedSpecified parameter OssObjectPrefix is not valid.OSSObjectPrefix参数错误,请您确认该OSSObjectPrefix参数是否正确。
    400InvalidSliceOssObjectPrefix.MalformedSpecified parameter SliceOssObjectPrefix is not valid.SliceOssObjectPrefix参数错误,请您确认该SliceOssObjectPrefix参数是否正确。
    400ConfigAlreadyExistsConfig has already exist.配置已添加。
    400InvalidFormat.IllegalOperationSpecified parameter Format can not be multiple.-
    400InvalidDelayTimeSpecified Delaytime is invalid.-
    400Live2Vod.ConfigAlreadyExistsHad live2vod record config already.-
    400InvalidStartTime.MalformedSpecified StartTime is malformed.StartTime参数错误,请您确认该StartTime参数是否正确。
    400InvalidEndTime.MalformedSpecified EndTime is malformed.结束时间错误,请您确认结束时间是否正确。
    400InvalidEndTime.MismatchSpecified EndTime does not math the specified StartTime or current time.-
    400InvalidStartTime.MismatchSpecified StartTime does not math the current time.-

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

    变更历史

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

    注意事项:

    • 视频直播支持触发拉流,当使用触发拉流域名对应的播放地址进行播放时,会自动触发阿里云视频直播服务进行拉流直播,无人播放时则不会回源站进行拉流。自动录制、按需录制、手动录制功能应用在触发拉流场景时,如果触发拉流无人播放,则不会回源站拉流,自动录制、按需录制、手动录制同样也不会进行录制。