在阿里云Nginx服务器上部署freeswitch webrtc视频/语音模块mod_verto
1、说明
freeswitch mod_verto
提供了一个基于webrtc
的js
模块,该模块可以通过网页拨打电话、开视频会议等
环境: 基于阿里云debian8
安装 该模块需要https
最好是基于外网服务器安装
体验地址在http://blog.csdn.net/java_lilin/article/details/78391819
有提到
2、由于要视频所以要编译源码的mod_av模块
首先确保你安装了freeswitch
文件
vim modules.conf
# 去掉mod_av 前面的#
make install mod_verto
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 目录去掉3个xx--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、查看video_demo和verto_communicator
cd /opt/freeswitch/html5/verto
两个目录的例子都是基于verto.js
写的 官网地址http://evoluxbr.github.io/verto-docs/
5、现在配置video_demo (verto_communicator一样,写的复杂一些原理一样)
安装apt-get install nignx
,把video_demo
复制到/var/www
下。
通过在directory/default.xml
中输入以下行,可以将Verto
信令的权限授予整个用户目录。
<domain name="$${domain}">
<params>
# 取消掉如下代码注视
<param name="jsonrpc-allowed-methods" value="verto"/>
<param name="jsonrpc-allowed-event-channels" value="demo,conference,presence"/>
</params>
您可以在用户目录配置文件中基于每个用户指定verto-context和verto-dialplan
<include>
<user id="1000">
<params>
<param name="password" value="$${default_password}"/>
<param name="vm-password" value="1000"/>
<param name="verto-context" value="public"/>
<param name="verto-dialplan" value="XML"/>
</params>
</user>
</include>
要启用提供会议事件近实时更新的livearray
功能,请将以下内容添加到conf/autoload_configs/conference.conf.xml
<!-- Allow live array sync for Verto -->
# 取消掉如下代码注视
<param name="conference-flags" value="livearray-sync"/>
接下来修改conf/autoload_configs/verto.conf.xml
并在default-v4
中加入配置文件
<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"/>
</vhost>
</vhosts>
</profile>
6、Https证书申请
可以申请阿里有免费的证书,参考地址:https://www.cnblogs.com/lxf1117/p/6650647.html
下载后获取xx.pem 、xx.key
,然后获取Nginx
配置
server {
listen 443;
server_name www.xxx.com;
location / {
root /var/www/video_demo;
index index.html;
}
ssl on;
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;
ssl_certificate /etc/nginx/cert/xx.pem;
ssl_certificate_key /etc/nginx/cert/xx.key;
}
替换freeswitch
默认的pem
用cat
命令合并两个文件:
cat xx.pem xx.key > wss.pem
生成后替换掉/usr/local/freeswitch/certs
下的wss.pem
,保持两边证书一致,然后重启nginx freeswitch
# 启动nginx
sudo service nginx start
# 启动freeswitch
freeswitch
现在可以访问域名来访问改demo
,效果和https://cantina.freeswitch.org/verto/index.html一样
用户评论
更多相关好文
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
python/MySQL分页查询方法与性能优化 2021-06-23
-
mitmproxy & python 忽略所有的https/ssl请求 2021-04-19
-
如何使用邮件/邮箱推广微信公众号/小程序? 2021-01-28
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论