• 沒有找到結果。

6.3 查询录制规则 6.4 更新录制规则 6.5 删除录制规则

6.1 创建或更新录制规则

功能介绍

调用此接口创建或更新录制规则。

● 若当前app在请求的location中无录制规则,则会创建新的录制规则

● 若当前app在请求的location中已有录制规则,则会更新原来的录制规则

接口约束

一个app在一个location最多创建一个录制规则。

调试

您可以在API Explorer中调试该接口。

URI

POST /v2/apps/{app_id}/record-rules

6-1 路径参数

参数 是否必选 参数类型 描述

app_id 是 String 应用id

API 参考 6 录制规则管理

请求参数

6-2 请求 Header 参数

参数 是否必选 参数类型 描述

Content-Type 是 String 内容类型。

X-Auth-Token 否 String 用户Token。使用Token鉴权方 式时必选。通过调用IAM服务获 取用户Token接口获取(响应消 息头中X-Subject-Token的 值)。

Authorization 否 String 使用AK/SK方式认证时必选,携 带的鉴权信息。

X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请 求的发生时间。

X-Project-Id 否 String 使用AK/SK方式认证时必选,携 带项目ID信息。

6-3 请求 Body 参数

参数 是否必选 参数类型 描述

obs_addr 是 RecordObsFil

eAddr object 保存录制文件所在的桶信息 record_format

s 是 Array of

strings 录制格式:支持HLS格式和MP4 格式(HLS和MP4为大写)。

● 若配置HLS则必须携带 HLSRecordConfig参数

● 若配置MP4则需要携带 MP4RecordConfig hls_config 否 HLSRecordCo

nfig object HLS格式录制规则管理 mp4_config 否 MP4RecordC

onfig object MP4格式录制规则管理

6-4 RecordObsFileAddr

参数 是否必选 参数类型 描述

location 是 String OBS Bucket所在RegionID project_id 是 String OBS Bucket所在Region的项目

ID

API 参考 6 录制规则管理

参数 是否必选 参数类型 描述

bucket 是 String OBS的bucket名称

object 否 String OBS对象路径,遵守OBS

Object定义。如果为空则保存到 根目录

6-5 HLSRecordConfig

参数 是否必选 参数类型 描述

record_cycle 是 Integer 周期录制时长。

取值范围:[60,43200]或者 0,如果为0则整个流录制为一 个文件。

单位:秒。

record_prefix 否 String 录制m3u8文件含路径和文件名 的前缀

默认{app_id}/{record_format}/

{stream}_{file_start_time}/

{stream}_{file_start_time}

可自定义以下特殊变量:

● {app_id}:应用id

● {record_format}:录制格式

● {stream}:流名

● {file_start_time}:文件生成 时间

record_slice_d

uration 否 Integer 录制HLS时ts的切片时长,非必 填。

否 Integer 录制HLS文件拼接时长,如果流

中断超过该时间,则生成新文

6-6 MP4RecordConfig

参数 是否必选 参数类型 描述

record_cycle 是 Integer 周期录制时长。

取值范围:[60,10800]。

单位:秒。

record_prefix 否 String 录制文件含路径和文件名的前 缀。

默认{app_id}/{record_format}/

{stream}_{file_start_time}/

{stream}_{file_start_time}

可自定义以下特殊变量:

● {app_id}:应用id

● {record_format}:录制格式

● {stream}:流名

● {file_start_time}:文件生成 时间

record_max_d uration_to_m erge_file

否 Integer 录制MP4拼接时长,如果流中断

超过该时间,则生成新文件。

X-request-Id String 此字段携带请求ID号,以便任务跟踪。

6-8 响应 Body 参数

参数 参数类型 描述

rule_id String 规则id,由服务端返回。创建或修改规则的时候 不携带

app_id String 应用id

API 参考 6 录制规则管理

参数 参数类型 描述 obs_addr RecordObsFil

eAddr object 保存录制文件所在的桶信息 record_format

s Array of

strings 录制格式:HLS格式或者MP4格式 hls_config HLSRecordCo

nfig object hls格式录制规则管理 mp4_config MP4RecordC

onfig object mp4格式录制规则管理 create_time String 创建时间,形如

“2006-01-02T15:04:05.075Z”,时区为:UTC update_time String 更新时间,形如

