开启云端录制
API接口URL
https://sdk.cloudroom.com/CLOUDMEETING-API/v2/record/start
请求方式:POST
参数
接口参数
| 名称 | 类型 | 是否必传 | 说明 |
|---|---|---|---|
| RoomId | Int | 是 | 房间号 |
| cfg | Cfg | 是 | 录制配置 |
Cfg 参数说明:
| 名称 | 类型 | 是否必传 | 说明 |
|---|---|---|---|
| mode | Int | 是 | 录制模式: 1-单流录制:将涉及到的声音流、图像流存到各自独立的文件中 0-合流录制:将声音/图像混合到一个文件 |
| audioFileCfg | AudioFileCfg | 否 | 生成音频文件配置 |
| videoFileCfg | VideoFileCfg | 否 | 生成视频文件配置 |
说明:audioFileCfg 和 videoFileCfg 至少选择一种格式录制。
AudioFileCfg音频文件配置
1.单流模式参数说明:
| 名称 | 类型 | 是否必传 | 说明 |
|---|---|---|---|
| svrPathName | String | 是 | 带路径的文件名,文件格式支持“mp3”、“wav”; 文件名支持变量(路径不支持): $UID$:用户ID $UNAME$:用户昵称 $DATE$:日期,格式为YYYYMMDD $TIME$:时间,格式为hhmmss示例: /2025-12-01/房间号/$UID$_$TIME$.mp3 |
| subscribeAudios | String[] | 是 | 指定生成哪些人的音频文件; 取值: ["_cr_all_"]或["userId1","userId2"];_cr_all_代表生成所有人; |
2.合流模式参数说明:
| 名称 | 类型 | 是否必传 | 说明 |
|---|---|---|---|
| svrPathName | String | 是 | 带路径的文件名,文件格式支持“mp3”、“wav”,示例:/xxx/xxx/xxx.mp3 |
| aChannelType | Int | 否 | 音频通道类型,取值范围:0-单声道,1-左右双声道,默认为0 |
| aChannelContent | String[] | 否 | 左右声道模式时:必须传入两个用户ID,如:["userId1", "userId2"],第一个人的为左声道,第二个人为右声道) 单声道模式时:必须为空 |
VideoFileCfg视频文件配置
1.单流模式参数说明:
| 名称 | 类型 | 是否必传 | 说明 |
|---|---|---|---|
| svrPathName | String | 否 | 带路径的文件名,格式支持:mp4、flv、ts、avi; 文件名支持变量(路径不支持): $UID$:用户ID$UNAME$:用户昵称$CAMID$:摄像头编号$DATE$:日期,格式为YYYYMMDD$TIME$:时间,格式为hhmmss示例: /2025-11-30/会议号/$UID$_cam$CAMID$_$TIME$.mp4 |
| subscribeVideos | String[] | 是 | 指定生成哪些人的摄像头对应的视频文件,取值:["_cr_all_"]或 ["_cr_allDefCam_"]或["userId1.camId", "userId2.camId", ..."];_cr_all_代表所有人所有摄像头;_cr_allDefCam_ 代表生成所有人的默认摄像头 |
| aStreamType | Int | 否 | 视频文件内音频内容,取值:0-自己声音,1-所有人声音,默认0 |
2.合流模式参数说明:
| 名称 | 类型 | 是否必传 | 说明 |
|---|---|---|---|
| svrPathName | String | 是 | 带路径的文件名,文件格式支持:mp4、flv、ts、avi; 示例:"/xxx/xxx.mp4" |
| aChannelType | Int | 否 | 音频通道类型,取值:0-单声道,1-左右双声道,默认为0 |
| aChannelContent | String[] | 否 | 音频通道内容。 左右声道模式时:必须传入两个用户ID,如:["UserID1", "UserID2"],第一个人的为左声道,第二个人为右声道) 单声道模式时:必须为空 |
| vWidth | Int | 是 | 视频宽度 |
| vHeight | Int | 是 | 视频高度 |
| vFps | Int | 否 | 视频帧率,取值0-30, 默认值12 |
| vBps | Int | 否 | 视频码率,取值请参考视频流默认码率定义默认会根据视频尺寸生成码率 |
| vQP | Int | 否 | 视频质量,取值0~51(0表示完全无损, 51表示质量非常差),推荐高质量取值18,中质量25,低质量34, 默认值19 |
| layoutConfig | LayoutConfig[] | 是 | 合流布局内容列表 |
| 名称 | 类型 | 说明 |
|---|---|---|
| left | int | 在布局图像中的区域(水平位置) |
| top | int | 在布局图像中的区域(垂直位置) |
| width | int | 在布局图像中的区域宽 |
| height | int | 在布局图像中的区域高 |
| keepAspectRatio | int | 内容保持原始比例,0不保持,1保持, 默认值为:1 |
| type | int | 请参考后面type参数说明 |
| param | Object | 如:{"camid":"usrxxx.-1"}。请参考后面param支持的参数 |
示例:
//录制“usr1”的1号摄像头
{
type: 0,
keepAspectRatio: 1,
left: 5,
top: 10,
width: 633,
height: 356,
param: {
camid: "usr1.1"
}
}
//录制“usr2”的默认摄像头
{
type: 0,
keepAspectRatio: 1,
left: 642,
top: 10,
width: 633,
height: 356,
param: {
camid: "usr2.-1"
}
}
//录制时间戳
{
type: 10,
left: 980,
top: 660,
param: {
text: '%timestamp%',
color: "#ffffff",
"font-size": 30
},
}
//录制白板
{
type: 6,
left: 0,
top: 0,
width: 1280,
height: 720,
param: {
background: '#FFFFFFFF'
}
}
- 当type =0时,表示摄像头,param必须包含camid;
- 当type =3时,表示影音共享,不用附加任何参数;
- 当type =5时,表示共享的屏幕,不用附加任何参数;
- 当type =6时,表示白板,不用附加任何参数;
- 当type =10时,表示文本,width 和 height 将被忽略,元素大小由文本信息自动确定。 param必须包含text,可选text-color,bk-color,font-size,text-margin;
- camid:用户id.摄像头id。默认摄像头的值为-1,如:"testuser.-1"
- resourceid:具有唯一属性的字符串id,通过setPicResource将图片存储到sdk内供混图模块使用
- screenid:屏幕序号,-1表示主屏
- pid:进程号
- area:抓屏区域:"x,y,w,h"
- text:文本内容,支持时间戳参数"%timestamp%",格式为:YYYY-MM-DD HH:MM:SS
- text-color:文本颜色,支持格式:"#RGB","#RRGGBB", "#AARRGGBB", 默认"#FFFFFF"
- bk-color:背景色,支持格式:"#RGB","#RRGGBB", "#AARRGGBB", 默认"#7D000000"
- font-size:字体大小,默认18
- text-margin:边距,默认5
请求示例
1.为房间中所有人录制独立的声音文件,独立的默认摄像头视频文件请求体示例:
{
"RequestId":"95257a6e-dd78-19f9-0c78-3f3de5d35191",
"CompID":111111,
"SecretKey":"08635988d9be4151fcb5251b0af2b3c1",
"AppId":"demo",
"RoomId":"81954961",
"cfg": {
"mode": 1,
"audioFileCfg": {
"svrPathName": "/2025-12-01/房间号/$UID$_$TIME$.mp3",
"subscribeAudios": ["_cr_all_"]
},
"videoFileCfg": {
"svrPathName": "/2025-12-01/房间号/$UID$_cam$CAMID$_$TIME$.mp4",
"subscribeVideos": ["_cr_allDefCam_"],
"aStreamType": 0
}
}
}
2.录制一个2分屏左右布局图像+房间声音的mp4文件请求体示例:
{
"RequestId":"95257a6e-dd78-19f9-0c78-3f3de5d35191",
"CompID":111111,
"SecretKey":"08635988d9be4151fcb5251b0af2b3c1",
"RoomId":81954961,
"cfg": {
"mode": 0,
"videoFileCfg": {
"svrPathName": "/2025-12-01/房间号/2025-12-01_1764236203.mp4",
"aChannelType": 0,
"vWidth": 1280,
"vHeight": 720,
"layoutConfig": [
{
"type": 0,
"top": 180,
"left": 0,
"width": 640,
"height": 360,
"keepAspectRatio": 1,
"param": {
"camid": "usr1.1"
}
},
{
"type": 0,
"top": 180,
"left": 0,
"width": 640,
"height": 360,
"keepAspectRatio": 1,
"param": {
"camid": "usr2.-1"
}
}
]
}
}
}
返回数据
| 名称 | 类型 | 说明 |
|---|---|---|
| RspCode | String | 响应码 |
| RspDesc | String | 响应描述 |
| Data | Map | 数据集合 |
Data 数据
| 名称 | 类型 | 说明 |
|---|---|---|
| RecordID | String | 录制ID |
返回参数示例
{
"RspCode":0,
"RspDesc":"请求成功",
"Data":{
"RecordID":"9eda74eecb5de36e492dbab55aaaa071"
}
}
返回状态码RspCode说明
| 数值 | 说明 |
|---|---|
| 0 | 请求成功 |
| 1 | 用户所属企业没有接口API权限 |
| 2 | 账号不存在 |
| 3 | 密码错误 |
| 4 | 未获取到正确参数 |
| 5 | 未知错误 |
| 6 | 缺少必传参数 |
| 35 | 房间号不存在 |
| 41 | 房间中没有在线成员 |
| 43 | 不支持的录制模式 |
| 45 | 录制ID不存在 |
| 70 | subscribeVideos 参数错误,请检查格式和内容 |
| 71 | subscribeAudios 参数错误,请检查格式和内容 |
| 72 | 请至少选择一种录制格式,音频或视频 |
| 73 | aChannelType 参数错误,有效值为0或1 |
| 74 | aChannelContent 参数错误,请检查格式和内容 |
| 75 | 房间内人数少于2人,不能录制左右声道 |
| 76 | vFps 参数错误,有效取值范围为0-30 |
| 77 | vQP 参数错误,有效取值范围为0-51 |
| 78 | 视频文件格式错误 |
| 79 | 音频文件格式错误 |
| 80 | 布局配置参数错误 |
| 81 | 用户id不存在 |