您的位置:首页 > Web前端 > Node.js

coturn(turn)服务器搭建

2016-11-01 12:38 302 查看
首先安装信令服务器,以skyRTC为例(测试使用)

sudo apt-get install nodejs npm
git clone https://github.com/LingyuCoder/SkyRTC-demo cd SkyRTC-demo
npm install #这步因为墙的关系,下载很慢,慢慢等吧。


安装完成后,执行
nodejs server.js




在浏览器中打开ip:3000即可访问

搭建turn/stun(转发/穿透)

首先安装环境:

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并不是配置文件!

之后修改/usr/local/etc/turnserver.conf如下:

在这之前先查看网卡:ifconfig



图中可见,我的网卡是venet0:0,所以配置文件中要使用的是这个,如果他是eth0的话,就使用eth0

然后生成md5码:
turnadmin -k –u 用户名 -r nanjing -p 密码


如图所示:



在之后生成证书

sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes


如图所示(其中的内容可以随便填,第一个最好填cn)



然后创建turnuserdb.conf文件

vi /etc/turnuserdb.conf


在其中填入之前生成的用户名和key



最后修改配置文件(如图):

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=用户名:密钥
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 23.83.233.168 -o -a -b /etc/turnuserdb.conf -f -r nanjing


测试:

修改public/SkyRTC-client.js文件如下:、



然后再:
nodejs server.js
运行客户端



在火狐浏览器(其他浏览器不能打开摄象头)中输入23.83.233.168:3000,因为是在一台电脑上测试的,所以左右摄像头内容一样:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  服务器 nodejs webrtc