类型定义
更新时间: 2024/11/18 11:14:09CRVideo_SDKParams
SDK初始化参数对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
isSDKConsole | Bool | 是否开启浏览器控制台SDK日志显示,非必传,缺省为true,开启 |
isUploadLog | Bool | 是否开启SDK日志上传,非必传,缺省为true,开启 |
svrTimeout | Number | 与服务器通信超时时间(秒),取值(10-120),非必传,缺省为60 |
securityEnhancement | Bool | 是否启用安全增强模式,非必传,缺省为false,不启用 |
videoSendBW | Number | 单个视频画面上送最大码率(带宽)Kbps,非必传,缺省为2048,即256KB/s |
screenSendBW | Number | 屏幕共享画面上送最大码率(带宽)Kbps,非必传,缺省不设置上限 |
mediaSendBW | Number | 影音共享画面上送最大码率(带宽)Kbps,非必传,缺省不设置上限 |
isHttp | Bool | 是否强制使用http协议(默认为https),非必传,缺省为false,不启用 |
isCallSer | Bool | 是否启用队列呼叫服务,非必传,缺省为true,启用 |
isWebRTC | Bool | 是否启用音视频服务,非必传,缺省为true,启用 |
MSProtocol | Number | 流媒体打洞协议,0:自动,1:UDP,2:TCP,非必传,缺省为1,UDP协议 |
virtualBackgroundAssets | String | 非必填,虚拟背景人像分割模型依赖资源目录路径,使用虚拟背景功能需提前设置此参数。 |
1、"virtualBackgroundAssets" 参数为虚拟背景人像分割模型依赖资源目录的加载路径,非背景图url。支持相对路径(SDK包内和SDK文件同目录的VirtualBackgroundSource文件夹,相对于当前文件)、绝对路径及cdn。例如:
"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation"
"https://www.unpkg.com/@mediapipe/selfie_segmentation"
"../SDK/VirtualBackgroundSource"
2、"securityEnhancement" 参数启用安全增强模式后,SDK内部webapi请求会有跨域问题,需要业务服务器配置代理,CRVideo_SetServerAddr接口配置代理地址
CRVideo_UserStatus
用户在线信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
userID | String | 用户ID |
userStatus | Number | 用户的在线状态(0离线 1空闲 2忙碌) |
DNDType | Number | 用户的免打扰状态(0关闭免打扰 1开启免打扰) |
CRVideo_QueueInfo
队列信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
queID | Number | 队列ID |
prio | Number | 优先级,值越小优先级越高 |
name | String | 队列名称 |
desc | String | 队列描述 |
CRVideo_QueStatus
队列状态
类型:Object
参数
|
类型
|
含义
|
---|---|---|
queID | Number | 队列ID |
agent_num | Number | 正在服务此队列坐席数 |
wait_num | Number | 正在此队列排队的客户数 |
srv_num | Number | 此队列当前正在服务中的客户数 |
CRVideo_QueUser
队列用户信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
queID | Number | 队列ID |
userID | String | 用户ID |
nickname | String | 用户昵称 |
queuingTime | Number | 用户已排队时长(秒) |
usrExDat | String | 用户排队时携带的拓展数据 |
CRVideo_QueuingInfo
排队信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
queID | Number | 队列ID |
position | Number | 我当前的位置 |
queuingTime | Number | 我排队的时长(单位s) |
CRVideo_SessionInfo
会话信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
callID | String | 呼叫全局标识ID |
peerID | String | 会话中对方的UID |
peerName | String | 会话中对方的昵称 |
bCallAccepted | Number | 呼叫是否已接受,0:暂未接受,1:已接受 |
meetingID | Number | 当前会话中的房间ID |
meetingPswd | String | 当前会话中房间的密码 |
duration | Number | 当前会话持续的时间,单位:s |
CRVideo_CreateParams
创建房间的参数对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
meetSubject | String | 房间名称 |
needPswd | Number | 是否创建密码(0:房间无密码,1:系统为房间随机创建一个密码) |
isRegular | Number | 是否为固定房间(0:普通房间,房间无人30分钟后,自动消毁; 1:固定房间,房间一直存在直到用户主动消毁它) |
CRVideo_RoomInfoObj
房间信息对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
ID | Number | 房间号 |
pswd | String | 房间密码 |
subject | String | 房间主题 |
pubMeetUrl | String | 房间公共链接 |
CRVideo_MemberInfo
成员信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
userID | String | 用户ID |
nickname | String | 昵称 |
audioStatus | Number | 音频状态,数值参考麦克风状态定义 CRVideo_ASTATUS |
videoStatus | Number | 视频状态,数值参考摄像头(视频)状态定义 CRVideo_VSTATUS |
CRVideo_VideoInfoObj
用户摄像头信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
userID | String | 用户ID |
videoID | Number | 摄像头ID |
videoName | String | 摄像头名称 |
CRVideo_LocVideoAttributes
私有参数配置对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
constraints | Object | 参见MDN文档MediaTrackConstraints,设置后CRVideo_VideoCfg配置将失效 |
CRVideo_CloudVideoCfg
云台摄像头配置对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
pan | Number | 云台摄像头水平方向值,取值范围可调用CRVideo_GetVideoTrackCapabilities获取 |
tilt | Number | 云台摄像头竖直方向值,取值范围可调用CRVideo_GetVideoTrackCapabilities获取 |
zoom | Number | 云台摄像头缩放系数,取值范围可调用CRVideo_GetVideoTrackCapabilities获取 |
CRVideo_MicInfoObj
用户麦克风信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
micID | Number | 麦克风ID |
micName | String | 麦克风名称 |
CRVideo_SpeakerInfoObj
用户扬声器信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
speakerID | Number | 扬声器ID |
speakerName | String | 扬声器名称 |
CRVideo_AudioCfg
系统音频参数
类型:Object
参数
|
类型
|
含义
|
---|---|---|
micID | Number | 麦克风ID |
speakerID | Number | 扬声器ID |
autoGainControl | Bool | 是否开启麦克风自动增益(AGC) |
echoCancellation | Bool | 是否开启麦克风回声消除 |
noiseSuppression | Bool | 是否开启麦克风噪声消除 |
micVolume | Number | 设置麦克风音量(静态增益) |
设置麦克风音量必须在关闭麦克风自动增益时才能生效
麦克风音量为0时,表示麦克风静音,100为正常音量,0-100为降低音量,>100时为增大音量
CRVideo_PCMJSONParams
音频PCM配置参数对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
sampleBits | Number | 采样位数,一般8,16,默认16(可选参数,非必传) |
sampleRate | Number | 采样率,一般 11025、16000、22050、24000、44100、48000,默认为16000,即16khz(可选参数,非必传) |
eachSize | Number | 回调数据大小,单位字节,getType=0 时 eachSize 和 eachTime 二选一必须配置其中一个,若两个参数同时配置,则先满足其中某个参数时即触发回调 |
eachTime | Number | 回调数据时间间隔,单位秒,getType=0 时 eachSize 和 eachTime 二选一必须配置其中一个,若两个参数同时配置,则先满足其中某个参数时即触发回调 |
fileName | String | 文件名(不带后缀),getType=1 时必须配置 |
CRVideo_VideoCfg
系统视频参数对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
size | Number | 视频尺寸(1:流畅 2:标清 3:高清 4:超清) |
fps | Number | 视频帧率(5~30) |
ratio | Number | 预置视频画面比例(1:16/9 2:4/3 3:1/1 4:3/4 5:9/16) |
aspectRatio | Number | 自定义视频画面比例,如 16/10, 0.65, 1。此参数和ratio只能选其中一个 |
maxbps | Number | 最大码率(bps) |
SDK默认视频尺寸为 2:标清,默认帧率为 15fps
PC端视频画面默认比例为 1:16/9,移动端视频画面默认比例为 3:1/1
其中某项为null或0时,表示该项使用缺省值。您也可以通过传null来使某项恢复使用缺省值。
CRVideo_VirtualBgCfg
虚拟背景配置对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
type | Number | 0: 关闭虚拟背景 1:开启纯色背景 2:开启图像背景 |
color | String | 背景颜色,type=1时有效。例如: "#3333bb" |
image | Image | Image对象(非url),type=2时有效。 |
destroy | Boolean | 非必传,是否释放虚拟背景资源,如果不释放资源下次能更快速的启动虚拟背景,当type=0时有效,默认值为true。 |
debuggerStyle | Object | 非必传,是否开启源视频预览,该参数传入源视频的预览样式。例如:{width: "200px"} |
image参数为Image实例对象,new Image() 或 <img>DOM,并非图片的url
CRVideo_ScreenShareCfg
屏幕共享配置参数对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
catchRect | Object | 共享区域 例如:{ left:100, top:100, width:400, height:400 },不设置区域时此参数不传或传null |
maxFPS | Number | 最大帧率 |
maxKbps | Number | 最大码率(kbps) |
其中某项为null或0时,表示该项使用缺省值。您也可以通过传null来使某项恢复使用缺省值。
CRVideo_MediaCfg
影音共享配置参数对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
size | String | 自定义尺寸(宽*高),如:1280*720 |
fps | Number | 最大帧率 |
maxKbps | Number | 最大码率(kbps) |
其中某项为null或0时,表示该项使用缺省值。您也可以通过传null来使某项恢复使用缺省值。
CRVideo_ElectronConstraints
Electron屏幕共享配置
类型:Object
参数
|
类型
|
含义
|
---|---|---|
constraints | Object | 该值将作为参数透传给navigator.mediaDevices.getUserMedia,可以参考 Electron捕获窗口 |
CRVideo_CreateUIParams
创建成员视频UI显示组件的参数
类型:Object
参数
|
类型
|
含义
|
---|---|---|
poster | String | video标签的poster属性,当视频显示控件没有视频画面时的默认占位图片,非必传 |
style | Object | video标签的style属性对象,标签css样式,非必传。例如:style:{objectFit:"cover",backgroundColor:"#000"} 等 |
此对象里面的各参数即video标签的官方属性,可以参考 https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement
CRVideo_MediaInfoObj
影音信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
userID | String | 用户ID |
state | Number | 播放状态 0:播放中 1:暂停中 2:未播放 |
mediaName | String | 影音文件名 |
CRVideo_CloudMixerInfo
云端混图器信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
ID | String | 混图器ID |
owner | String | 创建者用户ID |
cfg | Object | 录制配置,参见CRVideo_CloudMixerCfgObj |
state | Number | 录制状态,参见CRVideo_MIXER_STATE |
CRVideo_CloudMixerCfgObj
云端混图器配置
类型:Object
参数
|
类型
|
含义
|
---|---|---|
mode | Number | 录制模式,取值范围: 0-合流模式:将声音录制到一个声音文件、或将声音图像录制成一个视频文件; 1-单流模式:将涉及到的声音流、图像流存到各自独立的文件中; |
audioFileCfg | CRVideo_CloudMixerAudioFileCfg | 生成音频文件配置,生成规则:进入房间并开启麦克风开始生成文件,离开房间结束生成文件 |
videoFileCfg | CRVideo_CloudMixerVideoFileCfg | 生成视频文件配置,生成规则:进入房间并开启摄像头开始生成文件,离开房间结束生成文件 |
storageConfig | CRVideo_CloudStorageConfig | 云存储配置,不配置时将存储在云屋服务器上 |
//为房间中所有人录制独立的声音文件,独立的默认摄像头视频文件
{
"mode": 1,
"audioFileCfg": {
"svrFileNameSuffix": ".mp3",
"svrPath": "/xxx",
"subscribeAudios": ["_cr_all_"]
},
"videoFileCfg": {
"aStreamType": 1,
"svrFileNameSuffix": ".mp4",
"svrPath": "/xxx",
"subscribeVideos": ["_cr_allDefCam_"]
}
}
//录制一个2分屏左右布局图像+房间声音的mp4文件
{
"mode": 0,
"videoFileCfg": {
"svrPathName": "/2021-09-24/2021-09-24_13-47-41_Win32_73542046.mp4",
"vWidth": 1280,
"vHeight": 720,
"vFps": 15,
"layoutConfig": [
{
"type": 0,
"top": 180,
"left": 0,
"width": 640,
"height": 360,
"keepAspectRatio": 1,
"param": {"camid": "1.-1"}
},
{
"type": 0,
"top": 180,
"left": 640,
"width": 640,
"height": 360,
"keepAspectRatio": 1,
"param": {"camid": "2.-1"}
}
]
}
}
CRVideo_CloudMixerAudioFileCfg
云端录制语音文件配置
类型:Object
单流模式参数:
参数
|
类型
|
必传
|
含义
|
---|---|---|---|
svrPath | String | 否 | 服务器存储路径,默认为空 |
svrFileNameSuffix | String | 是 | 文件名后缀,支持:“.mp3”、“.wav” 文件命名规则:昵称_房间号_开始时间.后缀 |
subscribeAudios | Array | 是 | 指定生成哪些人的音频文件; 取值:["_cr_all_"]或["userId1","userId2"]; _cr_all_代表生成所有人; |
参数
|
类型
|
必传
|
含义
|
---|---|---|---|
svrPathName | String | 是 | 带服务器存储路径的文件名,文件格式支持“mp3”、“wav”,示例:/xxx/xxx/xxx.mp3 |
aChannelType | Number | 否 | 音频通道类型,取值范围:0-单声道,1-左右双声道,默认为0 |
aChannelContent | Array | 否 | 音频通道内容。 左右声道模式时:必须传入两个用户ID,如:["UserID1", "UserID2"],第一个人的为左声道,第二个人为右声道) 单声道模式时:可选参数(默认为空),空代表所有人声音,要指定人员声音时传入:["UserID1","UserID2", "UserID3"] |
CRVideo_CloudMixerVideoFileCfg
云端录制视频文件配置
类型:Object
单流模式参数:
参数
|
类型
|
必传
|
含义
|
---|---|---|---|
svrPath | String | 否 | 服务器存储路径,默认为空 |
svrFileNameSuffix | String | 是 | 文件名后缀,当前只支持:”.mp4” 文件命名规则:昵称_cam摄像头编号_房间号_开始时间.后缀 |
subscribeVideos | Array | 是 | 指定生成哪些人的摄像头对应的视频文件; 取值:["_cr_all_"]或["_cr_allDefCam_"]或["userId1.camId", "userId2.camId", ...]; _cr_all_代表所有人所有摄像头,_cr_allDefCam_代表生成所有人的默认摄像头 |
aStreamType | Number | 否 | 视频文件内音频内容,取值:0-自己声音,1-所有人声音,默认0 |
参数
|
类型
|
必传
|
含义
|
---|---|---|---|
svrPathName | String | 是 | 带路径的文件名,文件格式支持:mp4、flv、ts、avi、rtmp://、rtsp://,可选一个或多个,以“;”分隔; 示例:”/xxx/xxx.mp4;rtmp://xxx1;rtmp://xxx2;” |
aChannelType | Number | 否 | 音频通道类型,取值:0-单声道,1-左右双声道,默认为0 |
aChannelContent | Array | 否 | 音频通道内容。 左右声道模式时:必须传入两个用户ID,如:["UserID1", "UserID2"],第一个人的为左声道,第二个人为右声道) 单声道模式时:可选参数(默认为空),空代表所有人声音,要指定人员声音时传入:["UserID1","UserID2", "UserID3"] |
vWidth | Number | 是 | 视频宽度 |
vHeight | Number | 是 | 视频高度 |
vFps | Number | 否 | 视频帧率,取值0-30, 默认值12 |
vBps | Number | 否 | 视频码率,取值参见视频流默认码率定义 默认会根据视频尺寸生成码率 |
vQP | Number | 否 | 视频质量,取值0~51(0表示完全无损, 51表示质量非常差),推荐高质量取值18,中质量25,低质量34, 默认值19 |
layoutConfig | Array | 是 | 布局内容列表,[CRVideo_MixerContentObj,CRVideo_MixerContentObj,...] |
CRVideo_CloudStorageConfig
云端录制存储配置
类型:Object
参数
|
类型
|
必传
|
含义
|
---|---|---|---|
vendor | Number | 是 | 第三方云存储平台: 1-阿里云 |
region | String | 是 | 第三方云存储指定的地区信息 |
bucket | String | 是 | 第三方云存储的 bucket |
accessKey | String | 是 | 第三方云存储的 access key |
secretKey | String | 是 | 第三方云存储的 secret key |
endPoint | String | 否 | 第三方云存储的完整路径,当设置该参数后,region参数将不再生效 |
CRVideo_MixerContentObj
混图器内容配置
类型:Object
参数
|
类型
|
含义
|
---|---|---|
left | Number | 在混图画面中的区域(水平位置) |
top | Number | 在混图画面中的区域(垂直位置) |
width | Number | 在混图画面中的区域宽 |
height | Number | 在混图画面中的区域高 |
type | Number | MIXER_VCONTENT_TYPE,请见后面type描述; |
keepAspectRatio | Number | 内容保持原始比例,0不保持,1保持 |
param | Object | 如:{"camid":"usr2.1"}。请见后面param支持的参数; |
//录制“usr1”的1号摄像头
{
type: 0,
keepAspectRatio: 1,
left: 5,
top: 10,
width: 633,
height: 356,
param: {
camid: "usr1.1"
}
}
//录制“usr2”的1号摄像头
{
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描述:
当type=0时,表示混图的是摄像头,param必须包含camid;
当type=3时,表示混图的是影音共享,不用附加任何参数;
当type=5时,表示混图的是共享的屏幕,不用附加任何参数;
当type=6时,表示混图的是白板,不用附加任何参数;
当type=10时,表示混图的是文本,width和height将被忽略,元素大小由文本信息自动确定。 param必须包含text,可选color,background,font-size,text-margin;
param 支持的参数如下:
camid:用户id.摄像头id, 如:"testuser.1"
text:文本内容,支持时间戳参数"%timestamp%",格式为:YYYY-MM-DD HH:MM:SS
color:文本颜色,格式:#RRGGBB[AA], 默认:#FFFFFF
background:背景色,格式:#RRGGBB[AA], 默认:#0000007D
font-size:字体大小px,默认:18 (不带单位)
text-margin:边距px,默认:5 (不带单位)
CRVideo_CloudMixerOutputInfo
云端混图器输出信息
类型:Object
参数
|
类型
|
含义
|
---|---|---|
id | String | 混图器ID |
state | Number | 具体参考CRVideo_OUTPUT_STATE |
svrFilePathName | String | 录像路径文件名 |
startTime | Number | 创建时间(从1970年1月1日00:00:00起的毫秒数),当state为2才有该参数 |
duration | Number | 录像时长(ms),当state为2才有该参数 |
fileSize | Number | 文件大小(Byte),当state为2才有该参数 |
errCode | Number | 错误码, 当state为3才有该参数 |
errDesc | String | 错误描述, 当state为3才有该参数 |
CRVideo_MeetingAttrObjs
会议属性集
类型:Object
参数
|
类型
|
含义
|
---|---|---|
value | String | 属性值 |
lastModifyUserID | String | 最后修改者 |
lastModifyTs | Number | 最后的修改时间,1970-1-1 0:00:00以来的秒数 |
{
"userdef Key1": {
"value": "11111",
"lastModifyUserID": "111",
"lastModifyTs": 11111
},
"userdef Key2": {
"value": "22222",
"lastModifyUserID": "222",
"lastModifyTs": 22222
}
}
CRVideo_UsrMeetingAttrObjs
用户属性集
类型:Object
参数
|
类型
|
含义
|
---|---|---|
value | String | 属性值 |
lastModifyUserID | String | 最后修改者 |
lastModifyTs | Number | 最后的修改时间,1970-1-1 0:00:00以来的秒数 |
{
"userid1": {
"userdef Key1": {
"value": "11111",
"lastModifyUserID": "111",
"lastModifyTs": 11111
},
"userdef Key2": {
"value": "22222",
"lastModifyUserID": "222",
"lastModifyTs": 22222
}
},
"userid2": {
"userdef Key1": {
"value": "11111",
"lastModifyUserID": "111",
"lastModifyTs": 11111
},
"userdef Key2": {
"value": "22222",
"lastModifyUserID": "222",
"lastModifyTs": 22222
}
}
}
CRVideo_MeetingAttrOptions
操作房间属性选项
类型:jsonString
参数
|
类型
|
含义
|
---|---|---|
notifyAll | Number | 1:通知房间所有人员,0(默认值):不通知。 |
'{"notifyAll":1}'
CRVideo_MarkOptions
屏幕共享标注参数对象
类型:Object
参数
|
类型
|
含义
|
---|---|---|
allowMark | Bool | 是否允许标注。非必传,缺省为 false,不允许标注 |
type | Number | 画笔类型。非必传,缺省为 1,铅笔 |
strokeStyle | String | 画笔颜色。非必传,缺省为 '#000000',黑色 |
lineWidth | Number | 画笔线宽px。为必传,缺省为 2,2px |
cursor | String | 画笔鼠标样式,如:'url("./image/pc/meeting_pen1_.ico"), auto'。非必传,缺省为 'default',默认样式 |
{
"allowMark": true,
"type": 1,
"strokeStyle": "#ff0000",
"lineWidth": 3,
"cursor": 'url("./image/pc/meeting_pen1_.ico"), auto'
}
CRVideo_PeerConnectionErrorObject
流媒体连接错误对象定义
类型:Object
参数
|
类型
|
含义
|
---|---|---|
userID | String | 用户ID |
nickname | String | 发生错误的用户昵称 |
camID | Number | 发生错误的摄像头ID |
errDesc | String | 错误描述 |