• 网页实时音视频通话系统线上视频会议系统EasyRTC通过freeswitch级联功能配置分享


    在 EasyRTC 的部分项目中,客户希望能够开启视频级联功能,即将A服务器的视频推送到B服务器中。目前我们对这一功能进行了研究,基于freeswitch实现了EasyRTC的级联功能,下面将和大家分享一下我们的实现方式。

    基本用法如下:
    a用户----A服务器(192.168.99.162)------B服务器(192.168.99.147)-----b用户

    a用户访问A服务器,A服务器将视频转发到B服务器,b用户访问B服务器的房间,可以看到a的视频。

    首先在 A 服务器(192.168.99.162)的配置文件 conf/dialplan/default.xml 中添加以下参数,最好放在文件的前面,防止被覆盖掉,大致如下:

    <extension name="meeting">
            <condition field="destination_number" expression="^(.*)$">
                 <action application="bridge" data="sofia/external/sip:$1@192.168.99.147:15080" />
            </condition>
        </extension>
    

    expression 代表所有的会议室,^1(.*)$ 就是以 1 开头的会议室。

    data 中 %1 代表会议室名称。将所有的数据转发到 192.168.99.147 中。
    在B服务器(192.168.99.147)配置文件 conf/displan/public.xml 中修改 public_extensions 为如下内容,代表接收所有的会议室。

    <extension name="public_extensions">
          <condition field="destination_number" expression="^(.*)$">
            <action application="transfer" data="$1 XML default"/>
          </condition>
        </extension>
    

    在a中进入会议室,会将a的视频转发到服务器B中,抓包显示如下:

    以上包数据代表,192.168.99.162通过sip+rtp协议将A的视频转发到192.168.99.147的服务器中。

    在147的服务其中能够看到162的服务器的视频,至此该功能就已经完成。

    目前,EasyRTC可以运用到多个项目当中,包括在线教育、企业办公、在线医疗等。如果大家对我们开发的产品比较感兴趣,欢迎关注我们了解更多。

  • 相关阅读:
    记录JavaScript原型和原型链复习笔记
    记录浏览器渲染流程解析
    记录前端路由 hash 与 history 差异
    作用域&变量提升&闭包题目及内容解答
    记录JS原型链
    记录JS精粹,原型链继承和构造函数继承的 “毛病”
    虚拟DOM的理解与总结
    Vite+TS项目:论如何便捷的使用pinia
    Redis知识总结
    JVM家庭成员盘点及各自职能介绍 https://mp.weixin.qq.com/s/TkGZ5fMTOdr9ABNf_xllnw
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14659058.html
Copyright © 2020-2023  润新知