Ubuntu中安装部署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
# 解压
# 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
# 解压
# 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
4.2 解压
# tar -zxvf Intel_CS_WebRTC.v4..zip
解压后,Intel_CS_WebRTC.v4.2目录包含如下文件
CS_WebRTC_Client_SDK_Android.v4..zip
CS_WebRTC_Client_SDK_iOS.v4..zip
CS_WebRTC_Client_SDK_JavaScript.v4..zip
CS_WebRTC_Client_SDK_Windows.v4..zip
CS_WebRTC_Conference_Server_MCU.v4..CentOS.tgz
CS_WebRTC_Conference_Server_MCU.v4..Ubuntu.tgz
CS_WebRTC_Conference_Server_Peer.v4..tgz
License.pdf
ReleaseNotes.pdf
本文在Ubuntu上安装MCU,因此使用Ubuntu 版本MCU,解压ubuntu安装包:
# cd Intel_CS_WebRTC.v4.
# tar -zxvf CS_WebRTC_Conference_Server_MCU.v4..Ubuntu.tgz
解压后,会生成一个Release-v4.2的目录,即我们要安装的intel cs server。
4.3 安装部署
4.3.1 安装依赖
相关命令如下:
# cd Release-v4./
# 需要外网,下载可能会很慢
# 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: 5ce4c00b7b0da14e1377914f
superServiceKey: 8ACp9tpz6nWebF4x4HECxP0UvXLJChzEJPqNmW7rRrJyRPKOw+LGiUVQbF4ed/0v6yHAUL6CmrgKMxWAU4PIvjGY2HUfvlbcwkC4iN6niE4ApllW3stRaT6jQPqAmPVAAK5/74A39MR9VoyIR6B01GWvBcPv79BZTyNdWek/f3w= # 普通账号
sampleServiceId: 5ce4c00b7b0da14e13779150
sampleServiceKey: 5bc8AIklK8fsdRLBJmfecF6PMwx/k7IVKz7nd8a2CHLsEh8MM3nSBL9aMURBs/HSJXFV7vJg9lDcyYrlxBFJOJmnaq5R5cK+AJT8djgyvdc1dePTpMdWSb54H+cv9IKkNgTqvQW+H4eSoA1uq9hNhpMYriwYCqw/ARXC2+pAk7I=
......
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.85.136。
......
ip_address = "172.16.85.136"
......
此外,./webrtc_agent/agent.toml文件中还需配置如下:
# vim webrtc_agent/agent.toml
# network_interfaces = []
修改为:
network_interfaces = [{name = "eth0", replaced_ip_address = "172.16.85.136"}]
4.3.3 启动/停止服务
1、启动服务
# 启动服务
# ./bin/start-all.sh
# ./bin/start-all.sh
starting management-api, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/management-api.stdout
starting cluster-manager, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/cluster-manager.stdout
-- ::09.004 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::09.037 - INFO: Main - Cluster manager up! id:
-- ::09.038 - INFO: ClusterManager - Run as candidate.
-- ::09.246 - INFO: ClusterManager - Run as master.
-- ::09.252 - INFO: ClusterManager - Cluster manager is in service as master!
starting recording-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/recording-agent.stdout
-- ::10.256 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::10.270 - INFO: WorkingAgent - recording agent join cluster ok.
-- ::10.287 - INFO: ClusterWorker - Join cluster owt-cluster OK.
-- ::10.298 - INFO: WorkingAgent - as rpc server ok.
-- ::10.299 - INFO: WorkingAgent - as monitoring target ok.
starting webrtc-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/webrtc-agent.stdout
-- ::11.325 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::11.338 - INFO: WorkingAgent - webrtc agent join cluster ok.
-- ::11.353 - INFO: ClusterWorker - Join cluster owt-cluster OK.
-- ::11.380 - INFO: WorkingAgent - as rpc server ok.
-- ::11.381 - INFO: WorkingAgent - as monitoring target ok.
starting conference-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/conference-agent.stdout
-- ::12.303 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::12.339 - INFO: WorkingAgent - conference agent join cluster ok.
-- ::12.364 - INFO: ClusterWorker - Join cluster owt-cluster OK.
-- ::12.371 - INFO: WorkingAgent - as rpc server ok.
-- ::12.373 - INFO: WorkingAgent - as monitoring target ok.
starting analytics-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/analytics-agent.stdout
-- ::14.025 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::14.028 - DEBUG: WorkingAgent - Initializing RPC facilities, purpose: analytics
-- ::14.075 - INFO: WorkingAgent - analytics agent join cluster ok.
-- ::14.128 - INFO: ClusterWorker - Join cluster owt-cluster OK.
starting sip-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/sip-agent.stdout
-- ::15.073 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::15.104 - INFO: WorkingAgent - sip agent join cluster ok.
-- ::15.126 - INFO: ClusterWorker - Join cluster owt-cluster OK.
-- ::15.136 - INFO: WorkingAgent - as rpc server ok.
-- ::15.137 - INFO: WorkingAgent - as monitoring target ok.
starting streaming-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/streaming-agent.stdout
-- ::15.904 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::15.917 - INFO: WorkingAgent - streaming agent join cluster ok.
-- ::15.945 - INFO: ClusterWorker - Join cluster owt-cluster OK.
-- ::15.959 - INFO: WorkingAgent - as rpc server ok.
-- ::15.960 - INFO: WorkingAgent - as monitoring target ok.
starting audio-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/audio-agent.stdout
-- ::17.077 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::17.109 - INFO: WorkingAgent - audio agent join cluster ok.
-- ::17.134 - INFO: ClusterWorker - Join cluster owt-cluster OK.
-- ::17.149 - INFO: WorkingAgent - as rpc server ok.
-- ::17.155 - INFO: WorkingAgent - as monitoring target ok.
starting video-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/video-agent.stdout
-- ::18.936 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::19.005 - INFO: WorkingAgent - video agent join cluster ok.
-- ::19.021 - INFO: ClusterWorker - Join cluster owt-cluster OK.
-- ::19.036 - INFO: WorkingAgent - as rpc server ok.
-- ::19.037 - INFO: WorkingAgent - as monitoring target ok.
starting management-console, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/management-console.stdout
Start management-console HTTPS server
starting sip-portal, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/sip-portal.stdout
-- ::20.985 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::21.002 - INFO: SipPortal - sip-portal up!
-- ::21.007 - INFO: SipPortal - initSipRooms ok
starting portal, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/portal.stdout
-- ::21.828 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: }
-- ::21.836 - INFO: Main - portal initializing as rpc client ok
-- ::21.864 - INFO: Main - portal join cluster ok, with rpcID: portal-d7749f06a941b7dac50b@172.16.85.136
-- ::21.865 - INFO: ClusterWorker - Join cluster owt-cluster OK.
-- ::21.869 - INFO: Main - portal initializing as rpc server ok
-- ::21.872 - INFO: Main - portal-d7749f06a941b7dac50b@172.16.85.136 as monitor ready
-- ::22.481 - INFO: Main - start socket.io server ok.
starting app, stdout -> /home/starnight/Intel_CS_WebRTC.v4./Release-v4./logs/app.stdout
rooms in this service.
sampleRoom Id: 5ce4c0685dccf74eb12d1892
最后没有提示1 rooms xxx 也没得关系。
2、停止服务
# ./bin/stop-all.sh
stopping management-api.
stopping cluster-manager.
stopping recording-agent.
stopping webrtc-agent.
stopping conference-agent.
stopping analytics-agent.
stopping sip-agent.
stopping streaming-agent.
stopping audio-agent.
stopping video-agent.
stopping management-console.
stopping sip-portal.
stopping portal.
stopping app.
4.3.4 测试运行
4.3.4.1控制台界面
浏览器访问https://172.16.85.136:3300/console/ ,会提示输入账号的id和key。
输入管理员id、key,进入管理员界面:
输入普通账户id、key,进入普通账号界面:
4.3.4.2 访问
浏览器访问 https://172.16.85.136:3004/
5、安装问题
可能在安装过程中还是会碰上一些问题,或是由于环境原因,或是有一些遗漏的地方。
所以只能给点提示:要善用谷歌浏览器F12、Firefox F12和安装目录下logs日志文件,相信凭您的智慧是可以解决这些问题的。
6、参考资料
- 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
Ubuntu中安装部署Intel CS WebRTC的更多相关文章
- Ubuntu中安装配置 JDK与apache
一,前期准备: 1.下载apach网址:https://tomcat.apache.org/download-90.cgi 3.下载:jdk网址:http://www.oracle.com/techn ...
- 在Ubuntu中安装Docker和docker的使用
1.在Ubuntu中安装Docker 更新ubuntu的apt源索引 sudo apt-get update 安装包允许apt通过HTTPS使用仓库 sudo apt-get install \ ap ...
- 在ubuntu中安装maven
安装环境 操作系统:ubuntu 14.04.1 server amd64 安装jdk 在安装maven之前,必须确保已经安装过jdk. 安装jdk的方法请参考文章<在ubuntu中安装jdk& ...
- 在Ubuntu中安装Redis
原文地址:http://blog.fens.me/linux-redis-install/ 在Ubuntu中安装Redis R利剑NoSQL系列文章,主要介绍通过R语言连接使用nosql数据库.涉及的 ...
- ubuntu中安装Docker
系统要求: 必须时64位的系统,内核最低要求是3.10 查看系统内核: $ uname -r 3.11.0-15-generic 获取最新版本打Docker: $ wget -qO- https:// ...
- 如何在ubuntu中安装php
如何在ubuntu中安装php 情衅 | 浏览 692 次 发布于2016-05-07 12:36 最佳答案 关于Ubuntu下的LAMP配置步骤: 首先要安装LAMP 就是Apache,PH ...
- 在 ubuntu 中安装 python3.5、 tornado、 pymysql
一.在 ubuntu 中安装 python3.5 1.首先,在系统中是自带python2.7的.不要卸载,因为一些系统的东西是需要这个的.python2.7和python3.5是可以共存的. 命令如下 ...
- 解决在ubuntu中安装或升级时出现“11:资源暂时不可用”错误
解决在ubuntu中安装或升级时出现“11:资源暂时不可用”错误 解决在ubuntu中安装或升级时出现“11:资源暂时不可用”错误. 下图为具体情况: 出现问题: termial下在执行sudo ap ...
- 如何在ubuntu中安装中文输入法?
如何在ubuntu中安装中文输入法 在桌面右上角设置图标中找到“System Setting”,双击打开. 在打开的窗口里找到“Language Support”,双击打开. 可能打开会说没有安装 ...
随机推荐
- [luogu3573 POI2014] RAJ-Rally (拓扑排序 权值线段树)
传送门 Solution 在DAG中我们可以\(O(n)\)预处理\(Ds(u)\)表示从u表示以s为起点的最长路\(Dt(u)\)表示以u为终点的最长路,那么经过\((u,v)\)的最长路即为\(D ...
- 基于虚拟机的centos6.5 搭建本地光盘yum源
在线yum安装必须要保持服务器能够连入网络并且他下载的还会比较慢因为地址大部分多是国外的下载站.另外yum在线下载的都是比较新的软件包,可能不是很稳定,那么使用yum的本地资源就是光盘里的RPM包,让 ...
- Android ToggleButton:状态切换的Button
Android ToggleButton:状态切换的Button Android ToggleButton和Android Button类似,但是ToggleButton提供了一种选择机制,可以 ...
- [luoguP1631] 序列合并(堆 || 优先队列)
传送门 首先,把A和B两个序列分别从小到大排序,变成两个有序队列.这样,从A和B中各任取一个数相加得到N2个和,可以把这些和看成形成了n个有序表/队列: A[1]+B[1] <= A[1]+B[ ...
- 洛谷—— P2176 [USACO14FEB]路障Roadblock
https://www.luogu.org/problem/show?pid=2176 题目描述 每天早晨,FJ从家中穿过农场走到牛棚.农场由 N 块农田组成,农田通过 M 条双向道路连接,每条路有一 ...
- Hackerrank manasa-and-combinatorics(数学推导)
题意:有n个字符A,2n个字符B,问你能用这3n个字母组成多少种字符串,使得组成的字符串所有前缀与后缀的B的数目都大于等于A的数目,对答案mod 99991 分析:类似卡特兰数 ans=总方案数-存在 ...
- 杨辉三角的打印(Java)
// //输入指定的行数,打印杨辉三角 // //每个数等于它上方两数之和. //每行数字左右对称,由1开始逐渐变大. //第n行的数字有n项. // // // //可从打印菱形的思想出发:???? ...
- spring mvc日期转换(前端到后端,后端到前端)
在做web开发的时候,页面传入的都是String类型,SpringMVC可以对一些基本的类型进行转换,但是对于日期类的转换可能就需要我们配置. 1.如果查询类使我们自己写,那么在属性前面加上@Date ...
- 解决多个Xcode导致的N个模拟器的问题
<欢迎大家增加iOS开发学习交流群:QQ529560119> 完美解决多个Xcode从而导致了出现N个模拟器的问题
- 修改this指向(bind、call 和 apply)
一.bind 首先: var alertWrite = document.write; alertWrite('who am I?'); 这两行代码的运行结果是什么呢?不要急着回答,看完下面的内容再回 ...