Ubuntu中安装部署Intel CS WebRTC

0、引言

研究Intel CS WebRTC时,需要搭建环境,按官网或网上找到的文档进行搭建都发现有各种问题,由于相关资料比较少,不好进行排查解决。

本文将最终部署成功的部署进行说明,希望对后来者能有所帮助,少踩些坑。

1、环境要求

组件 版本要求
OS CentOS* 7.4, Ubuntu 14.04/16.04 LTS
Node 8.11.* (推荐8.11.1)
MongoDB 2.4.9
Boost 1.65.1
  • 安装部署测试环境在Ubuntu 18.04,操作系统和MongoDB兼容,满足要求;
  • Node和Boost需单独安装指定的版本

2、安装Node

2.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

2.2 验证安装

使用下面的命令查看NodeJS和NPM的版本,若正确安装的话都可以看到相关的版本号信息。

sudo node -v
sudo npm -v

3、安装Boost

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

4、安装Intel CS WebRTC

4.1 下载

下载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)

4.2 解压

命令如下:

tar -zxvf Intel_CS_WebRTC.v4.2.zip

解压后,Intel_CS_WebRTC.v4.2目录包含如下文件

  • CS_WebRTC_Client_SDK_Android.v4.2.zip
  • CS_WebRTC_Client_SDK_iOS.v4.2.zip
  • CS_WebRTC_Client_SDK_JavaScript.v4.2.zip
  • CS_WebRTC_Client_SDK_Windows.v4.2.zip
  • CS_WebRTC_Conference_Server_MCU.v4.2.CentOS.tgz
  • CS_WebRTC_Conference_Server_MCU.v4.2.Ubuntu.tgz
  • CS_WebRTC_Conference_Server_Peer.v4.2.tgz
  • License.pdf
  • ReleaseNotes.pdf

本文在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。

4.3 安装部署

4.3.1 安装依赖

相关命令如下:

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=
......

4.3.2 修改配置(可以跳过,不配置好像也行)

修改下面的相关文件的IP地址

  • ./video_agent/agent.toml
  • ./recording_agent/agent.toml
  • ./sip_agent/agent.toml
  • ./streaming_agent/agent.toml
  • ./analytics_agent/agent.toml
  • ./webrtc_agent/agent.toml
  • ./audio_agent/agent.toml
  • ./portal/portal.toml

将配置文件中ip_address修改为相应的ip地,如:172.16.80.240。

......
ip_address = "172.16.80.240"
......

4.3.3 启动/停止服务

1、启动服务,命令如下:

# 启动服务
./bin/start-all.sh

在这里插入图片描述

1 rooms in this service. # 没有提示这个也没有关系,只要不报错就ok
sampleRoom Id: 5ce4c0685dccf74eb12d1892

2、停止服务,命令如下:

# 停止服务
./bin/stop-all.sh

4.3.4 测试运行

1、管理界面
浏览器访问 https://172.16.80.240:3300/console/ ,会提示输入普通账号的id和key。
在这里插入图片描述
刷新效果如下:
(1)管理账号
在这里插入图片描述
(2)普通账号
在这里插入图片描述

2、终端界面
浏览器访问:https://172.16.80.240:3004/
在这里插入图片描述

5、常见问题

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。

6、参考资料

猜你喜欢

转载自blog.csdn.net/cgs1999/article/details/90752242