如何使用Intel CS for WebRTC 快速搭建实时音视频通讯系统
Intel CS for WebRTC是一套完整的WebRTC的通讯架构套件,包括了服务端软件和客户端SDK,其中客户端SDK支持Web,Android,iOS和Windows平台。该套件对通讯协议的细节进行了封装,可以使开发者专注于应用层的软件开发。
目标:
- 搭建WebRTC系统,实现在web页面上进行实时通讯
步骤:
1.环境准备
CentOS 7以上操作
外网访问IP:120.92.100.101(需要是你机器的实际IP,后面依这个IP为例)
2.下载Intel CS for webrtc 软件包。
到https://software.intel.com/en-us/webrtc-sdk/download页面进行下载
或者直接使用wget下载:
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/13165/Intel_CS_WebRTC.v4.0.1.zip
3.获取webrtc MCU安装文件
unzip Intel_CS_WebRTC.v4.0.1.zip
解压后,会列出全部支持的客户端SDK和服务端软件。
实现Web端音频通话,我们只需要安装MCU即可。
tar xvf CS_WebRTC_Conference_Server_MCU.v4.0.1.tgz
所有文件会解压到Release-v4.0.1目录下。
Intel CS WebRTC依赖于一些第三方的软件,如Nodejs,ffmpeg等。Nodejs需要单独安装。
4.安装Nodejs
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.gz
tar -xzvf node-v6.9.5-linux-x64.tar.gz
mv node-v6.9.5-linux-x64 /opt/
ln -s /opt/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/node-v6.9.5-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
5.安装其它依赖软件
进入Relase-v4.0.1目录,执行如下命令:
bin/init-all.sh --deps
考虑到有可能不支持硬件的GPU加速,我们使用软件方式,执行如下命令:
bin/init-all.sh –software
这个命令执行完成后,会生成两组superServiceId和sampleServiceKey,这两个值在登录控制台时会用到。
6.配置对外服务IP
如果服务直接配置了对外服务的IP,请跳过本步;如果使用的虚机有EIP,需要配置对外服务的IP。
vi webrtc_agent/agent.toml
修改:
network_interfaces = []
为:
network_interfaces = [{name = "eth0", replaced_ip_address = "120.92.100.101"}]
vi portal/portal.toml
修改:
ip_address=””
为:
ip_address=”120.92.100.101”
7.配置UDP通讯端口
如果是虚机,在虚机网络管理中打开UDP的可访问端口,推荐范围2000-9000,同时需要在配置文件中进行配置。
vi webrtc_agent/agent.toml
修改:
# The webrtc port range
maxport = 0 #default: 0
minport = 0 #default: 0
为:
# The webrtc port range
maxport = 9000 #default: 0
minport = 2000 #default: 0
8.打开TCP通讯端口
如果是虚机,在虚机网络管理中打开TCP的可访问端口,推荐范围2000-9000
9.关闭防火墙(需要管理员权限)
sudo systemctl stop firewalld.service
10.启动 Intel CS WebRTC
./bin/start-all.sh
如果没有报错,表示启动功能,并最后看到下面的字样:
1 rooms in this service.
sampleRoom Id: XXXXXXX
11.通过Chrome浏览器打开控制台f
http://120.92.100.101:3300/console/
会提示输入superServiceId和sampleServiceKey,输入步骤5中产生的任意一组,如果成功,会看到创建的room列表,当前为空。
12.通过Chrome浏览器,使用默认room进行音视频通话
成功后,会看到两个窗口,上面是本地的采集窗口,下面是视频通讯的多窗口
如果没有正常显示,可以通过Chrome浏览器的开发工具查看具体的原因。