音视频通话

开启云端录制

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[] 合流布局内容列表

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参数说明:

  • 当type =0时,表示摄像头,param必须包含camid;
  • 当type =3时,表示影音共享,不用附加任何参数;
  • 当type =5时,表示共享的屏幕,不用附加任何参数;
  • 当type =6时,表示白板,不用附加任何参数;
  • 当type =10时,表示文本,width 和 height 将被忽略,元素大小由文本信息自动确定。 param必须包含text,可选text-color,bk-color,font-size,text-margin;

param支持的参数:

  • 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不存在