9.3 修改录制规则 9.4 删除录制规则 9.5 查询录制规则配置 9.6 提交录制控制命令
9.1 创建录制规则
功能介绍
创建录制规则接口,录制规则对新推送的流生效,对已经推送中的流不生效
调试
您可以在API Explorer中调试该接口。
URI
POST /v1/{project_id}/record/rules
表9-1 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID,获取方法请参考获取项 目ID。
请求参数
表9-2 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token,使用Token鉴权方 式时必选。通过调用IAM服务获
stream 是 String 录制的流名,如需匹配任流名则
填写*。录制规则匹配的时候,
优先精确stream匹配,如果匹 配不到,则匹配*
record_type 否 String 录制类型,包括:
CONTINUOUS_RECORD,
COMMAND_RECORD。默认 CONTINUOUS_RECORD。
● CONTINUOUS_RECORD:
持续录制,在该规则类型配 置后,只要有流到推送到录 制系统,就触发录制。
● COMMAND_RECORD:命令 录制,在该规则类型配置 后,在流推送到录制系统 后,租户需要通过命令控制 该流的录制开始和结束。
default_recor
d_config 是 DefaultRecor dConfig object
默认录制规则配置
表9-4 DefaultRecordConfig
参数 是否必选 参数类型 描述
record_format 是 Array of
strings 录制格式,当前支持:FLV,
HLS,MP4三种格式,设置格式 时必须使用大写字母
obs_addr 是 RecordObsFil
eAddr object 录制保存的租户的桶信息 hls_config 否 HLSRecordCo
nfig object HLS配置规则 flv_config 否 FLVRecordCo
nfig object FLV配置规则 mp4_config 否 MP4RecordC
onfig object MP4配置规则
表9-5 RecordObsFileAddr
参数 是否必选 参数类型 描述
bucket 是 String OBS的bucket名称
location 是 String OBS Bucket所在RegionID
object 是 String OBS对象路径,遵守OBS
Object定义。如果为空则保存到 根目录
表9-6 HLSRecordConfig
参数 是否必选 参数类型 描述
record_cycle 是 Integer 单位为秒,周期录制时长,最小 1分钟(60秒),最大12小时。
如果为0则整个流录制一个文件 (录制文件时长超过10天会强制 创建新文件)。
record_prefix 否 String 录制m3u8文件,含路径和文件名 的前缀, 默认Record/
{publish_domain}/{app}/
{record_type}/{record_format}/
{stream}{file_start_time}/
{stream}{file_start_time}
参数 是否必选 参数类型 描述
uration 否 Integer 录制HLS时ts的切片时长,非必 须,缺省为10,单位秒,最小 2,最大60
record_max_d uration_to_m erge_file
否 Integer 录制HLS文件拼接时长,如果流
中断超过该时间,则生成新文
表9-7 FLVRecordConfig
参数 是否必选 参数类型 描述
record_cycle 是 Integer 单位为秒,周期录制时长,最小 1分钟,最大12小时。如果为0 则整个流录制一个文件。
record_prefix 否 String 录制FLV文件,含路径和文件名 的前缀, 默认Record/
{publish_domain}/{app}/
否 Integer 录制flv拼接时长,如果流中断 超过该时间,则生成新文件。单 位秒。如果为0表示流中断就生 成新文件。默认为0。
表9-8 MP4RecordConfig
参数 是否必选 参数类型 描述
record_cycle 是 Integer 单位为秒,周期录制时长,最小 1分钟,最大12小时。如果为0 则整个流录制一个文件。
参数 是否必选 参数类型 描述
record_prefix 否 String 录制文件含路径和文件名的前 缀, 默认Record/
{publish_domain}/{app}/
否 Integer 录制mp4拼接时长,如果流中断
超过该时间,则生成新文件。单
X-request-id String 此字段携带请求ID号,以便任务跟踪。
id String 规则id,由服务端返回。创建或修改的时候不携 带
publish_doma
in String 直播推流域名
app String 应用名,如果需要匹配任意应用则需填写*。录制 规则匹配的时候,优先精确app匹配,如果匹配 不到,则匹配*
stream String 录制的流名,如果需要匹配任意流名则需填写*。
录制规则匹配的时候,优先精确stream匹配,如 果匹配不到,则匹配*
参数 参数类型 描述
record_type String 录制类型,包括:CONTINUOUS_RECORD,
COMMAND_RECORD。默认 CONTINUOUS_RECORD。
● CONTINUOUS_RECORD:持续录制,在该规 则类型配置后,只要有流到推送到录制系统,
就触发录制。
● COMMAND_RECORD:命令录制,在该规则 类型配置后,在流推送到录制系统后,租户需 要通过命令控制该流的录制开始和结束。
default_recor
d_config DefaultRecor dConfig object
默认录制规则配置
create_time String 创建时间,格式:yyyy-mm-ddThh:mm:ssZ,
UTC时间。 在查询的时候返回
update_time String 修改时间,格式:yyyy-mm-ddThh:mm:ssZ,
UTC时间。 在查询的时候返回
表9-11 DefaultRecordConfig
参数 参数类型 描述
record_format Array of
strings 录制格式,当前支持:FLV,HLS,MP4三种格 式,设置格式时必须使用大写字母
obs_addr RecordObsFil
eAddr object 录制保存的租户的桶信息 hls_config HLSRecordCo
nfig object HLS配置规则 flv_config FLVRecordCo
nfig object FLV配置规则 mp4_config MP4RecordC
onfig object MP4配置规则
表9-12 RecordObsFileAddr
参数 参数类型 描述
bucket String OBS的bucket名称
location String OBS Bucket所在RegionID
object String OBS对象路径,遵守OBS Object定义。如果为空 则保存到根目录
表9-13 HLSRecordConfig
参数 参数类型 描述
record_cycle Integer 单位为秒,周期录制时长,最小1分钟(60 秒),最大12小时。如果为0则整个流录制一个 文件(录制文件时长超过10天会强制创建新文 件)。
record_prefix String 录制m3u8文件,含路径和文件名的前缀, 默认 Record/{publish_domain}/{app}/{record_type}/
{record_format}/{stream}{file_start_time}/
{stream}{file_start_time}
record_ts_pref
ix String 录制ts文件名的前缀, 默认
{file_start_time_unix}{file_end_time_unix}
{ts_sequence_number}
record_slice_d
uration Integer 录制HLS时ts的切片时长,非必须,缺省为10,
单位秒,最小2,最大60 record_max_d
uration_to_m erge_file
Integer 录制HLS文件拼接时长,如果流中断超过该时 间,则生成新文件。单位秒。如果为0表示流中断 就生成新文件,如果为-1则表示相同的流中断恢 复后,继续在30天内的前一个文件保存。默认为 0。
表9-14 FLVRecordConfig
参数 参数类型 描述
record_cycle Integer 单位为秒,周期录制时长,最小1分钟,最大12 小时。如果为0则整个流录制一个文件。
record_prefix String 录制FLV文件,含路径和文件名的前缀, 默认 Record/{publish_domain}/{app}/{record_type}/
Integer 录制flv拼接时长,如果流中断超过该时间,则生 成新文件。单位秒。如果为0表示流中断就生成新 文件。默认为0。
表9-15 MP4RecordConfig
参数 参数类型 描述
record_cycle Integer 单位为秒,周期录制时长,最小1分钟,最大12 小时。如果为0则整个流录制一个文件。
参数 参数类型 描述
record_prefix String 录制文件含路径和文件名的前缀, 默认Record/
{publish_domain}/{app}/{record_type}/
Integer 录制mp4拼接时长,如果流中断超过该时间,则 生成新文件。单位秒。如果为0表示流中断就生成 新文件。默认为0。
状态码: 400
表9-16 响应 Header 参数
参数 参数类型 描述
X-request-id String 此字段携带请求ID号,以便任务跟踪。
error_code String 错误码 error_msg String 错误描述
请求示例
POST https://{endpoint}/v1/{project_id}/record/rules { "publish_domain" : "publish.xxx.com",
"app" : "live", "stream" : "*",
"record_type" : "CONTINUOUS_RECORD", "default_record_config" : {
"record_format" : [ "HLS", "FLV" ], "hls_config" : {
"record_cycle" : 3600,
"record_prefix" : "Record/{publish_domain}/{app}/{record_type}/{record_format}/
{stream}_{file_start_time}/{file_start_time}",
"record_ts_prefix" : "{file_start_time_unix}-{file_end_time_unix}-{ts_sequence_number}", "record_slice_duration" : 10,
"record_max_duration_to_merge_file" : 0 },
"flv_config" : { "record_cycle" : 9000,
"record_prefix" : "Record/{publish_domain}/{app}/{record_format}/{stream}_{file_start_time}/
{file_start_time}",
"record_max_duration_to_merge_file" : 0 },
"obs_addr" : {
"bucket" : "mybucket", "location" : "cn-north-4", "object" : "record/"
} }}
响应示例
状态码: 400
创建录制规则操作失败
{ "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal"
}
状态码
状态码 描述
201 创建录制规则操作成功 400 创建录制规则操作失败
错误码
请参见错误码。