调用AddLiveAppRecordConfig配置App级别录制和流级别录制。

说明 录制功能包括自动录制、按需录制、手动录制三种方式。无论使用那种录制方式,都需要先用此接口设置录制模版。录制模版可以设置录制文件的输出格式(TS、MP4、FLV)、录制文件时长等信息。您可以同时使用多种录制方式,如App配置自动录制,单路流配置手动录制。单路流仅能使用一种录制方式,即单路流录制的配置优先级高于App级别。如果对某个App下所有流进行自动录制,但是对某些流进行手动录制。实际生效的是手动录制的流(仅配置单路流录制模版,没有调用手动录制的接口,手动录制的流不会被录制)。更多详情,请参见直播录制概述

如果直播录制写入您指定的Bucket权限被意外删除,您需要按照以下方式重新配置:

  • 通过控制台配置。具体操作,请参见配置OSS
  • 通过RAM进行权限配置。具体操作,请参见权限管理概述

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String AddLiveAppRecordConfig

系统规定参数。取值:AddLiveAppRecordConfig

AppName String testApp

播流所属应用名称。

DomainName String www.yourdomain.com

播流域名。

OssBucket String testBucket

OSS存储的Bucket名称。

OssEndpoint String oss-cn-shanghai.aliyuncs.com

OSS存储的Endpoint名称。

RecordFormat.N.Format String m3u8

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

  • m3u8。
  • flv。
  • mp4。
RecordFormat.N.OssObjectPrefix String record/{AppName}/{StreamName}/{Sequence}{EscapedStartTime}{EscapedEndTime}

OSS存储的录制文件名。

  • 文件名小于256 Byte,支持变量匹配,包含 {AppName}、{StreamName}、{Sequence}、{StartTime}、{EndTime}、{EscapedStartTime}、{EscapedEndTime}。
  • 参数值必须要有{StartTime}或{EscapedStartTime}和{EndTime}或{EscapedEndTime}。
  • 默认支持1小时周期录制,最小周期时间15分钟,最多6小时。
RecordFormat.N.SliceOssObjectPrefix String record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}

TS切片名称。当Format格式是M3U8时,则需要配置。

  • 默认30秒一片,小于256 Byte,支持变量匹配,包含{AppName}、{StreamName}、{UnixTimestamp}、{Sequence}。
  • 参数值必须包含{UnixTimestamp}和{Sequence}变量。
RecordFormat.N.CycleDuration Integer 1

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

说明
  • 如果在一个录制周期内,直播流发生了断流,但是在3分钟内,该直播流又正常推流,那么仍会在同一个录制文件中继续录制。
  • 一条直播流必须断流超过3分钟,才会生成最后一个录制文件。如果您需要修改默认的3分钟断流时间,可以提交工单进行修改。
StreamName String teststream

播流名称。

StartTime String 2018-04-10T09:57:21Z

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

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

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

说明 EndTime与StartTime相差不应超过7天,超过7天将按照7天计算。只在流级别录制(StreamName不为空)有效。
OnDemand Integer 1

按需录制。取值:

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

返回数据

名称 类型 示例值 描述
RequestId String 16A96B9A-F203-4EC5-8E43-CB92E68F4CD8

请求ID。

示例

请求示例

http(s)://live.aliyuncs.com/?Action=AddLiveAppRecordConfig
&AppName=testApp
&DomainName=www.yourdomain.com
&OssBucket=testBucket
&OssEndpoint=oss-cn-shanghai.aliyuncs.com
&<公共请求参数>

正常返回示例

XML格式

<AddLiveAppRecordConfigResponse>
	  <RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>
</AddLiveAppRecordConfigResponse>

JSON格式

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

错误码

HttpCode 错误码 错误信息 描述
400 InvalidOssBucket.Malformed Specified parameter OssBucket is not valid. OSSBucket参数错误,请您确认该OSS BUCKET参数是否正确。
400 InvalidOssBucket.NotFound The parameter OssBucket does not exist. OSSBucket参数错误,请您确认该OSS BUCKET参数是否正确。
400 InvalidFormat.Malformed Specified parameter Format is not valid. Format参数错误,请您确认该Format参数是否正确。
400 InvalidCycleDuration.Malformed Specified CycleDuration Format is not valid. CycleDuration参数格式错误,请您确认该CycleDuration参数格式是否正确。
400 MissingOssObjectPrefix OssObjectPrefix is mandatory for this action. 缺少OssObjectPrefix值,请您确认OssObjectPrefix值是否正确。
400 InvalidOssObjectPrefix.Malformed Specified parameter OssObjectPrefix is not valid. OSSObjectPrefix参数错误,请您确认该OSSObjectPrefix参数是否正确。
400 InvalidSliceOssObjectPrefix.Malformed Specified parameter SliceOssObjectPrefix is not valid. SliceOssObjectPrefix参数错误,请您确认该SliceOssObjectPrefix参数是否正确。
400 ConfigAlreadyExists Config has already exist. 配置已添加。
400 InvalidStartTime.Malformed Specified StartTime is malformed. StartTime参数错误,请您确认该StartTime参数是否正确。
400 InvalidEndTime.Malformed Specified EndTime is malformed. 结束时间错误,请您确认结束时间是否正确。

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