提交工单
咨询集成、功能及报价等问题
调用本接口开始云端录制。
当开发者成功调用 start 方法后,云端录制服务会根据设置的录制参数录制房间内的音视频流和白板。
每个录制任务时间最长为 24 小时。超过 24 小时,录制任务将自动停止录制。
请求方式:POST/JSON
请求地址:
服务环境 | 调用频率限制 | 请求地址 |
---|---|---|
国内正式环境 |
50 次/秒 |
https://cloudrecord-sh.zego.im/start |
国内测试环境 |
50 次/秒 |
https://cloudrecord-test.zego.im/start |
海外正式环境 |
50 次/秒 |
https://cloudrecord-hk.zegocloud.com/start |
海外测试环境 |
50 次/秒 |
https://cloudrecord-test.zegocloud.com/start |
传输协议:HTTPS
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
app_id |
Int64 |
是 |
ZEGO 给开发者分配的 AppID,唯一标识一个应用。 |
access_token |
String |
是 |
接口鉴权凭证,通过 获取 AccessToken 接口获取。 |
room_id |
String |
是 |
待录制的房间 ID。 |
record_input_params |
Object |
是 |
录制任务输入参数。 详见 record_input_params 成员列表。 |
record_output_params |
Object |
否 |
录制任务输出参数。 详见 record_output_params 成员列表。 |
storage_params |
Object |
是 |
record_input_params 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
record_mode |
Int |
是 |
录制模式。
|
stream_type |
Int |
否 |
录制媒体流类型,仅适用于音视频流,白板只会录制视频。
|
record_stream_list |
Array of Object |
否 |
|
fill_blank |
Bool |
否 |
流中断时是否自动补白,默认为 false,即不补白。
|
fill_frame |
Object |
否 |
关闭摄像头后(音频持续在推)填充画面的方式,仅适用于混流录制。 详见 fill_frame 成员列表。 |
record_mute_audio |
Int |
否 |
指定是否录制静音状态下的音频帧数据,仅当单流录制、只录制音频且输出文件格式为 mp3。
|
record_mute_audio_split_threshold |
Int |
否 |
录制文件自动分片的静音时长阈值,单位:秒。 录制过程中如果静音状态时长大于等于该阈值,则该段静音前后会生成为不同的录制文件。 仅当单流录制、只录制音频、输出文件格式为 mp3 且 record_mute_audio 为 2 时生效。 指定为 0 时遇静音即分片,不指定或者指定为负数时表示不分片。 |
has_whiteboard |
Bool |
否 |
是否录制白板。
whiteboard 参数必选。 |
whiteboard |
Array of Object |
否 |
|
max_idle_time |
Int |
否 |
房间内没有任何流、白板之后多长时间自动停止云录制,单位:秒。默认值为 30 秒,该值需大于等于 5,且小于等于 4294967295。 注意:该参数仅当房间内无流、无白板时生效。 |
max_record_time |
Int |
否 |
录制任务最大时长,录制持续时间达到该值自动结束。单位:秒。默认值 86400 秒(24 小时),该值需大于等于 300,且小于等于 86400(24 小时)。 |
mix_config |
Object |
否 |
fill_blank
和 max_idle_time
作用对象不同:fill_blank
:作用于流本身,只要录制任务还在进行,fill_blank
设置为 true 后,若流处于中断状态,则会继续以补白的方式录制,此时该流仍然为中断状态,不影响房间内有无流的判断。max_idle_time
:作用于整个录制任务状态,当房间内无流时长超过 max_idle_time
时,则会中止整个录制任务。stream_type
为 1,表示仅录制音频,此时无法录制白板。record_stream_list 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
stream_id |
String |
是 |
待录制的流 ID。 |
fill_frame 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
frame_fill_mode |
Int |
否 |
画面填充模式。
|
frame_fill_color |
Int |
否 |
frame_fill_mode 设置为 2 时有效,用于指定填充颜色,默认为黑色。前三个字节为 RGB 颜色值,第四个字节固定为 0,即 0xRRGGBB00。 |
frame_fill_mode
相关:
whiteboard 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
horizontal_ratio |
Int |
是 |
原始白板的宽高比(宽)。 |
vertical_ratio |
Int |
是 |
原始白板的宽高比(高)。 |
width |
Int |
否 |
单流录制白板输出视频的分辨率宽,默认值为 1280。 |
height |
Int |
否 |
单流录制白板输出视频的分辨率高,默认值为 720。 |
whiteboard_id |
String |
否 |
录制白板的 ID。
|
is_ppt_animation |
Bool |
否 |
是否录制动态 PPT,默认为 false。
|
ppt_animation_fps |
Int |
否 |
录制动态 PPT 的帧率,默认值为 15,有效范围 [1,30]。 |
录制动态 PPT 功能需单独收费,需开通请先联系 ZEGO 商务人员。若未开通,直接设置 is_ppt_animation
和 ppt_animation_fps
参数属于无效设置。
mix_config 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
mix_mode |
Int |
否 |
布局方式。
|
mix_input_list |
Array of Object |
否 |
自定义布局参数。 详见 mix_input_list 成员列表。 |
mix_output_stream_id |
String |
是 |
指定混流输出的流 ID,将作为 output_file_rule 中的一部分。 |
mix_output_video_config |
Object |
是 |
输出视频参数。 详见 mix_output_video_config 成员列表。 |
mix_output_audio_config |
Object |
否 |
输出音频参数。 详见 mix_output_audio_config 成员列表。 |
mix_output_background_color |
Int |
否 |
录制背景颜色,默认为黑色。前三个字节为 RGB 颜色值,第四个字节固定为 0,即 0xRRGGBB00。 |
mix_output_background_image |
String |
否 |
视频画布背景图的 URL 地址。
|
mix_max_resolution_stream_id |
String |
否 |
mix_mode 设为 3、4、5 时,用于指定显示大画面的流 ID。 |
mix_output_watermark_image |
String |
否 |
水印图片的 URL 地址。
|
default_mix_stream_background_image |
String |
否 |
流画面默认背景图的 URL 地址,当 fill_blank 为 true 时,指定流不存在或者流中断时会显示该背景图。
|
mix_input_list 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
stream_id |
String |
否 |
指定在该画面显示的 streamID,如果未指定,会按照流加入房间的时间顺序进行匹配。 |
view_type |
Int |
否 |
该画面显示内容的类型。
|
top |
Int |
是 |
画布上该画面左上角的 y 轴坐标,取值范围 [0, 1920],不能超过 bottom 的值和画布的高。 |
left |
Int |
是 |
画布上该画面左上角的 x 轴坐标,取值范围 [0, 1920],不能超过 right 的值和画布的宽。 |
bottom |
Int |
是 |
画布上该画面右下角的 y 轴坐标,取值范围 [0, 1920],不能超过画布的高。 |
right |
Int |
是 |
画布上该画面右下角的 x 轴坐标,取值范围 [0, 1920],不能超过画布的宽。 |
layer |
Int |
是 |
该画面的图层优先级,当两个画面发生重叠时,数值大的显示在上方。 |
fill_mode |
Int |
否 |
实际视频流宽高比与画面不一致时的处理方式。
|
background_image |
String |
否 |
流画面背景图的 URL 地址,仅当指定了 stream_id 时生效。 自定义布局指定的流不存在或者流中断时会显示该背景图。
|
mix_output_video_config 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
width |
Int |
是 |
输出视频的分辨率宽,单位为像素。 width 取值小于或等于 1920,且 width 和 height 的乘积不能超过 1920 * 1080,否则会报错。 |
height |
Int |
是 |
输出视频的分辨率高,单位为像素。 height 取值小于或等于 1920,且 width 和 height 的乘积不能超过 1920 * 1080,否则会报错。 |
fps |
Int |
是 |
输出视频的帧率,默认 15,有效范围 [5,30]。 |
bitrate |
Int |
是 |
输出视频的码率,单位:bps。例如要设置码率为 1.5 Mbps 时,需要设置设置此参数为 1500*1000,也就是 1500000。 |
mix_output_audio_config 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
bitrate |
Int |
否 |
音频码率,默认值为 48000 bps。 |
record_output_params 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
output_file_format |
String |
否 |
指定录制生成文件的格式,默认为 “mp4”。目前支持 “mp4”、“flv”、“hls”、“jpg” 和 “mp3”。如果录制 “mp4” 或 “flv”,且 stream_type 设为 4,则录制生成的音频文件格式为 aac。 |
output_folder |
String |
否 |
录制文件在第三方云存储的输出目录,默认为根目录。 |
output_file_rule |
Int |
否 |
录制文件命名规则,默认值为 1,表示命名格式为:
|
snapshot_interval |
Int |
否 |
截图周期,单位:秒。录制文件格式为 “jpg” 时有效,取值范围是 [5, 3600],默认值 10。 |
callback_url |
String |
否 |
自定义回调地址的 URL,不填写此参数时会使用服务开通时配置的回调地址。URL 支持 HTTP 和 HTTPS 协议。 |
storage_params 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
storage_provider |
Int |
是 |
录制文件存储服务提供商,目前支持的存储服务提供商如下:
|
region |
String |
否 |
|
bucket_name |
String |
否 |
云存储 bucket。 |
access_key_id |
String |
否 |
云存储的 access key,建议提供只写权限的访问密钥。 |
access_key_secret |
String |
否 |
云存储的 secret key。 |
aliyun_vod_params |
Object |
否 |
阿里云 Vod 存储信息。 详见 aliyun_vod_params 成员列表。 |
tencentyun_vod_params |
Object |
否 |
腾讯云 Vod 存储信息。 详见 tencentyun_vod_params 成员列表。 |
storage_provider
设置为 1~4 还有 7 时,region
,bucket_name
,access_key_id
,access_key_secret
必选。storage_provider
设置为 5 时,aliyun_vod_params
必选。目前仅支持上传 MP4、FLV 格式文件。storage_provider
设置为 6 时,tencentyun_vod_params
必选。目前仅支持上传 MP4、FLV 格式文件。aliyun_vod_params 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
region |
String |
是 |
阿里云 Vod 指定的地区信息,例如 cn-shanghai。 |
access_key |
String |
是 |
阿里云 Vod 的 access key。 |
secret_key |
String |
是 |
阿里云 Vod 的 secret key,建议提供只写权限的访问密钥。 |
title |
String |
是 |
阿里云 Vod 视频名称。 |
storage_location |
String |
是 |
阿里云 Vod 提供的固定参数。 |
tencentyun_vod_params 成员如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
access_key_id |
String |
是 |
腾讯云 Vod 的 access key。 |
access_key_secret |
String |
是 |
腾讯云 Vod 的 secret key,建议提供只写权限的访问密钥。 |
region |
String |
是 |
腾讯云 Vod 指定的地区信息,例如 ap-shanghai。 |
sub_app_id |
Int64 |
否 |
腾讯云 Vod 的子应用 ID。 |
以下是使用亚马逊 S3、阿里云 OSS、腾讯云 COS、七牛云 Kodo、华为云 OBS 请求示例。
{
"app_id": 0000,
"access_token": "xxxx",
"room_id": "xxxx",
"record_input_params": {
"record_mode": 1,
"stream_type": 3,
"max_idle_time": 60
},
"record_output_params": {
"output_file_format": "mp4",
"output_folder": "record/"
},
"storage_params": {
"storage_provider": 2,
"region": "oss-xxxx",
"bucket_name": "xxxx",
"access_key_id": "xxxx",
"access_key_secret": "xxxx"
}
}
以下是使用阿里云 Vod 请求示例。
{
"app_id": 0000,
"access_token": "xxxx",
"room_id": "xxxx",
"record_input_params": {
"record_mode": 1,
"stream_type": 3,
"max_idle_time": 60
},
"record_output_params": {
"output_file_format": "mp4",
"output_folder": "record/"
},
"storage_params": {
"storage_provider": 5,
"region": "",
"bucket_name": "",
"access_key_id": "",
"access_key_secret": "",
"aliyun_vod_params":{
"region": "cn-xxxxx",
"access_key": "xxxx",
"secret_key": "xxxx",
"title": "xxxx",
"storage_location": "xxxx.oss-cn-xxxx.aliyuncs.com",
}
}
}
参数 | 类型 | 描述 |
---|---|---|
code |
Int |
错误码。 |
message |
String |
错误描述。 |
task_id |
String |
云录制服务分配的任务 ID,长度固定为 16 个字节的字符串。任务 ID 是对一次录制生命周期过程的唯一标识,结束录制时会失去意义。 |
以下是 start 接口的响应示例。
{
"code": 0,
"message": "succeed",
"task_id": "XXXXXXXXXXXX"
}
联系我们
文档反馈