修改录制规则
功能介绍
修改录制规则接口,如果规则修改后,修改后的规则对正在录制的流无效,对新的流有效。
调试
您可以在API Explorer中调试该接口。
URI
PUT /v1/{project_id}/record/rules/{id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方法请参考获取项目ID。 |
id |
是 |
String |
规则ID,在创建成功规则后返回 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token,使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
publish_domain |
是 |
String |
直播推流域名 |
app |
是 |
String |
应用名,如需匹配任意应用则填写*。录制规则匹配的时候,优先精确app匹配,如果匹配不到,则匹配* |
stream |
是 |
String |
录制的流名,如需匹配任流名则填写*。录制规则匹配的时候,优先精确stream匹配,如果匹配不到,则匹配* |
record_type |
否 |
String |
录制类型,包括:CONTINUOUS_RECORD,COMMAND_RECORD。默认CONTINUOUS_RECORD。
|
default_record_config |
是 |
DefaultRecordConfig object |
默认录制规则配置 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
record_format |
是 |
Array of strings |
录制格式,当前支持:FLV,HLS,MP4三种格式,设置格式时必须使用大写字母 |
obs_addr |
是 |
RecordObsFileAddr object |
录制保存的租户的桶信息 |
hls_config |
否 |
HLSRecordConfig object |
HLS配置规则 |
flv_config |
否 |
FLVRecordConfig object |
FLV配置规则 |
mp4_config |
否 |
MP4RecordConfig object |
MP4配置规则 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
bucket |
是 |
String |
OBS的bucket名称 |
location |
是 |
String |
OBS Bucket所在RegionID |
object |
是 |
String |
OBS对象路径,遵守OBS Object定义。如果为空则保存到根目录 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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_prefix |
否 |
String |
录制ts文件名的前缀, 默认{file_start_time_unix}{file_end_time_unix}{ts_sequence_number} |
record_slice_duration |
否 |
Integer |
录制HLS时ts的切片时长,非必须,缺省为10,单位秒,最小2,最大60 |
record_max_duration_to_merge_file |
否 |
Integer |
录制HLS文件拼接时长,如果流中断超过该时间,则生成新文件。单位秒。如果为0表示流中断就生成新文件,如果为-1则表示相同的流中断恢复后,继续在30天内的前一个文件保存。默认为0。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
record_cycle |
是 |
Integer |
单位为秒,周期录制时长,最小1分钟,最大12小时。 |
record_prefix |
否 |
String |
录制FLV文件,含路径和文件名的前缀, 默认Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time} |
record_max_duration_to_merge_file |
否 |
Integer |
录制flv拼接时长,如果流中断超过该时间,则生成新文件。单位秒。如果为0表示流中断就生成新文件。默认为0。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
record_cycle |
是 |
Integer |
单位为秒,周期录制时长,最小1分钟,最大12小时。 |
record_prefix |
否 |
String |
录制文件含路径和文件名的前缀, 默认Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time} |
record_max_duration_to_merge_file |
否 |
Integer |
录制mp4拼接时长,如果流中断超过该时间,则生成新文件。单位秒。如果为0表示流中断就生成新文件。默认为0。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
X-request-id |
String |
此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
规则id,由服务端返回。创建或修改的时候不携带 |
publish_domain |
String |
直播推流域名 |
app |
String |
应用名,如果需要匹配任意应用则需填写*。录制规则匹配的时候,优先精确app匹配,如果匹配不到,则匹配* |
stream |
String |
录制的流名,如果需要匹配任意流名则需填写*。录制规则匹配的时候,优先精确stream匹配,如果匹配不到,则匹配* |
record_type |
String |
录制类型,包括:CONTINUOUS_RECORD,COMMAND_RECORD。默认CONTINUOUS_RECORD。
|
default_record_config |
DefaultRecordConfig object |
默认录制规则配置 |
create_time |
String |
创建时间,格式:yyyy-mm-ddThh:mm:ssZ,UTC时间。 在查询的时候返回 |
update_time |
String |
修改时间,格式:yyyy-mm-ddThh:mm:ssZ,UTC时间。 在查询的时候返回 |
参数 |
参数类型 |
描述 |
---|---|---|
record_format |
Array of strings |
录制格式,当前支持:FLV,HLS,MP4三种格式,设置格式时必须使用大写字母 |
obs_addr |
RecordObsFileAddr object |
录制保存的租户的桶信息 |
hls_config |
HLSRecordConfig object |
HLS配置规则 |
flv_config |
FLVRecordConfig object |
FLV配置规则 |
mp4_config |
MP4RecordConfig object |
MP4配置规则 |
参数 |
参数类型 |
描述 |
---|---|---|
bucket |
String |
OBS的bucket名称 |
location |
String |
OBS Bucket所在RegionID |
object |
String |
OBS对象路径,遵守OBS Object定义。如果为空则保存到根目录 |
参数 |
参数类型 |
描述 |
---|---|---|
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_prefix |
String |
录制ts文件名的前缀, 默认{file_start_time_unix}{file_end_time_unix}{ts_sequence_number} |
record_slice_duration |
Integer |
录制HLS时ts的切片时长,非必须,缺省为10,单位秒,最小2,最大60 |
record_max_duration_to_merge_file |
Integer |
录制HLS文件拼接时长,如果流中断超过该时间,则生成新文件。单位秒。如果为0表示流中断就生成新文件,如果为-1则表示相同的流中断恢复后,继续在30天内的前一个文件保存。默认为0。 |
参数 |
参数类型 |
描述 |
---|---|---|
record_cycle |
Integer |
单位为秒,周期录制时长,最小1分钟,最大12小时。 |
record_prefix |
String |
录制FLV文件,含路径和文件名的前缀, 默认Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time} |
record_max_duration_to_merge_file |
Integer |
录制flv拼接时长,如果流中断超过该时间,则生成新文件。单位秒。如果为0表示流中断就生成新文件。默认为0。 |
参数 |
参数类型 |
描述 |
---|---|---|
record_cycle |
Integer |
单位为秒,周期录制时长,最小1分钟,最大12小时。 |
record_prefix |
String |
录制文件含路径和文件名的前缀, 默认Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time} |
record_max_duration_to_merge_file |
Integer |
录制mp4拼接时长,如果流中断超过该时间,则生成新文件。单位秒。如果为0表示流中断就生成新文件。默认为0。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
X-request-id |
String |
此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) |
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
请求示例
PUT https://{endpoint}/v1/{project_id}/record/rule/e89b76xxxxxx3425ui80af501cdxxxxxx { "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" }
状态码
状态码 |
描述 |
---|---|
200 |
修改录制配置操作成功 |
400 |
修改录制配置操作失败 |
错误码
请参见错误码。
