Advertisement

JsSIP + WebRTC + freeSWITCH视频会议

阅读量:

本文介绍了如何使用 WebRTC、JsSIP 和 freeSWITCH 构建一个视频聊天应用,并演示了视频会议系统的实现。通过修改 freeSWITCH 的 RTP 时间超时配置,提升了会议连接的稳定性。文章还展示了会议效果图,并讨论了当前的待解问题,包括视频会议布局配置、布局与会议的关联性以及 video floor 的使用情况。

WebRTC + JsSIP + freeSWITCH 一对一视频聊天中,我们展示了基于 WebRTC、JsSIP 和 freeSWITCH 构建的 Web 视频聊天应用。在此基础上,我们将介绍视频会议系统的构建过程。

看下面的文档:

该平台的视频会议功能已正式上线,支持多种格式的在线视频会议,为用户提供便捷的会议服务体验。该平台的视频会议功能已正式上线,支持多种格式的在线视频会议,为用户提供便捷的会议服务体验。

注意到 freeSWITCH 从 1.6 版本开始新增了对视频 MCU 的支持。你可以根据需要进行参数设置,如 video floor 和 video mode 等等参数,以具体控制视频会议。

你也可以配置视频会议中多个视频的布局。

我没时间调了,没有做相关实验,没搞明白怎么用的……

对于freeSWITCH的用户而言,无论是发起会议还是与特定人员通话,操作流程均一致。基于JsSIP实现的DEMO中,我们无需额外配置即可进行会议功能测试过程,具体操作只需在界面上输入会议号即可,例如,会议号如3000。

编译 freeSWITCH,支持 MCU

Windows环境下编译freeSWITCH的一文中,详细介绍了如何编译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后,这些号码即为会议号码,可以使用这些号码进行入会。

效果如下:

待解问题

有一些问题没来得及试通:

  • 视频会议的布局配置以何种方式生效
    • 一个布局如何与会议建立关联
    • 视频 flooring的使用方式是怎样的

目前理解是这样:

根据你配置的 layout 设置,freeSWITCH 会生成视频内容,最终将一路视频流传输给每位参会者。在这一路视频流中,到底包含哪些视频,与 video floor 有关(猜测,可能错),或者说,与视频的亮度或音量大小相关。

就这样吧,暂时弄到这里。谁有兴趣,可以在此基础上接着实验。


相关阅读:

  • 基于WebRTC、JsSIP与freeSWITCH的一对一视频通话系统
    • freeSWITCH的安装、部署与局域网测试
    • 基于Node.js的WebRTC+freeSWITCH HTTPS服务部署
    • freeSWITCH与WebRTC的音视频会议系统开发
    • 使用Zoiper工具实现freeSWITCH视频会议服务
    • Windows环境下freeSWITCH的编译与部署
    • 基于freeSWITCH与Yate平台的VoIP通话系统构建

全部评论 (0)

还没有任何评论哟~