freeswitch 基于webrtc网页视频、语音通话官方例子video_demo安装

1.说明

freeswitch mod_verto提供了一个基于webrtc的js模块,该模块可以通过网页拨打电话、开视频会议等

环境: 基于阿里云debian8 安装 该模块需要https 最好是基于外网服务器安装

体验地址在http://blog.csdn.net/java_lilin/article/details/78391819有提到

 

2. 由于要视频所以要编译源码的mod_av模块

命令:

wget -O - https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add -

 

echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list

 

echo "deb http://files.freeswitch.org/repo/deb/debian-unstable/ jessie main" >> /etc/apt/sources.list.d/freeswitch.list

 

apt-get update

 

apt-get install -y --force-yes freeswitch-video-deps-most

 

Cd /opt

 

git clone https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch

 

Cd freeswitch

 

./bootstrap.sh -j

 

Vim modules.conf 去掉mod_av 前面的#

 

./configure --enable-core-pgsql-support

 

Make

 

make install

 

make hd-sounds-install    make hd-moh-install

 

make samples

官网安装参考地址https://freeswitch.org/confluence/display/FREESWITCH/Debian+8+Jessie

 

3. 安装完成后默认路径在/usr/local/freeswitch

Cd /usr/local/freeswitch

添加视频编码

Vim conf/vars.xml

 

<X-PRE-PROCESS cmd="set" data="global_codec_prefs=G722,PCMU,PCMA,GSM,VP8,H263,H264"/>

<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM,VP8,H263,H264"/>

如果是运行环境 最好修改下sip的默认端口5060 5061 5080 5081防被攻击

 

Cd /conf/sip_profiles 目录去掉3xx--ipv6的相关信息

 external-ipv6_bak  external-ipv6.xmlbak internal-ipv6.xmlbak我直接加了个后缀 好像是阿里云不支持ip6运行报错

 

Cd /usr/local/freeswitch

Vim conf/autoload_configs/modules.conf.xml 打开 <load module="mod_av"/>

的注释

4. 启动

Cd /usr/local/freeswitch

./bin/freeswitch

如果看到(FreeSWITCH Version 1.9.0+git~20180109T214449Z~7f9e6f3e4b~64bit (git 7f9e6f3 2018-01-09 21:44:49Z 64bit)

)类似的证明没错

输入命令shutdown停止freeswitch

 

5. Cd /opt/freeswitch/html5/verto 目录下有个video_demo 和verto_communicator

   两个目录的例子都是基于verto.js写的 官网地址http://evoluxbr.github.io/verto-docs/

 

6. 现在配置video_demo (verto_communicator一样 写的复杂一些 原理一样)

安装apt-get install nignx

 video_demo copy到/var/www下

 

Cd /usr/local/freeswtich 下

Vim conf/directory/default.xml

<domain name="$${domain}">

<params>

..打开下面的

<param name="jsonrpc-allowed-methods" value="verto"/>

<param name="jsonrpc-allowed-event-channels" value="demo,conference,presence"/>

</params>  

 

Vim conf/autoload_configs/conference.conf.xml

 <!-- Allow live array sync for Verto -->搜索打开

 <param name="conference-flags" value="livearray-sync"/>

 

Vim conf/autoload_configs/verto.conf.xml

 <profile name="default-v4">

。。。。。里面加入 mod_verto 就成了一个http服务器了

   <vhosts>

       <vhost domain="localhost">

          <param name="alias" value="seven.local freeswitch.org"/>

          <param name="root" value="/var/www/video_demo"/>

          <param name="index" value="index.html"/>

<!--

          <param name="auth-realm" value="FreeSWITCH"/>

          <param name="auth-user" value="freeswitch"/>

          <param name="auth-pass" value="rocks"/>

-->

        </vhost>

      </vhosts>

    </profile>

 

7. Https证书申请  阿里有免费的 参考地址https://www.cnblogs.com/lxf1117/p/6650647.html

获取后有xx.pem 、xx.key

Nginx配置

server {

    listen 443;

    server_name www.xxx.com;

    ssl on;

    ssl_certificate   /etc/nginx/cert/xx.pem;

    ssl_certificate_key  /etc/nginx/cert/xx.key;

    ssl_session_timeout 5m;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_prefer_server_ciphers on;

    location / {

          root /var/www/video_demo;

          index index.html;

    }

}

 

替换freeswitch默认的pem

用命令cat xx.pem xx.key > wss.pem 生成后替换掉/usr/local/freeswitch/certs下的wss.pem 两边证书一致

重启nginx freeswitch

nginx -s stop

nginx

 

Cd /usr/local/freeswitch

./bin/freeswitch

 

现在可以访问域名来访问改demo

效果和https://cantina.freeswitch.org/verto/index.html一样




以上是会议呼入

默认没有管理权限的 需要配置打开

停止fs

Vim conf/diaplan/defaul.xml

找到 

<extension name="cdquality_conferences">

 <condition field="destination_number" expression="^(35\d{2}|36000)$">

        <action application="answer"/>

<action application="set" data="conference_member_flags=moderator"/> 

        <action application="conference" data="$1-${domain_name}@video-mcu-stereo"/>

      </condition>

 

    </extension>

重启fs


 



 重启呼入3500后以上地方有所变化可操控会议 

当然也可以通过sip电话和网页进行通话和视频

分享桌面插件需要下载一个screen capturing google 浏览器插件就好了

如果你想页面好看可以参考https://blog.csdn.net/Java_lilin/article/details/79975066

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值