研究Intel CS WebRTC时,需要搭建环境,按官网或网上找到的文档进行搭建都发现有各种问题,由于相关资料比较少,不好进行排查解决。
本文将最终部署成功的部署进行说明,希望对后来者能有所帮助,少踩些坑。
组件 | 版本要求 |
---|---|
OS | CentOS* 7.4, Ubuntu 14.04/16.04 LTS |
Node | 8.11.* (推荐8.11.1) |
MongoDB | 2.4.9 |
Boost | 1.65.1 |
node版本使用推荐8.11.1,相关命令如下:
# 下载
wget https://nodejs.org/download/release/v8.11.1/node-v8.11.1-linux-x64.tar.gz
(本地下载 https://172.16.0.17/download/node-v8.11.1-linux-x64.tar.gz)
# 解压
tar -zxvf node-v8.11.1-linux-x64.tar.gz
# 移动到/opt目录
mv node-v8.11.1-linux-x64 /opt/
# 设置软连接
ln -s /opt/node-v8.11.1-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/node-v8.11.1-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
使用下面的命令查看NodeJS和NPM的版本,若正确安装的话都可以看到相关的版本号信息。
sudo node -v
sudo npm -v
boost版本需要使用1.65.1版本,不然会提示找不到依赖库,编译安装时间较长。
相关命令如下:
# 安装依赖组件
apt-get install p7zip p7zip-full clang gcc
# 下载
wget https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.7z
(本地下载 https://172.16.0.17/download/boost_1_65_1.7z)
# 解压
7z x boost_1_65_1.7z
# 切换目录
cd boost_1_65_1/
# 设置参数
./bootstrap.sh --with-toolset=clang
# 编译安装(编译安装时间较长,请耐心等待)
./b2 install
# 将库添加到系统环境变量(重要)
ldconfig /usr/local/lib
下载Intel_CS_WebRTC.v4.2.zip:
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/15414/Intel_CS_WebRTC.v4.2.zip
(本地下载 https://172.16.0.17/download/Intel_CS_WebRTC.v4.2.zip)
命令如下:
tar -zxvf Intel_CS_WebRTC.v4.2.zip
解压后,Intel_CS_WebRTC.v4.2目录包含如下文件
本文在Ubuntu上安装MCU,因此使用Ubuntu 版本MCU,解压ubuntu安装包:
cd Intel_CS_WebRTC.v4.2
tar -zxvf CS_WebRTC_Conference_Server_MCU.v4.2.Ubuntu.tgz
解压后,会生成一个Release-v4.2的目录,即我们要安装的intel cs server。
相关命令如下:
cd Release-v4.2/
# 需要外网,下载可能会很慢
bin/init-all.sh --deps
过程中会有安装选择,相关的问题及选择可以参考下面的说明,最后一步一定要选no,即不更新RabbitMQ或MongoDB账号
......
# 这一步一定要选择yes,即继续安装
Do you want to continue? [Y/n] y
......
......
# 这一步选择no,即不创建MongoDB账号
Create MongoDB Account? [Yes/no]no
......
......
# 这一步选择no,即不禁用RabbitMQ账号并创建新账号
Diable Default RabbitMQ Account and Create a New One? [Yes/no]no
......
......
# 这一步很重要,一定要选择no,即不更新Mongodb或RabbitMQ账号信息
# 若选择yes的话可能导致更新后连接不上Mongodb或RabbitMQ
Update RabbitMQ/MongoDB Account? [No/yes]no
......
安装过程中会提示生成两组key,在比较靠前的位置
......
# 管理员账号
superServiceId: 5cef562bb9b37a738894021d
superServiceKey: dcAxRCuyXmdOtn1rE7mPqAm3DqL8t79G5+0chesNwiym4zgeAQjZjE/qLTzDnldE+AG+n9Yq18XjGZDeuFlTggiRYosMfMrMrgGBCqYy/h82Pxf5tswTLdsxSHoI+2pneJotKj7ensR4Sw0bJEoczfnRqEjZ4Lw2/frxKJZX3pI=
# 普通账号
sampleServiceId: 5cef562cb9b37a738894021e
sampleServiceKey: kjjH3GqtJYBReJrDeETc3c9r9DsY24GYpNbd0KTzieZsyHp60bvYt5olJNmq3UIt+yOBR2/wdqgW2AGspCBlRKnlCWQPkMXdlOmLWUNU+++5Jyw/WXLiQCGS/zaQXJWT8wVnxdf8UaaZ1/Fm+0vPov67g6OZJLS0yrtOcGq1WTo=
......
修改下面的相关文件的IP地址
将配置文件中ip_address修改为相应的ip地,如:172.16.80.240。
......
ip_address = "172.16.80.240"
......
1、启动服务,命令如下:
# 启动服务
./bin/start-all.sh
…
1 rooms in this service. # 没有提示这个也没有关系,只要不报错就ok
sampleRoom Id: 5ce4c0685dccf74eb12d1892
2、停止服务,命令如下:
# 停止服务
./bin/stop-all.sh
1、管理界面
浏览器访问 https://172.16.80.240:3300/console/ ,会提示输入普通账号的id和key。
刷新效果如下:
(1)管理账号
(2)普通账号
2、终端界面
浏览器访问:https://172.16.80.240:3004/
1、Q:获取Tokens失败,如下图所示:
webrtc_agent的日志信息出现很多rmq client连接失败的信息
A: 这是因为安装Intel CS WebRTC依赖时,
// 这一步选择了yes,即禁用RabbitMQ账号并创建新账号
Diable Default RabbitMQ Account and Create a New One? [Yes/no]yes
......
// 这一步选择了no,即不更新Mongodb或RabbitMQ账号信息
Update RabbitMQ/MongoDB Account? [No/yes]no
导致RabbitMQ的默认账号被禁用了,而Intel CS WebRTC的RabbitMQ账号没有更新,使用RabbitMQ默认账号去连接服务器,从而出现连不上RabbitMQ的情况,最终导致终端入会获取tokens失败,入不了会。
2、Q:客户端访问没有看到界面,F12看到的日志信息如下图所示:
A: 浏览器同源策略限制导致出错,可以通过浏览器禁用同源策略,具体方法参考:
《禁用浏览器同源策略的方法》一文
3、Q:客户端访问没有看到界面,F12看到的日志信息如下图所示:
后台服务器日志提示libboost-xxx.so文件打不开或找不到,如下图所示:
A:请检查是否已经安装了boost,若没有,参考“3、安装Boost”相关步骤安装boost。
Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC):
https://software.intel.com/en-us/articles/intel-collaboration-suite-for-webrtc
如何使用Intel CS for WebRTC 快速搭建实时音视频通讯系统
https://blog.csdn.net/wutong_login/article/details/81128620
OWT Server 快速入门
https://blog.piasy.com/2019/04/14/OWT-Server-Quick-Start/index.html
Boost install on Ubuntu
http://www.voidcn.com/article/p-kxdmnrla-bpm.html