系统环境:ubuntu-16.04-desktop-i386
1.首先安装信令服务器,以ProjectRTC为例;
sudo apt-get install nodejs npm
sudo apt install nodejs-legacy
cd ProjectRTC-master
npm install
node app.js
在浏览器中打开ip:3000即可访问(测试使用的浏览器为火狐,和360浏览器[急速模式])
点击start即可进入,现在统一局域网下,手机电脑之间都可以进行视频通话。
信令服务器搭建完成。
2.穿透服务器的搭建
首先安装环境:
sudo apt-get install libssl-dev
sudo apt-get install libevent-dev
sudo apt-get install libpq-dev
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
sudo apt-get install libhiredis-dev
sudo apt-get install git
下载编译安装coturn
git clone https://github.com/coturn/coturn
cd coturn
./configure
make
sudo make install
which turnserver 查看是否安装成功
这样就安装成功了。
现在开始修改配置文件
首先
sudo cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf
注意:/usr/local/etc/turnserver.conf才是配置文件!
/usr/local/etc/turnserver.conf.default并不是配置文件!
生成md5码:turnadmin -k –u 用户名 -r shanghai -p 密码
一定要把md5码记录下来,下面需要用到的。
生成证书
sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes
该过程需要你填写一些信息自己看着填吧!随便写
创建turnuserdb.conf文件
vi /etc/turnuserdb.conf
在其中填入之前生成的用户名和key (md5码)
格式如下:
lamb7758:0xea0de0a413f10171506a02e9f5d07621
最后修改配置文件:
vi /usr/local/etc/turnserver.conf
listening-device=填写自己的网卡类型
relay-device=填写自己的网卡类型
listening-ip=ip地址
listening-port=3478
tls-listening-port=5349
relay-ip=ip地址
external-ip=ip地址
relay-threads=50
lt-cred-mech
static-auth-secret=用户名
user=用户名:密钥(md5码)
userdb=/etc/turnuserdb.conf
#max-bps=102400
pidfile="/var/run/turnserver.pid"
no-loopback-peers
no-multicast-peers
sha256
mobility
no-cli
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
stale-nonce
use-auth-secret
Verbose
fingerprint
运行:
sudo turnserver -L IP地址 -o -a -b /etc/turnuserdb.conf -f -r shanghai
测试:
在浏览器上输入http://IP:3478
这样穿透就搭建成功了!
3.信令服务于穿透服务整合
修改ProjectRTC-master\public\javascripts\rtcClient.js
var localId,
config = {
peerConnectionConfig: {
iceServers: [
#修改内容-----------------开始
{"url": "stun:IP:3478"},
{"url":"stun:stun.IP:3478"},
{"url":"stun:stun.IP:3478transport=tcp", "credential":"md5码",
"username": "lamb7758"},
{"url": "stun:stun.IP:3478?transport=udp",
"credential":"md5码",
"username": "lamb7758"}
#修改内容-----------------结束
]
},
peerConnectionConstraints: {
optional: [
{"DtlsSrtpKeyAgreement": true}
]
}
},
搞定。