# 类型定义

CRVideo_SDKParams

SDK初始化参数对象

类型:

Object

参数
类型
含义
isSDKConsole Bool

是否开启浏览器控制台SDK日志显示,非必传,缺省为true,开启

isUploadLog Bool

是否开启SDK日志上传,非必传,缺省为true,开启

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

流媒体打洞协议,1:UDP,2:TCP,非必传,缺省为1,UDP协议

CRVideo_UserStatus

用户在线信息

类型:

Object

参数
类型
含义
UID String

用户ID, 详细介绍见 关键词

userStatus Number

用户的在线状态(0离线 1空闲 2忙碌 3房间中)

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

UID String

用户ID, 详细介绍见 关键词

nickname String

用户昵称

queuingTime Number

用户已排队时长(秒)

usrExtDat 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

参数
类型
含义
UID String

用户ID, 详细介绍见 关键词

nickname String

昵称

audioStatus Number

音频状态,数值参考麦克风状态定义 CRVideo_ASTATUS

videoStatus Number

视频状态,数值参考摄像头(视频)状态定义 CRVideo_VSTATUS

CRVideo_VideoInfoObj

用户摄像头信息

类型:

Object

参数
类型
含义
UID String

用户ID, 详细介绍见 关键词

videoID Number

摄像头ID

videoName String

摄像头名称

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

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只能选其中一个

SDK默认视频尺寸为 2:标清,默认帧率为 15fps
PC端视频画面默认比例为 1:16/9,移动端视频画面默认比例为 3:1/1

CRVideo_ScreenCfgObj

屏幕共享配置参数对象

类型:

Object

参数
类型
含义
catchRect Object

共享区域 例如:{ left:100, top:100, width:400, height:400 },不设置区域时此参数不传或传null

maxPFS Number

最大帧率

maxKbps Number

最大码率Kbps

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_MutiMixerCfg

服务器混图配置对象

类型:

Object

参数
类型
含义
id Number

混图器ID,每个混图器的配置、内容、和输出要根据ID对应

streamTypes Number

录像类型,1:单音频录制(对应aCfg参数)  2:单视频录制(暂不支持)  3:音视频录制(对应cfg参数)

cfg Object

音视频混图器配置对象,每个混图器只有一个配置对象(cfg或aCfg),详见:CRVideo_MixerCfgObj

acfg Object

单音频混图器配置对象,每个混图器只有一个配置对象(cfg或aCfg),详见:CRVideo_MixeraCfgObj

示例:

    [{
        "id": 1,
        "streamTypes": 3,
        "cfg": {
            "width": 1280,
            "height": 720,
            "frameRate": 15,
            "bitRate": 2000000,
            "defaultQP": 15
        }
    }, {
        "id": 2,
        "streamTypes": 1,
        "aCfg": {
            "channelType": 1,
            "audioFormat": 1
        }
    }]
        

CRVideo_MutiMixerContent

服务器混图内容对象

类型:

Object

参数
类型
含义
id Number

混图器ID,每个混图器的配置、内容、和输出要根据ID对应

content Object

混图器内容配置对象,详见:CRVideo_MixerContentObj

示例:

    [{
        "id": 1,
        "content": [{
            "type": 0,
            "left": 0,
            "top": 0,
            "width": 1280,
            "height": 720,
            "param": {
                "camid": "张三.1"
            },
            "keepAspectRatio": 1
        }, {
            "type": 4,
            "left": 35,
            "top": 3,
            "width": 175,
            "height": 32,
            "keepAspectRatio": 1
        }, {
            "type": 7,
            "left": 40,
            "top": 30,
            "param": {
                "text": "<span style='font-size:14px;color:#e21918'>张三</span>"
            }
        }]
    }, {
        "id": 2,
        "content": [{
            "type": 9,
            "param": "张三"
        }]
    }]
        

CRVideo_MutiMixerOutput

服务器混图输出对象

类型:

Object

参数
类型
含义
id Number

混图器ID,每个混图器的配置、内容、和输出要根据ID对应

output Object

