在 WebRTC + JsSIP + freeSWITCH一对一视频聊天中我们展示了如何使用 WebRTC + JsSIP + freeSWITCH 构造一个 Web 视频聊天应用。这次会在上次的基础上,演示下视频会议系统的构建。
看下面的文档:
https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.6+Video
https://freeswitch.org/confluence/display/FREESWITCH/mod_conference
可以发现, freeSWITCH 自 1.6 之后,支持视频 MCU 了。 你可以配置 video floor 、video mode等等参数来控制视频会议。
你也可以配置视频会议中多个视频的布局。
我没时间调了,没有做相关实验,没搞明白怎么用的……
其实对 freeSWITCH 的使用者来讲,呼叫会议和呼叫某个人,流程是一样的,所以我们基于 JsSIP 实现的 DEMO ,做会议功能测试时,不必修改,只要在界面上填入会议号即可,比如 3000 。
编译 freeSWITCH,支持 MCU
在Windows下编译freeSWITCH一文中介绍了如何编译 freeSWITCH ,参考它即可。
在 WebRTC + JsSIP + freeSWITCH一对一视频聊天 一文中我们把 freeSWITCH 的 proxy_media 设置为 true ,注释掉它。
找到 internal.xml 中下面的配置:
<param name=”rtp-timeout-sec” value=”300″/>
<param name=”rtp-hold-timeout-sec” value=”1800″/>
把它们改大一些,第一个改成 30000 ,第二个改成 180000 。( RTP 建立过程较慢,原来设置的超时端,可能连接不上。)
加入会议
freeSWITCH 预留了一些会议, 3000 以后的分机号是会议号,可以呼叫这些号码入会。
效果如下:
待解问题
有一些问题没来得及试通:
视频会议的 layout 配置如何生效
一个 layout 是怎样和会议关联起来的
video floor是怎么用的
目前理解是这样:
freeSWITCH会自动根据你配置的layout来合成视频,最终发送一路视频流给每个参会者
在这一路视频流中,到底混入哪些视频,和 video floor 有关(猜测,可能错),或者说,和视频的强度或音量有关。
就这样吧,暂时弄到这里。谁有兴趣,可以在此基础上接着实验。
相关阅读:
WebRTC + JsSIP + freeSWITCH一对一视频聊天
freeSWITCH安装、配置与局域网测试
使用nodejs为WebRTC+freeSWITCH搭建https服务
freeSWITCH + WebRTC 音视频会议
使用Zoiper与freeSWITCH开视频会议
Windows下编译freeSWITCH
使用freeSWITCH和Yate进行VoIP通话
————————————————
版权声明:本文为CSDN博主「foruok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/foruok/article/details/74330563