webRTC+coturn穿透服务器的安装与搭建

webRTC+coturn穿透服务器的安装与搭建

系统环境: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浏览器[急速模式])
webRTC+coturn穿透服务器的安装与搭建_第1张图片
点击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
webRTC+coturn穿透服务器的安装与搭建_第2张图片
这样穿透就搭建成功了!

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}
          ]
        }
      },

搞定…………..

你可能感兴趣的:(webrtc)