混图器输出配置对象,详见:CRVideo_MixerOutputObj

示例:

    [{
        "id": 1,
        "output": [{
            "type": 0,
            "filename": "/2020-07-21/张三的录像.mp4"
        }, {
            "type": 1,
            "liveUrl": "rtmp://pub.cloudroom.com/live/xxxx?xxx=xxx"
        }]
    }, {
        "id": 2,
        "output": [{
            "type": 0,
            "filename": "/2020-07-21/张三的录音.mp3"
        }]
    }]
        

CRVideo_MixerCfgObj

音视频混图器规格配置对象

类型:

Object

参数
类型
含义
width Number

图像宽度(要求8的倍数)

height Number

图像高度(要求8的倍数)

frameRate Number

图像帧率,取值范围:1-30(值越大,画面越流畅,cpu消耗更高。录像推荐15帧,直播推存25帧)

bitRate Number

录制视频文件的最高码率(如1M:1000000),当图像变化小时,实际码率会低于此值

defaultQP Number

录制视频文件的目标质量,缺省值:26。取值范围:0~51,0表示完全无损,51表示质量非常差,推荐高质量取值18,中质量26,低质量34

示例:

    // 音视频
    {"width":1280,"height":720,"frameRate":15,"bitRate":2000000,"defaultQP":15}
        

CRVideo_MixeraCfgObj

单音频混图器规格配置对象

类型:

Object

参数
类型
含义
channelType Number

音频文件通道类型,0:单声道  1:双声道

audioFormat Number

音频文件格式,0:AAC  1:MP3  2:PCM

示例:

    // 单音频
    {"channelType":1,"audioFormat":1}
        

CRVideo_MixerContentObj

混图器内容配置对象

类型:

Object

参数
类型
含义
type Number

类容类型,详见混图器内容类型定义 CRVideo_MIXER_VCONTENT_TYPE

left Number

该内容在混图画面中水平方向相对于最左边的位置

top Number

该内容在混图画面中垂直方向相对于最顶部的位置

width Number

该内容在混图画面中的宽度

height Number

该内容在混图画面中的高度

keepAspectRatio Number

内容是否保持原始比例,0:不保持  1:保持

param Object

参数配置,json格式,如:{"camid":"user_xxx.1"},详见下方介绍

示例:

    // 摄像头画面
    {"type":0,"left":0,"top":0,"width":1280,"height":720,"param":{"camid":"user_xxx.1"},"keepAspectRatio":1}   
    // 影音
    {"type":3,"left":0,"top":0,"width":1280,"height":720} 
    // 时间戳
    {"type":4,"left":35,"top":3,"width":175,"height":32,"keepAspectRatio":1}
    // 共享中的屏幕
    {"type":5,"left":0,"top":0,"width":1280,"height":720}
    // 文本
    {"type":7,"left":40,"top":30,"param":{"text":"<span style='font-size:14px;color:#e21918'>H5_5598</span>"}}  
    // 纯音频
    {"type":9,"param":"user_H5_5598"}
        

type描述:
   当 type=0 时,表示混图的是摄像头,param必须包含camid;
   当 type=1 时,表示混图的是指定的图片,param必须包含resourceid(仅用于本地混图,暂不支持);
   当 type=2 时,表示混图的是本地屏幕,param可以增加附加参数screenid/pid/area(暂不支持);
   当 type=3 时,表示混图的是影音共享,不用附加任何参数;
   当 type=4 时,表示混图的是时戳,不用附加任何参数;
   当 type=5 时,表示混图的是共享中的屏幕,不用附加任何参数;
   当 type=6 时,表示混图的是白板,不用附加任何参数。(仅用于云端混图,本地混图应该用MIXVTP_PIC,暂不支持);
   当 type=7 时,表示混图的是文本(支持简单html),param必须包含text;
   注:当 type=7 时,width和height可为0,此时元素大小由文本信息自动确定;
