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

来源:互联网 发布:linux rc.local sh 编辑:程序博客网 时间:2024/05/17 08:24

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

系统环境:ubuntu-16.04-desktop-i386

1.首先安装信令服务器,以ProjectRTC为例;

sudo apt-get install nodejs npmsudo apt install nodejs-legacycd  ProjectRTC-masternpm installnode app.js

在浏览器中打开ip:3000即可访问(测试使用的浏览器为火狐,和360浏览器[急速模式])
这里写图片描述
点击start即可进入,现在统一局域网下,手机电脑之间都可以进行视频通话。
信令服务器搭建完成。
2.穿透服务器的搭建
首先安装环境:

sudo apt-get install libssl-devsudo apt-get install libevent-devsudo apt-get install libpq-devsudo apt-get install mysql-clientsudo apt-get install libmysqlclient-devsudo apt-get install libhiredis-devsudo apt-get install git

下载编译安装coturn

git clone https://github.com/coturn/coturncd coturn./configuremakesudo 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=3478tls-listening-port=5349relay-ip=ip地址external-ip=ip地址relay-threads=50lt-cred-mechstatic-auth-secret=用户名user=用户名:密钥(md5码)userdb=/etc/turnuserdb.conf#max-bps=102400pidfile="/var/run/turnserver.pid"no-loopback-peersno-multicast-peerssha256mobilityno-clicert=/etc/turn_server_cert.pempkey=/etc/turn_server_pkey.pemstale-nonceuse-auth-secretVerbosefingerprint

运行:

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

搞定…………..

原创粉丝点击