文档

添加录制配置

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

使用说明

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

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

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

QPS限制

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

调试

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

请求参数

名称

类型

是否必选

示例值

描述

Action String AddLiveAppRecordConfig

系统规定参数。取值:AddLiveAppRecordConfig

DomainName String example.com

主播流域名。

AppName String liveApp****

播流所属应用名称。

OssEndpoint String learn.developer.aliyundoc.com

OSS存储的Endpoint名称。

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

OssBucket String liveBucket****

OSS存储的Bucket名称。

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

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,否则默认不录制。
DelayTime Integer 180

断流拼接时长。

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

RecordFormat.N.SliceDuration Integer 30

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

重要 当RecordFormat.N.Format(格式)设为m3u8时,本参数才有效。

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

RecordFormat.N.SliceOssObjectPrefix String record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}

TS切片名称。

重要 当RecordFormat.N.Format(格式)设为m3u8时,本参数才需要配置。
  • 默认30秒一片,小于256字节,支持变量匹配,包含{AppName}、{StreamName}、{UnixTimestamp}、{Sequence}。
  • 参数值必须包含{UnixTimestamp}和{Sequence}变量。
RecordFormat.N.CycleDuration Integer 1

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

说明
  • 如果在一个录制周期内,直播流发生了断流,但是在3分钟内,该直播流又正常推流,那么仍会在同一个录制文件中继续录制。
  • 一条直播流必须断流超过3分钟,才会生成最后一个录制文件。如果您需要修改默认的3分钟断流时间,可以提交工单进行修改。关于如何提交工单,请参见联系我们
RecordFormat.N.OssObjectPrefix String record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime}

OSS存储的录制文件名。

  • 文件名小于256字节,支持变量匹配,包含 {AppName}、{StreamName}、{Sequence}、{StartTime}、{EndTime}、{EscapedStartTime}、{EscapedEndTime}。
  • 参数值必须要有{StartTime}或{EscapedStartTime}和{EndTime}或{EscapedEndTime}。
RecordFormat.N.Format String m3u8

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

重要 RecordFormat和TranscodeRecordFormat两者至少需要设置一个。
  • m3u8。如果选择m3u8格式,必须同时设置请求参数RecordFormat.N.SliceOssObjectPrefix和RecordFormat.N.SliceDuration。
  • flv。
  • mp4。
TranscodeRecordFormat.N.SliceDuration Integer 30

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

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

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

TranscodeRecordFormat.N.SliceOssObjectPrefix String record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}

转码流录制TS切片名称。

重要 当TranscodeRecordFormat.N.Format(转码流录制格式)设为m3u8时,本参数才需要配置。
  • 默认30秒一片,小于256字节,支持变量匹配,包含{AppName}、{StreamName}、{UnixTimestamp}、{Sequence}。
  • 参数值必须包含{UnixTimestamp}和{Sequence}变量。
TranscodeRecordFormat.N.CycleDuration Integer 21600

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

TranscodeRecordFormat.N.OssObjectPrefix String record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime}

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

  • 文件名小于256字节,支持变量匹配,包含 {AppName}、{StreamName}、{Sequence}、{StartTime}、{EndTime}、{EscapedStartTime}、{EscapedEndTime}。
  • 参数值必须要有{StartTime}或{EscapedStartTime}和{EndTime}或{EscapedEndTime}。
TranscodeRecordFormat.N.Format String m3u8

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

  • m3u8。如果选择m3u8格式,必须同时设置请求参数RTranscodeRecordFormat.N.SliceOssObjectPrefix和TranscodeRecordFormat.N.SliceDuration。
  • flv。
  • mp4。
TranscodeTemplates.N String sd
  • 转码流录制的转码模板,可进行多个设置,最多为10个。
  • 当设置TranscodeRecordFormat.N.xxx配置时,至少需要设置一个TranscodeTemplates。
  • 如需录制多个或全部的转码流,可设置TranscodeTemplates.1为*即可。

    说明

    TranscodeTemplates不允许传入raw,属于保留标识。

    RepeatList表示为TranscodeTemplates.N中的N,可理解为递增进行多个设置,如:TranscodeTemplates.1=sd,TranscodeTemplates.2=hd。

返回数据

名称

类型

示例值

描述

RequestId String 16A96B9A-F203-4EC5-8E43-CB92E68F4CD8

请求ID。

示例

请求示例

http(s)://live.aliyuncs.com/?Action=AddLiveAppRecordConfig
&AppName=liveApp****
&DomainName=example.com
&OssBucket=liveBucket****
&OssEndpoint=learn.developer.aliyundoc.com
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<?xml version="1.0" encoding="UTF-8" ?>
<AddLiveAppRecordConfigResponse>
	<RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>
</AddLiveAppRecordConfigResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "AddLiveAppRecordConfigResponse" : {
    "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. 结束时间错误,请您确认结束时间是否正确。

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

注意事项:

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

  • 本页导读 (1)
文档反馈