param支持的参数如下:
   1.camid:用户id.摄像头id, 如:"testuser.1";
   2.text: 录制文本内容,支持一些简单的html标签,如:
      <span style="font-weight:600; color:#00f;">客户姓名:</span>
      <span style="color:#00f;">张三</span><br/>
      <span style="font-weight:600; color:#00f;">录制日期:</span>
      <span style="color:#00f;">2018-03-01</span>
   3.录制纯音频文件时,param为某个用户的UID,表示录制该用户的声音;

CRVideo_MixerOutputObj

混图器输出配置对象

类型:

Object

参数
类型
含义
type Number

输出类型,0:输出文件,如MP4、MP3文件  1:直播推流

filename String

录像路径文件名(服务器录像名格式如:/2018-11-21/xxx.mp4),支持的文件格式为mp4/ts/flv/avi,其中flv和ts两种格式在程序异常结束时产生的录制文件仍可用。

liveUrl String

直播推流地址,支持rtmp/rtsp协议

示例:

    // 文件
    {"type":0,"filename":"/2020-07-21/2020-07-21_14-21-53_Webrtc_53315471.mp4"}
    {"type":0,"filename":"/2020-07-21/2020-07-21_14-21-53_Webrtc_53315471.mp3"}
    // 推流
    {"type":1,"liveUrl":"rtmp://pub.cloudroom.com/live/xxxx?xxx=xxx"}
        

当 type为 0 时,需要传参 filename
当 type为 1 时,需要传参 liveUrl

CRVideo_MixerOutputInfoObj

云端录制文件、云端直播推流信息

类型:

Object

参数
类型
含义
id Number

混图器ID

state Number

当前云端录制、云端直播推流状态,详见:CRVideo_MIXER_STATE

duration Number

录像文件时长,单位:毫秒

fileSize Number

录像文件大小

fileName String

录像文件名

errCode Number

错误码,详见:错误码定义

示例:

    // 文件
    {"type":0,"filename":"/2020-07-21/2020-07-21_14-21-53_Webrtc_53315471.mp4"}
    {"type":0,"filename":"/2020-07-21/2020-07-21_14-21-53_Webrtc_53315471.mp3"}
    // 推流
    {"type":1,"liveUrl":"rtmp://pub.cloudroom.com/live/xxxx?xxx=xxx"}
        

当 type为 0 时,需要传参 filename
当 type为 1 时,需要传参 liveUrl

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_BoardObj

白板对象

类型:

Object

参数
类型
含义
boardID String

白板标识

title String

白板名

width Number

白板宽度

height Number

白板高度

pageCount Number

白板页数

curPage Number

白板当前页

示例:

        {
            boardID: "2.59",
            title: "默认白板",
            width: 800,
            height: 600,
            pageCount: 3,
            curPage: 2,
        }
        

CRVideo_BoardPenOptions

白板UI组件画笔配置对象

类型:

Object

参数
类型
含义
type Number

画笔类型,缺省为4(铅笔)。其它类型——5(荧光笔,暂不支持),6(一条直线,暂不支持),7(单箭头线,暂不支持),8(双箭头线,暂不支持),9(文本,暂不支持),10(实心矩形,暂不支持),11(空心矩形,暂不支持),12(圆角实心矩形,暂不支持),13(圆角空心矩形,暂不支持),14(实心椭圆,暂不支持),15(空心椭圆,暂不支持),

cursor String

鼠标样式(css),缺省为:"default",其它样式可自定义为css样式,如图片:'cursor: url("./image/pc/meeting_pen1_.ico"), auto'

lineType Number

线型,缺省为1(实线)。1(实线),3(虚线)

lineWidth Number

线宽

strokeStyle String

线条颜色,hex值

fillColor String

填充颜色,hex值

fullOpacity Number

填充透明度,小数

示例:

        {
            type: 4, // 画笔类型  
            cursor: 'default', // 鼠标样式
            lineType: 1,  // 线型 1实线  3虚线
            lineWidth: 2, // 线宽
            strokeStyle: '#0000FF',  // 线条颜色
            fillColor: '#FC011A', // 填充颜色 
            fullOpacity: 0.5, // 填充透明度
        }