• 沒有找到結果。

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 创建录制规则操作失败

错误码

请参见错误码。