配置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:AddLiveAppRecordConfig | create | *Domain acs:cdn:*:{#accountId}:domain/{#DomainName} |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
DomainName | string | 是 | 主播流域名。 | example.com |
AppName | string | 是 | 播流所属应用名称。AppName 名称与推流地址中的 AppName 名称对应,模板才能生效。若不限制 AppName 可填*,即可匹配所有 AppName。 | liveApp**** |
OssEndpoint | string | 是 | OSS 存储的 Endpoint 名称。 直播录制文件存储至 OSS,需提前创建 OSS Bucket,创建方法请参见配置 OSS 。 | learn.developer.aliyundoc.com |
OssBucket | string | 是 | OSS 存储的 Bucket 名称。 直播录制文件存储至 OSS,需提前创建 OSS Bucket,创建方法请参见配置 OSS 。 | liveBucket**** |
StreamName | string | 否 | 播流名称。 | teststream |
StartTime | string | 否 | 录制开始时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。 说明
设置的时间必须是实际推流时间开始 7 天之内,只在流级别录制(StreamName 不为空)有效。
| 2018-04-10T09:57:21Z |
EndTime | string | 否 | 录制结束时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC 时间)。 说明
EndTime 与 StartTime 相差不应超过 7 天,超过 7 天将按照 7 天计算。只在流级别录制(StreamName 不为空)有效。
| 2018-04-16T09:57:21Z |
OnDemand | integer | 否 | 按需录制。取值:
说明
当 OnDemand 取值为 1 时,需要先通过 AddLiveRecordNotifyConfig 接口配置 OnDemandUrl,否则默认不录制。
| 1 |
DelayTime | integer | 否 | 断流拼接时长。 直播断流时长超过设定的拼接时长后,将会生成新文件,断流拼接时长支持 15~21600 秒。 | 180 |
RecordFormat | array<object> | 否 | 记录详情。 | |
object | 否 | |||
SliceDuration | integer | 否 | 单个切片时长。单位:秒。 注意 当 RecordFormat.N.Format(格式)设为 m3u8 或 cmaf 时,本参数才有效。
不填则默认为 30 秒。取值范围:5s~30s。 | 30 |
SliceOssObjectPrefix | string | 否 | 切片名称。 注意 当 RecordFormat.N.Format(格式)设为 m3u8 或 cmaf 时,本参数才需要配置。
| record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} |
CycleDuration | integer | 否 | 周期录制时长。单位:秒。不填则默认为 6 小时。 说明
| 1 |
OssObjectPrefix | string | 否 | OSS 存储的录制文件名。
| record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime} |
Format | string | 否 | 格式。目前支持 M3U8、FLV、MP4、CMAF。取值: 注意 RecordFormat 和 TranscodeRecordFormat 两者至少需要设置一个。如果选择 m3u8 或 cmaf 格式,必须同时设置请求参数 RecordFormat.N.SliceOssObjectPrefix 和 RecordFormat.N.SliceDuration。
| m3u8 |
TranscodeRecordFormat | array<object> | 否 | 转码记录详情。 | |
object | 否 | |||
SliceDuration | integer | 否 | 转码流录制单个切片时长,单位:秒。 注意 当 TranscodeRecordFormat.N.Format(转码流录制格式)设为 m3u8 或 cmaf 时,本参数才生效。
不填则默认为 30 秒。取值范围:5s~30s。 | 30 |
SliceOssObjectPrefix | string | 否 | 转码流录制切片名称。 注意 当 TranscodeRecordFormat.N.Format(转码流录制格式)设为 m3u8 或 cmaf 时,本参数才需要配置。
| record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} |
CycleDuration | integer | 否 | 转码流录制周期录制时长。单位:秒。不填则默认为 6 小时。 | 21600 |
OssObjectPrefix | string | 否 | 转码流录制 OSS 存储的录制文件名。
| record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime} |
Format | string | 否 | 转码流录制格式。目前支持 M3U8、FLV、MP4、CMAF。取值: 注意 如果选择 m3u8 或 cmaf 格式,必须同时设置请求参数 TranscodeRecordFormat.N.SliceOssObjectPrefix 和 TranscodeRecordFormat.N.SliceDuration。
| m3u8 |
TranscodeTemplates | array | 否 | 转码流录制的转码模板组。 | |
string | 否 |
说明
TranscodeTemplates 不允许传入 raw ,属于保留标识。RepeatList 表示为 TranscodeTemplates.N 中的 N,可理解为递增进行多个设置,如:TranscodeTemplates.1=sd,TranscodeTemplates.2=hd。 | sd |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F****"
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidOssEndpoint.Malformed | %s | - |
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 | InvalidSliceDuration.Malformed | Specified SliceDuration Format is not valid. | - |
400 | InvalidTemplateLength.Malformed | Specified record template length is not valid. | - |
400 | InvalidTemplate.ForbidRaw | Template named raw is Forbidden. | - |
400 | MissingTemplate | Template is mandatory for this action. | - |
400 | MissingOssObjectPrefix | OssObjectPrefix is mandatory for this action. | 缺少OssObjectPrefix值,请您确认OssObjectPrefix值是否正确。 |
400 | MissingSliceOssObjectPrefix | SliceOssObjectPrefix is mandatory for this action. | - |
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 | InvalidFormat.IllegalOperation | Specified parameter Format can not be multiple. | - |
400 | InvalidDelayTime | Specified Delaytime is invalid. | - |
400 | Live2Vod.ConfigAlreadyExists | Had live2vod record config already. | - |
400 | InvalidStartTime.Malformed | Specified StartTime is malformed. | StartTime参数错误,请您确认该StartTime参数是否正确。 |
400 | InvalidEndTime.Malformed | Specified EndTime is malformed. | 结束时间错误,请您确认结束时间是否正确。 |
400 | InvalidEndTime.Mismatch | Specified EndTime does not math the specified StartTime or current time. | - |
400 | InvalidStartTime.Mismatch | Specified StartTime does not math the current time. | - |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|