JsSIP + WebRTC + freeSWITCH视频会议

来源:互联网 发布:韩顺平php视频下载 编辑:程序博客网 时间:2024/05/23 22:14

在 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通话
原创粉丝点击