配置APP录制,输出内容保存到OSS中。
使用说明
直播录制功能,可以将直播内容进行录制,保存至您指定的位置,在您需要回看直播内容时可以进行回看。存储至OSS的录制内容,支持多种保存格式(TS、MP4、FLV、CMAF),支持自定义录制策略(自动录制、按需录制、手动录制),调用此接口可进行录制模版设置。更多直播录制功能使用可参见直播录制说明文档。
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 | 按需录制。取值:
说明 当OnDemand取值为1时,需要先通过AddLiveRecordNotifyConfig接口配置OnDemandUrl,否则默认不录制。 |
DelayTime | Integer | 否 | 180 | 断流拼接时长。 直播断流时长超过设定的拼接时长后,将会生成新文件,断流拼接时长支持15~21600秒。 |
RecordFormat.N.SliceDuration | Integer | 否 | 30 | 单个切片时长。单位:秒。 重要 当RecordFormat.N.Format(格式)设为m3u8或cmaf时,本参数才有效。
不填则默认为30秒。取值范围:5s~30s。 |
RecordFormat.N.SliceOssObjectPrefix | String | 否 | record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} | 切片名称。 重要 当RecordFormat.N.Format(格式)设为m3u8或cmaf时,本参数才需要配置。
|
RecordFormat.N.CycleDuration | Integer | 否 | 1 | 周期录制时长。单位:秒。不填则默认为6小时。 说明
|
RecordFormat.N.OssObjectPrefix | String | 否 | record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime} | OSS存储的录制文件名。
|
RecordFormat.N.Format | String | 否 | m3u8 | 格式。目前支持M3U8、FLV、MP4。取值: 重要 RecordFormat和TranscodeRecordFormat两者至少需要设置一个。如果选择m3u8或cmaf格式,必须同时设置请求参数RecordFormat.N.SliceOssObjectPrefix和RecordFormat.N.SliceDuration。
|
TranscodeRecordFormat.N.SliceDuration | Integer | 否 | 30 | 转码流录制单个切片时长,单位:秒。 重要 当TranscodeRecordFormat.N.Format(转码流录制格式)设为m3u8或cmaf时,本参数才生效。
不填则默认为30秒。取值范围:5s~30s。 |
TranscodeRecordFormat.N.SliceOssObjectPrefix | String | 否 | record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} | 转码流录制切片名称。 重要 当TranscodeRecordFormat.N.Format(转码流录制格式)设为m3u8或cmaf时,本参数才需要配置。
|
TranscodeRecordFormat.N.CycleDuration | Integer | 否 | 21600 | 转码流录制周期录制时长。单位:秒。不填则默认为6小时。 |
TranscodeRecordFormat.N.OssObjectPrefix | String | 否 | record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime} | 转码流录制OSS存储的录制文件名。
|
TranscodeRecordFormat.N.Format | String | 否 | m3u8 | 转码流录制格式。目前支持M3U8、FLV、MP4。取值: 重要 如果选择m3u8或cmaf格式,必须同时设置请求参数TranscodeRecordFormat.N.SliceOssObjectPrefix和TranscodeRecordFormat.N.SliceDuration。
|
TranscodeTemplates.N | String | 否 | sd |
|
返回数据
名称 |
类型 |
示例值 |
描述 |
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. | 结束时间错误,请您确认结束时间是否正确。 |
访问错误中心查看更多错误码。
注意事项:
- 视频直播支持触发拉流,当使用触发拉流域名对应的播放地址进行播放时,会自动触发阿里云视频直播服务进行拉流直播,无人播放时则不会回源站进行拉流。自动录制、按需录制、手动录制功能应用在触发拉流场景时,如果触发拉流无人播放,则不会回源站拉流,自动录制、按需录制、手动录制同样也不会进行录制。