前面章节我们介绍了webrtc服务器janus的安装https://blog.csdn.net/bvngh3247/article/details/80648584,如果网络无法穿透的时候就需要 turn 服务器来保证视频通话的成功率。turn 包含了stun的功能,所以只需要部署turn服务器即可。
git clone https://github.com/coturn/coturn
cd coturn
./configure
make
sudo make install
使用命令:which turnserver
使用下面命令找一下turnserver.conf文件,我们将复制或者移动其放在
/usr/local/etc/turnserver.confĿ¼
注意:/usr/local/etc/turnserver.conf配置文件,其实放在哪个位置不重要,他会自动寻找。会打印出对应的信息的。所以放在哪个位置不重要,我是直接放在
/usr/local/etc/turnserver.conf。
最后修改配置文件,在修改之前先完成下面几步,也可以使用简单的配置:
vim /usr/local/etc/turnserver.conf
在这之前先查看网卡:ifconfig
记录下内网ip号:172.17.232.28,我的外网ip 39.105.105.159
使用命令安装openssl:yum install openssl
cert和pkey配置的自签名证书用Openssl命令生成:
填写cn,省份等相关信息。
vim /usr/local/etc/turnserver.conf
listening-ip与relay-ip采用内网ip,external-ip是外网的ip。
relay-device=eth0
listening-ip=172.17.232.28 内网ip
listening-port=3478
tls-listening-port=5349
relay-ip=172.17.232.28
external-ip=39.105.105.159 外网ip
relay-threads=50
lt-cred-mech
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
pidfile=”/var/run/turnserver.pid”
min-port=49152
max-port=65535
user=hu:123456
执行命令:
在这里因为我使用的是阿里云服务器,一直只开了tcp端口,然后udp没有开,导致穿透一直不成功。所以在阿里云服务器必须打开udp端口。
Turn服务器地址为:39.105.105.159:3478
在浏览器打开网址39.105.105.159:3478
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
turn:39.105.105.159:3478
Relay地址回来的是你的ip才算穿透成功。