freeswitch 视频会议

由于公司产品需要用到视频会议,之前也自研了MCU产品,逻辑相对简单,但是符合公司产品特性,但是服务器端的CPU使用,已经Qos做的不好。另外我们还实现了SFU的会议系统,但是考虑到终端的性能以及带宽的问题,可能没办法进行超过6方以上的会议,因此又想到了freeswitch.

使用freeswitch 1.10.7版本,下载和安装过程请参考: freeswitch1.10.7公网安装配置_Joe ZHU的博客-CSDN博客

基本安装完成之后就可以正常的使用freeswitch的视频会议。

 入会方式有两种:

1. 拨号入会:

  1. conf/dialplan/default.xml 中定义了拨号入会的入会number 3500
  2. 拨打3500之后,会执行application conference 会转入执行 conf/autoload_configs/conference.conf.xml中的 video-mcu-stereo
  3. 具体video-mcu-stereo下面的参数定义请参考:mod_conference - FreeSWITCH - Confluence​​​​​​

2. 命令发起会议

1. 开始一个会议:

        bgapi originate user/1001 &conference(3500@video-mcu-stereo)

        conference 3500@video-mcu-stereo dial user/1001

        这两个命令都可以发起一个会议

2. 在user/1001前可以加入通道变量用于对当前用户在会议中的设置:

        比如设置banner: 

        conference 3500@video-mcu-stereo dial {video_banner_text=1001}user/1001

3. 详细conference的命令可以参数官方问题 mod_conference 模块。多测试一下就知道各个命令的意思。

 由于现在视频会议基本上都是需要实现双流(桌面共享/课件投屏).SIP协议中需要实现BFCP,H323中需要实现H239.但是非常可惜的是freeswitch中目前并没有实现这两种双流协议,不确定后续会不会做。

由于sofia-sip已经从freeswitch中独立出来,因为如果需要实现双流的话,需要更改sofia-sip的代码,可以解析出BFCP。并且需要在freeswitch中添加bfcp模块用于实现双流。

后续打算尝试在freeswitch中实现,不确定难度有多大。。。。

Freeswitch 是一个开源的软交换平台,支持多种通信协议和功能,包括语音通话、视频通话、会议等。搭建视频会议系统可以通过以下步骤实现: ### 1. 安装 Freeswitch 首先,需要在服务器上安装 Freeswitch。可以通过源码编译安装,也可以使用包管理器安装。 #### 使用源码编译安装: ```bash git clone https://github.com/signalwire/freeswitch.git cd freeswitch ./bootstrap.sh -j ./configure make sudo make install ``` #### 使用包管理器安装(以 Ubuntu 为例): ```bash sudo apt update sudo apt install freeswitch ``` ### 2. 配置 Freeswitch 安装完成后,需要进行一些基本配置。配置文件位于 `/usr/local/freeswitch/conf` 目录下。 #### 启用视频支持 编辑 `modules.conf` 文件,确保以下模块被启用: ``` mod_conference mod_sofia mod_voip mod_video ``` #### 配置会议模块 编辑 `conf/autoload_configs/modules.conf.xml`,确保以下模块被加载: ```xml <load module="mod_conference"/> <load module="mod_sofia"/> <load module="mod_voip"/> <load module="mod_video"/> ``` ### 3. 启动 Freeswitch 配置完成后,启动 Freeswitch 服务: ```bash sudo /usr/local/freeswitch/bin/freeswitch -nc ``` ### 4. 创建视频会议 可以使用 Freeswitch 提供的命令行工具或 API 来创建视频会议。 #### 使用命令行工具创建会议: ```bash fs_cli -X POST "http://localhost:8080/api/conference?room=bridge@default" ``` ### 5. 客户端连接 用户可以通过支持视频通话的软电话(如 Zoiper、Bria)或 WebRTC 客户端连接到视频会议。 ### 6. 测试 最后,进行测试,确保视频会议功能正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值