“2006-01-02T15:04:05.075Z”,时区为:UTC

6-9 RecordObsFileAddr

参数 参数类型 描述

location String OBS Bucket所在RegionID project_id String OBS Bucket所在Region的项目ID bucket String OBS的bucket名称

object String OBS对象路径,遵守OBS Object定义。如果为空 则保存到根目录

6-10 HLSRecordConfig

参数 参数类型 描述

record_cycle Integer 周期录制时长。

取值范围:[60,43200]或者0,如果为0则整个 流录制为一个文件。

单位:秒。

API 参考 6 录制规则管理

参数 参数类型 描述

record_prefix String 录制m3u8文件含路径和文件名的前缀 默认{app_id}/{record_format}/

{stream}_{file_start_time}/

{stream}_{file_start_time}

可自定义以下特殊变量:

● {app_id}:应用id

● {record_format}:录制格式

● {stream}:流名

● {file_start_time}:文件生成时间 record_slice_d

uration Integer 录制HLS时ts的切片时长,非必填。

取值范围:[2,60],缺省为10。

单位:秒。

record_max_d uration_to_m erge_file

Integer 录制HLS文件拼接时长,如果流中断超过该时 间,则生成新文件。

6-11 MP4RecordConfig

参数 参数类型 描述

record_cycle Integer 周期录制时长。

取值范围:[60,10800]。

单位:秒。

record_prefix String 录制文件含路径和文件名的前缀。

默认{app_id}/{record_format}/

{stream}_{file_start_time}/

{stream}_{file_start_time}

可自定义以下特殊变量:

● {app_id}:应用id

● {record_format}:录制格式

● {stream}:流名

● {file_start_time}:文件生成时间

API 参考 6 录制规则管理

参数 参数类型 描述 record_max_d

uration_to_m erge_file

Integer 录制MP4拼接时长,如果流中断超过该时间,则 生成新文件。

取值范围:[0,300],缺省为0。

单位:秒。

如果为0表示流中断就生成新文件。

状态码: 400

6-12 响应 Header 参数

参数 参数类型 描述

X-request-Id String 此字段携带请求ID号,以便任务跟踪。

6-13 响应 Body 参数

参数 参数类型 描述

error_code String 错误码 error_msg String 错误描述

状态码: 404

6-14 响应 Header 参数

参数 参数类型 描述

X-request-Id String 此字段携带请求ID号,以便任务跟踪。

6-15 响应 Body 参数

参数 参数类型 描述

error_code String 错误码 error_msg String 错误描述

状态码: 500

API 参考 6 录制规则管理

6-16 响应 Header 参数

参数 参数类型 描述

X-request-Id String 此字段携带请求ID号,以便任务跟踪。

6-17 响应 Body 参数

参数 参数类型 描述

error_code String 错误码 error_msg String 错误描述

请求示例

POST https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-rules { "obs_addr" : {

"bucket" : "obsName", "location" : "cn-north-4", "object" : "Record/",

"project_id" : "ad7456ce8ef89adf567"

}, "record_formats" : [ "MP4" ], "mp4_config" : {

"record_cycle" : 60,

"record_max_duration_to_merge_file" : 0 }}

响应示例

状态码: 201 配置成功

{ "app_id" : "123456abc", "rule_id" : "456789abc",

"create_time" : "2006-01-02T15:04:05.075Z", "obs_addr" : {

"bucket" : "obsName", "location" : "cn-north-4", "object" : "Record/",

"project_id" : "ad7456ce8ef89adf567"

}, "record_formats" : [ "MP4" ], "mp4_config" : {

"record_cycle" : 60,

"record_max_duration_to_merge_file" : 0 }, "update_time" : "2006-01-02T15:04:05.075Z"

}

状态码: 400

配置失败,语义有误,当前请求无法被服务器理解,或参数有误

{

API 参考 6 录制规则管理

"error_msg" : "InvalidParameterValue"

}

状态码: 404

配置失败,应用不存在

{ "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue"

}

状态码: 500

配置失败,服务器端错误

{ "error_code" : "RTC.00002xxx", "error_msg" : "InternalError"

}

状态码

状态码 描述

201 配置成功

400 配置失败,语义有误,当前请求无法被服务器理解,或参数有误 404 配置失败,应用不存在

500 配置失败,服务器端错误

错误码

请参见错误码。