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.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: 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.2/Release-v4.2/logs/management-api.stdout starting cluster-manager, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/cluster-manager.stdout 2019-06-03 17:52:09.004 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:09.037 - INFO: Main - Cluster manager up! id: 455428103 2019-06-03 17:52:09.038 - INFO: ClusterManager - Run as candidate. 2019-06-03 17:52:09.246 - INFO: ClusterManager - Run as master. 2019-06-03 17:52:09.252 - INFO: ClusterManager - Cluster manager is in service as master! starting recording-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/recording-agent.stdout 2019-06-03 17:52:10.256 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:10.270 - INFO: WorkingAgent - recording agent join cluster ok. 2019-06-03 17:52:10.287 - INFO: ClusterWorker - Join cluster owt-cluster OK. 2019-06-03 17:52:10.298 - INFO: WorkingAgent - as rpc server ok. 2019-06-03 17:52:10.299 - INFO: WorkingAgent - as monitoring target ok. starting webrtc-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/webrtc-agent.stdout 2019-06-03 17:52:11.325 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:11.338 - INFO: WorkingAgent - webrtc agent join cluster ok. 2019-06-03 17:52:11.353 - INFO: ClusterWorker - Join cluster owt-cluster OK. 2019-06-03 17:52:11.380 - INFO: WorkingAgent - as rpc server ok. 2019-06-03 17:52:11.381 - INFO: WorkingAgent - as monitoring target ok. starting conference-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/conference-agent.stdout 2019-06-03 17:52:12.303 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:12.339 - INFO: WorkingAgent - conference agent join cluster ok. 2019-06-03 17:52:12.364 - INFO: ClusterWorker - Join cluster owt-cluster OK. 2019-06-03 17:52:12.371 - INFO: WorkingAgent - as rpc server ok. 2019-06-03 17:52:12.373 - INFO: WorkingAgent - as monitoring target ok. starting analytics-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/analytics-agent.stdout 2019-06-03 17:52:14.025 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:14.028 - DEBUG: WorkingAgent - Initializing RPC facilities, purpose: analytics 2019-06-03 17:52:14.075 - INFO: WorkingAgent - analytics agent join cluster ok. 2019-06-03 17:52:14.128 - INFO: ClusterWorker - Join cluster owt-cluster OK. starting sip-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/sip-agent.stdout 2019-06-03 17:52:15.073 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:15.104 - INFO: WorkingAgent - sip agent join cluster ok. 2019-06-03 17:52:15.126 - INFO: ClusterWorker - Join cluster owt-cluster OK. 2019-06-03 17:52:15.136 - INFO: WorkingAgent - as rpc server ok. 2019-06-03 17:52:15.137 - INFO: WorkingAgent - as monitoring target ok. starting streaming-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/streaming-agent.stdout 2019-06-03 17:52:15.904 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:15.917 - INFO: WorkingAgent - streaming agent join cluster ok. 2019-06-03 17:52:15.945 - INFO: ClusterWorker - Join cluster owt-cluster OK. 2019-06-03 17:52:15.959 - INFO: WorkingAgent - as rpc server ok. 2019-06-03 17:52:15.960 - INFO: WorkingAgent - as monitoring target ok. starting audio-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/audio-agent.stdout 2019-06-03 17:52:17.077 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:17.109 - INFO: WorkingAgent - audio agent join cluster ok. 2019-06-03 17:52:17.134 - INFO: ClusterWorker - Join cluster owt-cluster OK. 2019-06-03 17:52:17.149 - INFO: WorkingAgent - as rpc server ok. 2019-06-03 17:52:17.155 - INFO: WorkingAgent - as monitoring target ok. starting video-agent, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/video-agent.stdout 2019-06-03 17:52:18.936 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:19.005 - INFO: WorkingAgent - video agent join cluster ok. 2019-06-03 17:52:19.021 - INFO: ClusterWorker - Join cluster owt-cluster OK. 2019-06-03 17:52:19.036 - INFO: WorkingAgent - as rpc server ok. 2019-06-03 17:52:19.037 - INFO: WorkingAgent - as monitoring target ok. starting management-console, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/management-console.stdout Start management-console HTTPS server starting sip-portal, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/sip-portal.stdout 2019-06-03 17:52:20.985 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:21.002 - INFO: SipPortal - sip-portal up! 2019-06-03 17:52:21.007 - INFO: SipPortal - initSipRooms ok starting portal, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/portal.stdout 2019-06-03 17:52:21.828 - INFO: AmqpClient - Connecting to rabbitMQ server OK, options: { host: 'localhost', port: 5672 } 2019-06-03 17:52:21.836 - INFO: Main - portal initializing as rpc client ok 2019-06-03 17:52:21.864 - INFO: Main - portal join cluster ok, with rpcID: portal-d7749f06a941b7dac50b@172.16.85.136 2019-06-03 17:52:21.865 - INFO: ClusterWorker - Join cluster owt-cluster OK. 2019-06-03 17:52:21.869 - INFO: Main - portal initializing as rpc server ok 2019-06-03 17:52:21.872 - INFO: Main - portal-d7749f06a941b7dac50b@172.16.85.136 as monitor ready 2019-06-03 17:52:22.481 - INFO: Main - start socket.io server ok. starting app, stdout -> /home/starnight/Intel_CS_WebRTC.v4.2/Release-v4.2/logs/app.stdout 1 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