调用AddLiveAppRecordConfig配置App级别录制和流级别录制。
使用说明
录制功能包括自动录制、按需录制、手动录制三种方式。无论使用那种录制方式,都需要先用此接口设置录制模版。录制模版可以设置录制文件的输出格式(TS、MP4、FLV)、录制文件时长等信息。您可以同时使用多种录制方式,如App配置自动录制,单路流配置手动录制。单路流仅能使用一种录制方式,即单路流录制的配置优先级高于App级别。如果对某个App下所有流进行自动录制,但是对某些流进行手动录制。实际生效的是手动录制的流(仅配置单路流录制模版,没有调用手动录制的接口,手动录制的流不会被录制)。
如果直播录制写入您指定的Bucket权限被意外删除,您需要按照以下方式重新配置:
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,否则默认不录制。
|
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时,本参数才需要配置。
|
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两者至少需要设置一个。
|
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时,本参数才需要配置。
|
TranscodeRecordFormat.N.CycleDuration | Integer | 否 | 1 |
转码流录制周期录制时长。单位:秒。不填则默认为6小时。 |
TranscodeRecordFormat.N.OssObjectPrefix | String | 否 | record/{AppName}/{StreamName}/{Sequence}{EscapedStartTime}{EscapedEndTime} |
转码流录制OSS存储的录制文件名。
|
TranscodeRecordFormat.N.Format | String | 否 | m3u8 |
转码流录制格式。目前支持M3U8、FLV、MP4。取值:
|
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. | 结束时间错误,请您确认结束时间是否正确。 |
400 | MissingTemplate | You must specify Template. | 缺少录制模板,请确认填写正确。 |
400 | InvalidSliceDuration.Malformed | The specified format of SliceDuration is invalid. | 指定参数分片时长错误,请您确认该指定参数是否正确。 |
400 | InvalidTemplate.ForbidRaw | Template named raw is forbidden. | 录制模板命名错误,不允许输入名称为”raw“的模板。 |
400 | InvalidTemplateLength.Malformed | The specified number of record template is invalid. | 指定参数录制模板个数错误,请您确认该指定参数个数是否正确。 |
访问错误中心查看更多错误码。
注意事项:
- 视频直播支持触发拉流,当使用触发拉流域名对应的播放地址进行播放时,会自动触发阿里云视频直播服务进行拉流直播,无人播放时则不会回源站进行拉流。自动录制、按需录制、手动录制功能应用在触发拉流场景时,如果触发拉流无人播放,则不会回源站拉流,自动录制、按需录制、手动录制同样也不会进行录制。