Json定义
会议对象
MeetInfoObj
{"ID":100, "pswd":"", "subject":"test", "pubMeetUrl":"www.cloudroom.com/auzjie", "creator":"testuser", "memberCount":4}
属性 | 值 |
---|---|
ID | 会议号,0:代表会议信息无效 |
pswd | 会议密码;(空代表会议无密码) |
subject | 会议主题 |
pubMeetUrl | 会议公共链接 |
creator | 会议创建者 |
memberCount | 会议内人数 |
会议对象列表
MeetInfoObjs
{"ID":100, "pswd":"", "subject":"test", "pubMeetUrl":"www.cloudroom.com/auzjie", "creator":"testuser", "memberCount":4},
{"ID":100, "pswd":"", "subject":"test", "pubMeetUrl":"www.cloudroom.com/auzjie", "creator":"testuser", "memberCount":4},...
]成员对象
MemberObj
{"userID":"111", "nickName":"aaa", "audioStatus":"1", "videoStatus":"1"}
属性 | 值 |
---|---|
userID | 用户ID |
nickName | 用户昵称 |
audioStatus | 音频状态,数值参考麦克风状态ASTATUS |
videoStatus | 视频状态,数值参考视频状态定义VSTATUS |
成员对象列表
MembersObj
[{"userID":"111","nickName":"aaa","audioStatus":"","videoStatus":"1"}, {"userID":"222","nickName":"bbb","audioStatus":"1","videoStatus":"1"}]
音频配置
AudioCfgObj
{"micName": "aaa", "speakerName":"aaa", "privEC":"0", "privAgc":"0"}
属性 | 值 |
---|---|
micName | 麦克风设备名称(空代表系统默认设备) |
speakerName | 扬声器名称(空代表系统默认设备) |
privEC | 是否开启云屋私有回声消息0:不开启;1:开启(缺省建议不开启) |
privAgc | 是否开启云屋私有语音自动增益0:不开启;1:开启(缺省建议不开启) |
video容器配置对象
VideoContainerObj
{"poster": "/webrtc/image/m_meeting/be_closed.jpg"}
属性 | 值 |
---|---|
poster | video的poster属性,若无则使用默认值 |
controls | 影音共享是否显示浏览器自动的控制条 |
loop | 影音共享是否循环播放 |
视频配置
VideoCfgObj
{"sizeType": 1, "fps":"12"}
属性 | 值 |
---|---|
sizeType | 视频尺寸,请参见:VIDEO_SHOW_SIZE |
fps | 帧率:视频帧率(5~30) |
maxbps | 视频码率(1~10010001000);(未配置则使用内部默认值,请参见VIDEO_SHOW_SIZE) |
qp_min | 最佳质量(18~51, 越小质量越好) (未配置则使用内部默认值25) |
qp_max | 最差质量(18~51, 越大质量越差) (未配置则使用内部默认值36) |
wh_rate | 视频宽高比,取值如下: 0 为16:9(未配置时内部默认值) 1 为4:3; 2 为1:1 |
我们采用的是vbr编码(由质量+码率,双重控制):
- qp范围:质量参数,为的是达到目标质量后,无需花费更大码率提高质量;
- maxbps码率控制,是为了确保结果一定不大于“目标码率”(体积受控);
- 当要超出码率控制时,自动降低质量;当质量达到目标时,自动减少码率甚至无码率输出。
视频帧图像
VideoImgObj
{ "format":1, "dat":"FKLEOFJXKFD…", "width":1024, "height":768, "frameTime":100}
属性 | 值 |
---|---|
format | 图像格式,数值参考视频图像格式VIDEO_FORMAT |
dat | 图像数据Base64编码 |
width | 图像宽度 |
height | 图像高度 |
frameTime | 图像的时戳 |
用户视频信息
VideoInfoObj
{"userID":"111", "videoID":2, "videoName":"camera2"}
属性 | 值 |
---|---|
userID | 用户id |
videoID | 设备id |
videoName | 设备名称 |
isIPCamera | 是否为网络摄像头 (只有获取自已的才有此字段) |
用户视频信息列表
VideoInfosObj
[ {"userID":"111","videoID":1,"videoName":"camera1"}, {"userID":"111","videoID":2,"videoName":"camera2"},... ]
用户视频列表
VideoIDObjs
[ {"userID":"111","videoID":1}, {"userID":"111","videoID":2},... ]
属性 | 值 |
---|---|
userID | 用户id |
videoID | 设备id |
屏幕共享配置
ScreenShareCfgObj
{"encodeType":0, "maxFPS":8, "maxKbps":800000 }
属性 | 值 |
---|---|
encodeType | 编码类型,详见屏幕共享的编码类型ENCODE_TYPE |
catchRect | {"left":10,"top":10,"width":100,"height":100}用于实现区域共享 |
catchWnd | 共享窗口的窗口句柄,用于实现窗口共享 |
maxFPS | 最大帧率, 缺省为8 (当网络发不动时,帧率会自动下降) |
maxKbps | 最大帧率, 缺省为8 (当网络发不动时,帧率会自动下降) |
录制文件列表
RecordFilesObj
[ {"fileName":"D:\\1.mp4","size":10240,"state":1,"uploadPercent":100}, {"fileName":"D:\\2.mp4","size":13140,"state":2,"uploadPercent":80}, ... ]
属性 | 值 |
---|---|
fileName | 文件名,全路径 |
size | 文件大小 |
state | 0:没有上传,1:上传中,2:上传完毕 |
uploadPercent | 录制结果中视频尺寸高度上传进度,state为1时此字段有效 |
影音文件
MediaInfoObj
{ "userID": "111", "state":1, mediaName:"D:\1.mp4"}
属性 | 值 |
---|---|
userID | 用户id径 |
state | 播放状态 0:播放 1:暂停 2:未播放 |
mediaName | 影音文件名 |
图片资源
PicResourceObj
{"fmt":"picfile","dat":"c:\test.jpg"}
属性 | 值 |
---|---|
fmt | 资源格式,可取值:"yuv420p","rgb32","picfile","picdat" |
dat | 资源数据,不同格式时,要提供的数据各不一样: fmt为"yuv420p"时: dat存放的是base64(yuv420p数据); fmt为"rgb32"时: dat存放的是base64(rgb32数据); fmt为"picfile"时: dat存放的是“本地文件名”; fmt为"picdat "时:dat存放的是base64(图片文件内容); |
width | 图像宽度(像素), 在fmt为"yuv420p","rgb32"时,需要此参数 |
height | 图像高度(像素), 在fmt为"yuv420p","rgb32"时,需要此参数 |
白板信息列表
BoardObjs
{ "boardID": "a","title": "board","width": 1024,"height": 768,"pageCount": 1},
{ "boardID": "b","title": "board","width": 1024,"height": 768,"pageCount": 1},
… ]白板配置对象
BoardObj
{ "boardID": "x", "title": "board", "width": 1024, "height": 768, "pageCount": 1}
属性 | 值 |
---|---|
boardID | 白板标识 |
title | 白板的名字 |
width、height | 白板的宽、高 |
pageCount | 页数(建议白板是一页,文档是实际页面数) |
白板图元列表
BoardElementObjs
[ { "elementID": "xx", "type":100, "orderID":0, "left":0, "top":0, …} { "elementID": "yy", "type":100, "orderID":0, "left":100, "top":100, …} ]
白板图元
BoardElementObj
{ "elementID": "xx", "type":100, "left":0, "top":0, …}
属性 | 值 |
---|---|
elementID | 图元id |
type | 图元的类型,值100以下为云屋保留值,100及以上为自定义值 |
left、top | 图元在页内的左上角位置 |
… | 可自由扩展 |
说明: | 1.elementID必须调用createElementID()获取, 即使是曾经调此接口创建的然后存入了磁盘文件,再次读入会议时,所有elementID也需要重新生重。 2.如果要和云屋产品互通,那就需要按云屋的定义取值,可以联系云屋获取相关文档 |