会议集成开发指南
会议 API
下面仅列出了 XSwitch 会议相关的 API,具体的使用方法请参考对应的文档。
Rest API
查询所有会议(正在进行的会议)
- 请求 URL:
/api/conferences
- 请求方式:
GET
- 返回值:code(200 即为正常),session_id
- curl 示例:
curl -XGET -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" localhost/api/conferences
- 返回(示例):
部分字段说明:
参数 | 说明 |
---|---|
book_meeting_id | 预约会议 id |
caller_id_name | 与会者名称 |
hold | 保持 |
can_hear | 可以听,false 为不可听 |
can_speak | 不可说,即静音,如果为 true 则表示未静音 |
has_video | 未开启视频 |
talking | 未说话;true 为正在说话 |
can_see | 可以看 |
caller_id_number | 与会者号码 |
id | 与会者在会议中的 id |
uuid | 与会者通道 UUID |
join_time | 该成员加入会议的总时长,单位:秒 |
max_members | 最大会议容量 |
conference_name | 会议号码 |
member_count | 当前会议总人数 |
locked | 会议是否锁定 |
canvas_count | 画布个数 |
conference_uuid | 会议 UUID |
返回 JSON:
{ "msg": "+OK", "data": [ { "variables": { "book_meeting_id": "1", "book_recurrent_meeting_id": "2" }, "dynamic": true, "members": [ { "record_path": "/usr/local/freeswitch/storage/recordings/conference-record-715834449-xswitch.cn-2023-03-02-00-07-13-74dbee72-0446-420d-a125-75bdfd2e0b1c.wav", "join_time": 1677686833, "type": "recording_node" }, { "type": "caller", "uuid": "74dbee72-0446-420d-a125-75bdfd2e0b1c", "last_talking": 0, "volume_out": 0, "join_time": 3, "volume_in": 0, "id": 1, "caller_id_name": "1028", "input-volume": 0, "output-volume": 0, "energy": 0, "flags": { "can_see": true, "talking": true, "hold": false, "end_conference": false, "mute_detect": false, "has_floor": true, "has_video": false, "video_bridge": false, "can_hear": true, "pass_digits": false, "is_moderator": false, "can_speak": true }, "caller_id_number": "1028" } ], "destruct": false, "max_members": 10, "video_rfc4579": false, "video_floor_only": false, "video_floor_packets": 0, "conference_name": "715834449-xswitch.cn", "member_count": 1, "enforce_min": true, "enter_sound": true, "exit_sound": true, "max_bw_in": 0, "wait_mod": false, "conference_uuid": "577fdc73-ac90-429e-b18d-bfdf47bc884b", "running": true, "locked": false, "canvas_count": 1, "ghost_count": 0, "bridge_to": false, "recording": true, "answered": true, "video_bridge": false, "audio_always": false, "run_time": 3, "force_bw_in": 0, "rate": 8000 } ], "code": 200 }
其中 conference_name 是会议的唯一标识,返回的 members 里的 id 是与会者的一个标识 ID。
查询指定会议状态
- 请求 URL:
/api/conferences/$name
- 请求方式:
GET
- 返回值:code(200 即为正常),session_id
- curl 示例 1:
curl -XGET -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" localhost/api/conferences/715834449-xswitch.cn
- 返回(示例 1):
返回 JSON:
{ "msg": "+OK", "data": [ { "locked": false, "exit_sound": true, "rate": 8000, "member_count": 1, "max_members": 10, "conference_name": "715834449-xswitch.cn", "node_uuid": "4bbf9d95-dfef-40a4-9fb9-35c2c77c4dee", "enter_sound": true, "members": [ { "record_path": "/usr/local/freeswitch/storage/recordings/conference-record-715834449-xswitch.cn-2023-03-02-00-10-25-daa0338c-bc7e-4830-afd7-08ad900de47c.wav", "type": "recording_node", "join_time": 1677687025 }, { "output-volume": 0, "caller_id_number": "1028", "id": 3, "type": "caller", "uuid": "daa0338c-bc7e-4830-afd7-08ad900de47c", "caller_id_name": "1028", "join_time": 14, "input-volume": 0, "volume_out": 0, "flags": { "is_moderator": false, "has_floor": true, "pass_digits": false, "video_bridge": false, "can_see": true, "hold": false, "end_conference": false, "can_hear": true, "can_speak": true, "talking": true, "has_video": false, "mute_detect": false }, "energy": 0, "volume_in": 0, "last_talking": 0 } ], "run_time": 14, "destruct": false, "max_bw_in": 0, "canvas_count": 1, "bridge_to": false, "ghost_count": 0, "variables": { "book_recurrent_meeting_id": "2", "book_meeting_id": "1" }, "recording": true, "video_rfc4579": false, "video_bridge": false, "force_bw_in": 0, "audio_always": false, "video_floor_only": false, "video_floor_packets": 0, "conference_uuid": "1eee5ce6-cc83-4117-94b7-e222b12c65c8", "dynamic": true, "answered": true, "enforce_min": true, "running": true, "wait_mod": false } ], "code": 200 }
其中 conference_name 是会议的唯一标识,返回的 members 里的 id 是与会者的一个标识 ID
- curl 示例 2: 增加
realMembersOnly
标识,为true
时只返回type
为caller
的成员。
curl -XGET -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" localhost:8081/api/conferences/3000-xswitch.cn?realMembersOnly=true
- 返回(示例 2):
{ "code": 200, "data": [ { "audio_always": false, "video_floor_packets": 0, "locked": false, "run_time": 112, "bridge_to": false, "conference_name": "3000-xswitch.cn", "max_members": 10, "enforce_min": true, "member_count": 1, "variables": [], "ghost_count": 0, "conference_uuid": "9a04b0c0-f777-4beb-94c0-8d911dfe24ce", "answered": true, "members": [ { "join_time": 112, "input-volume": 0, "energy": 0, "output-volume": 0, "uuid": "3ab084a3-ea3b-4686-932e-b6a3c46e6719", "id": 1, "type": "caller", "volume_in": 0, "caller_id_name": "1001", "last_talking": 0, "caller_id_number": "1001", "volume_out": 0, "flags": { "mute_detect": false, "can_see": true, "can_speak": true, "talking": true, "end_conference": false, "can_hear": true, "pass_digits": false, "has_floor": true, "hold": false, "is_moderator": false, "video_bridge": false, "has_video": false } } ], "running": true, "destruct": false, "exit_sound": true, "video_floor_only": false, "node_uuid": "dae08bca-c6e1-4540-bfce-533bd1e53f79", "video_rfc4579": false, "dynamic": true, "canvas_count": 1, "wait_mod": false, "recording": true, "force_bw_in": 0, "video_bridge": false, "enter_sound": true, "max_bw_in": 0, "rate": 8000 } ], "msg": "+OK" }
邀请会议成员入会
此接口的$name
为会议名称,不局限于“预约页面”预约创建好的会议,当会议成员入会后,会议自动创建。
- 请求 URL:
/api/conferences/$name
邀请指定号码到指定会议中 - 请求方式:
POST
邀请某人入会
- Body 信息:
参数 | 说明 |
---|---|
cidName | 拉人入会时,被拉的账号响铃时显示的主叫名称,建议写会议号码 |
cidNumber | 拉人入会时,被拉的账号响铃时显示的主叫号码 |
from | 和cidNumber作用一样,如果没有设置cidName及cidNumber,则取from设置的号码作为拉人入会显示的主叫号码 |
to | 需要拉入的号码比如1001,【呼叫】⇨【路由】中已有对应路由方可成功 |
vars | 需要额外设置的通道变量,只有body内包含to字段时才生效 |
context | 呼叫源,可不携带,默认为context-1 |
Body:
{ "cidName": "3000-xswitch.cn", "cidNumber": "1001", "to": "1018", "vars": { "yxb": "23", "verto_svar_yxb": "true", "absolute_codec_string": "PCMA,PCMU" } }
- curl 示例:
curl -XPOST -d '{"cidName": "3000-xswitch.cn","cidNumber": "1001","to": "1018","vars": {"yxb": "23","verto_svar_yxb": "true","absolute_codec_string": "PCMA,PCMU"}}' -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/conferences/9999
- 返回值
{ "msg": { "code": 200, "msg": "Job-UUID: dd9d4bea-8a15-4472-8d44-8dfdb4b589c6" }, "code": 200, "data": "9999" }
批量邀请成员入会
- Body 信息:
参数 | 说明 |
---|---|
from | 拉人入会时,被拉的账号响铃时显示的主叫号码 |
to | 需要拉入的号码比如1001、18812345678,【呼叫】⇨【路由】中已有对应路由方可成功 |
context | 呼叫源,可不携带,默认为context-1 |
Body:
{ "participants": [ { "from": "test1", "cidNumber": "120", "to": "1000" }, { "from": "test2", "cidNumber": "110", "to": "20000" } ] }
- curl 示例:
curl -XPOST -d '{"participants": [{"from": "test1","cidNumber": "120","to": "1000"},{"from": "test2","cidNumber": "110","to": "20000"}]}' -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/conferences/9999
- 返回值
{ "msg": { "code": 200, "msg": "Job-UUID: 05b8b350-87a3-4b90-9110-6c31570a5a10" }, "code": 200, "data": "9999" }
邀请预约会议的成员入会与邀请批量成员入会
该接口仅针对已经在“预约页面”预约创建好的会议,如果会议未创建,则会呼叫失败;不支持临时会议批量入会。
- 请求 URL:
/api/conferences/call_members
- 请求方式:
POST
- Body 信息:参见信息说明。
- 返回值:code(200 即为正常),data,msg,
- curl 示例 1:
callData
字段说明
参数 | 说明 |
---|---|
id | 与会者分机 ID,如果为外部用户则无需填写 |
name | 被邀请的用户名 |
login | 邀请的本地分机 |
phone | 邀请的用户外部号码 |
roomInfo
字段说明
参数 | 说明 |
---|---|
nbr | 会议号码 |
name | 会议名称 |
Body:
{ "callData": [ { "id": 5, "name": "1003", "login": "1003" }, { "name": "张三", "phone": "15666091234" } ], "roomInfo": { "nbr": "712418732" } }
- 返回(示例):
{ "code": 200, "name": "712418732-xswitch.cn" }
- curl 示例 2:
body:
{ "callData": [ { "id": 5, "name": "1003", "login": "1003" }, { "id": 3, "name": "1001", "login": "1001" } ], "roomInfo": { "nbr": "712418732" } }
- 返回(示例):
{ "code": 200, "name": "712418732-xswitch.cn" }
开启会议录制功能
请求 URL:
/api/conferences/$name/record
开启录制请求方式:
PUT
Body 信息:无
返回值:code(200 即为正常),data,
curl 示例:
curl -XPUT-H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/conferences/712418732-xswitch.cn/record
- 返回值
{ "message": "success", "code": 200, "data": { "rel_path": "conference-record-20220524104830-712418732-xswitch.cn.mp4", "name": "712418732-xswitch.cn", "ext": "mp4", "description": "Conference Video Record", "id": "8", "mime": "video/mp4", "original_file_name": "conference-record-20220524104830-712418732-xswitch.cn.mp4", "dir_path": "/usr/local/freeswitch/storage/recordings", "type": "VIDEO_CONF", "abs_path": "/usr/local/freeswitch/storage/recordings/conference-record-20220524104830-712418732-xswitch.cn.mp4", "channel_uuid": "4368ab30-a448-4d68-8ded-be81a5746c39" } }
返回值部分字段说明
参数 | 说明 |
---|---|
description | 描述 |
name | 会议号码 |
rel_path | 文件名 |
ext | 录制格式 |
dir_path | 文件路径,不包含文件名 |
abs_path | 录音绝对路径,包含文件名 |
channel_uuid | 通道 UUID |
会议内执行某个动作
- 请求 URL:
/api/conferences/$name
- 请求方式:
PUT
示例1,全部静音:
- Body 信息:
{ "action": "mute", "val": "all" }
- curl 示例:
curl -XPUT -d '{"action": "mute","val": "all"}' -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.31.99:8081/api/conferences/3000-192.168.31.99
- 返回(示例):
{ "msg": "mute 31", "code": 200 }
示例2,列出某个会议内所有会议成员:
- Body 信息:
{ "action": "list" }
- curl 示例:
curl -XPUT -d '{"action": "list"}' -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.31.99:8081/api/conferences/3000-192.168.31.99
- 返回(示例):
{ "msg": "31;sofia/default/20000@192.168.31.99:7060;a48bb07c-2683-45a4-923e-f0e1a7811ee4;20000;20000;hear|floor;0;0;0\n", "code": 200 }
会议内给某个会议成员执行某个动作
- 请求 URL:
/api/conferences/$name/$memberID
- 请求方式:
PUT
示例1,给某个会议成员静音:
- Body 信息:
{ "action": "mute" }
- curl 示例:
curl -XPUT -d '{"action": "mute"}' -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.31.99:8081/api/conferences/3000-192.168.31.99/33
- 返回(示例):
{ "code": 200, "msg": "mute 33" }
示例2,强制设置某个会议成员为视频主持人:
- Body 信息:
{ "action": "vid-floor", "val": "force" }
- curl 示例:
curl -XPUT -d '{"action": "vid-floor","val": "force"}' -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.31.99:8081/api/conferences/3000-192.168.31.99/33
- 返回(示例):
{ "action": "vid-floor", "val": "force" }
踢人
- 请求 URL:
/api/conferences/:name/:memberID
- 请求方式:
DELETE
- Body 信息:参见信息说明。
- 返回值: code(200 即为正常),msg
memberID 为成员在会议中的 ID(如果 all,表示所有成员)
参数:
action
:动作。固定为hup
。
示例:
curl -vvv -XPUT -d '{"action": "hup"}' \ -H "X-XTRA-AUTH-ID: e30fe29f-97f0-4200-a034-8d36aca8cda2" \ -H "content-type: application/json" \ https://localhost/api/conferences/711293167-xswitch.cn/39
修改会议当前画布布局
- 请求 URL:
/api/conferences/:name/:memberID
- 请求方式:
PUT
- Body 信息:参见信息说明。
- 返回值: code(200 即为正常),msg
参数 | 说明 | 例子 |
---|---|---|
action | 会议动作 | vid-layout 设置画布布局 |
val | 会议动作后指定的值 | 2x2 1 表示在画布 1 设置为 2x2 的布局 |
Body:
{ "action": "vid-layout", "val": "2x2 1" }
- curl 示例:
curl -vvv -XPUT -d '{"action": "vid-layout", "val":"2x2 1"}' \ -H "X-XTRA-AUTH-ID: e30fe29f-97f0-4200-a034-8d36aca8cda2" \ -H "content-type: application/json" \ https://localhost/api/conferences/711293167-xswitch.cn/39
锁定(解锁)某个会议
- 请求 URL:
/api/conferences/:name
- 请求方式:
PUT
- Body 信息:参见信息说明。
- 返回值: code(200 即为正常),msg
参数 | 说明 | 例子 |
---|---|---|
action | 会议动作 | lock 锁定会议 unlock 解锁会议 |
val | 会议动作后指定的值 |
Body:
锁定
{ "action": "lock" }
解锁
{ "action": "unlock" }
- curl 示例:
curl -XPUT -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/conferences/711293167-xswitch.cn
结束会议
- 请求 URL:
/api/conferences/:name
- 请求方式:
DELETE
- Body 信息:参见信息说明。
- 返回值: code(200 即为正常),msg
curl -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" -XDELETE localhost:8088/api/conferences/711293167-xswitch.cn
详见会议开发指南。
XCC API
获取运行中的会议详情
command
:conferenceInfo
data
:数据conferenceName
:必填,会议室名称showMembers
:可选,布尔值,是否显示会议室成员,默认为否。
示例:
{ "jsonrpc":"2.0", "id":"conference-request-1", "method":"XNode.NativeJSAPI", "params":{ "ctrl_uuid":"54d0d141-a748-406a-8a63-992f195789cc", "data": { "command":"conferenceInfo", "data":{ "conferenceName":"3000", "showMembers":true } } } } { "jsonrpc": "2.0", "id": "conference", "result": { "code": 200, "message": "OK", "node_uuid": "xcc-node-1", "data": { "conference": { "conference_name": "3000", "member_count": 1, "ghost_count": 0, "rate": 8000, "run_time": 381, "conference_uuid": "41d33e47-881e-483f-bef9-8174a8516f2e", "canvas_count": 0, "max_bw_in": 0, "force_bw_in": 0, "video_floor_packets": 0, "locked": false, "destruct": false, "wait_mod": false, "audio_always": false, "running": true, "answered": true, "enforce_min": true, "bridge_to": false, "dynamic": true, "exit_sound": true, "enter_sound": true, "recording": false, "video_bridge": false, "video_floor_only": false, "video_rfc4579": false, "variables": { }, "members": [{ "type": "caller", "id": 2, "flags": { "can_hear": true, "can_see": true, "can_speak": true, "hold": false, "mute_detect": false, "talking": true, "has_video": false, "video_bridge": false, "has_floor": true, "is_moderator": false, "end_conference": false }, "uuid": "a3c2df89-b6c9-4fb3-a0a4-c1934b21f5a9", "caller_id_name": "Seven Du", "caller_id_number": "1001", "join_time": 381, "last_talking": 0, "energy": 100, "volume_in": 0, "volume_out": 0, "output-volume": 0, "input-volume": 0 }] } } } }
执行会议控制
可以使用NativeAPI
控制会议,如:
{ "jsonrpc": "2.0", "id": "...", "method": "XNode.NativeAPI", "params": { "ctrl_uuid": "ctrl_uuid ... ", "cmd": "conference", "args": "list" } }
常用的命令有:(以下假定会议名称为3000
)
list
:列出该节点上所有会议json_list
:同上,返回 JSON 字符串xml_list
:同上,返回 XML 字符串3000 list
:仅列出名称为 3000 的会议3000 mute 1
:对member_id
为1
的成员静音3000 unmute 1
:对member_id
为1
的成员取消静音3000 mute all
:将所有人静音3000 mute uuid=5bb13395-acc8-4dbc-9e90-2c6de0a27f98
:将 Channel UUID 对应的成员静音- 更多命令可以在命令行上输入
conference
查看帮助
详见XCC 会议接口。
会议API
XSwitch会议模块提供丰富的API接口(REST-API中提到的动作),其中动作
即REST-API中的action,参考用法
,若动作后有其他参数,则为val,若无,则val为空。
会议成员标识说明如下:
标识 | 说明 |
---|---|
member_id | 会议成员对应的会议ID |
all | 所有会议成员 |
last | 最后一个进入会议的会议成员 |
non_moderator | 除主持人外的其余会议成员 |
常见动作及简要说明如下:
动作 | 说 明 | 用法 | 例子 |
---|---|---|---|
bgdial | 非阻塞形式执行呼叫动作。 | conference <confname> bgdial <dial-string> [<callerid_number> [<callerid_name>]] | conference 3000 bgdial {origination_caller_id_number=8888}user/1000 |
deaf | 让某个会议成员或全部会议成员听不到 | conference <confname> deaf <member_id> | all |
dial | 阻塞形式执行呼叫动作 | conference <confname> dial <dial-string> [<callerid_number> [<callerid_name>]] | conference 3000 dial {origination_caller_id_number=8888}user/1000 |
dtmf | 向某个会议成员或全部会议成员发送一个DTMF按键信息 | conference <confname> dtmf <member_id>|all <digits> | conference 3000 dtmf all 3 |
enter_sound | 调整会议成员入会时播放的声音 | conference <confname> enter_sound on|off|none|file <filename> | conference 3000 enter_sound file /root/111.wav |
exit_sound | 调整会议成员离会时播放的声音 | conference <confname> exit_sound on|off|none|file <filename> | conference 3000 exit_sound file /root/111.wav |
floor | 切换会议主讲人 | conference <confname> floor <member_id | last> |
hup | 挂断某个会议成员或全部会议成员通话 | conference <confname> hup <[member_id|all|last|non_moderator]> | conference 3000 hup all |
list | 列出当前会议内所有会议成员信息 | conference <confname> list | conference 3000 list |
lock | 锁定某个会议,不再允许其他会议成员进入 | conference <confname> lock | conference 3000 lock |
mute | 给某个会议成员或全部会议成员静音 | conference <confname> mute <[member_id|all]|last|non_moderator> | conference 3000 mute all |
nopin | 去掉会议的入会密码 | conference <confname> nopin | conference 3000 nopin |
norecord | 停止录音 | conference <confname> norecord <[filename|all]> | conference 3000 norecord /root/test.wav |
pause | 暂停录音 | conference <confname> <filename> | conference 3000 pause /root/test.wav |
pause_play | 暂停正在播放的音频文件,若已暂停后再次执行本命令可恢复播放 | conference <confname> pause_play | conference 3000 pause_play |
play | 向会议内播放一个音频文件 | conference <confname> play <file_path> [async|<member_id> [nomux]] | conference 3000 play /root/test.wav |
record | 开启会议录音功能 | conference <confname> record <file-path> | conference 3000 record /root/record.wav |
recording | 控制一个会议中的录音动作 | conference <confname> recording [start|stop|check|pause|resume] [<filename>|all] | conference 3000 recording check |
relate | 调整会议成员之间的听说关系 | conference <confname> relate <member_id> <other_member_id> [nospeak|nohear] | conference 3000 relate 31 32 nospeak |
resume | 恢复会议录音 | conference <confname> resume <file-path> | conference 3000 resume /root/record.wav |
say | 使用TTS向会议内说一段话 | conference <confname> say <text> | conference 3000 say 你好 |
saymember | 使用TTS向会议内某个会议成员说一段话 | conference <confname> saymember <member_id> <text> | conference 3000 saymember 37 你好 |
stop | 停止向会议内播放音频文件 | conference <confname> stop | conference 3000 stop |
transfer | 将某个会议成员通话转移到另一个会议内 | conference <confname> transfer <conference_name> <member_id> | conference 3000 transfer 3001 37 |
undeaf | 让某个会议成员可以听到 | conference <confname> undeaf <[member_id|all]|last|non_moderator> | conference 3000 undeaf all |
unlock | 给某个会议解锁,允许其他会议成员入会 | conference <confname> unlock | conference 3000 unlock |
unmute | 给某个会议成员解除静音 | conference <confname> unmute <[member_id|all]|last|non_moderator> | conference 3000 unmute all |
xml_list | 以XML的形式列出当前会议内所有会议成员信息 | conference <confname> xml_list | conference 3000 xml_list |
json_list | 以JSON的形式列出当前会议内所有会议成员信息 | conference <confname> json_list | conference 3000 json_list |
vid-floor | 设置视频主讲人 | conference <confname> <member_id|last> [force] | conference 3000 vid-floor 30 force |
vmute | 给某个会议成员或全部会议成员视频静音 | conference <confname> vmute <[member_id|all]|last|non_moderator> | conference 3000 vmute all |
tvmute | 给某个会议成员或全部会议成员视频、音频全部静音 | conference <confname> tvmute <[member_id|all]|last|non_moderator> | conference 3000 tvmute all |
unvmute | 给某个会议成员或全部会议成员解除视频静音 | conference <confname> unvmute <[member_id|all]|last|non_moderator> | conference 3000 unvmute all |
vid-banner | 给某个会议成员设置字幕 | conference <confname> vid-banner <member_id|last> <text> | conference 3000 vid-banner 37 test |
vid-mute-img | 给某个会议成员设置被视频静音时显示的图片 | conference <confname> vid-mute-img <member_id|last> [<path>|clear] | conference 3000 vid-mute-img 37 /tmp/test.png |
clear-vid-floor | 清除某个会议成员的视频主讲人角色 | conference <confname> clear-vid-floor | conference 3000 clear-vid-floor 37 |
vid-layout | 给视频会议设置布局格式 | conference <confname> vid-layout <layout-name> | conference 3000 vid-layout 1x1 |
vid-fps | 给视频会议设置fps值 | conference <confname> vid-fps <fps> | conference 3000 vid-fps 20 |
vid-write-png | 会议内截屏 | conference <confname> vid-write-png <path> | conference 3000 vid-write-png /tmp/vid.png |
vid-personal | 视频会议时,会议成员看到除去自己后的视频画面 | conference <confname> vid-personal <on|off> | conference 3000 vid-personal on |