这段时间在研究webrtc,看了不少文章也算是能在局域网视频,也加了些额外的基本功能,例如:静音,扬声器,切换摄像头等等,可是在总感受在局域网内不(bu)太(neng)方(zhuang)便(bi),因此找朋友借了个阿里云小水管,开始准备部署在云服务器上。node
先放上局域网版1v1视频:webrtcAndroidDemogit
谷歌有现成的免费的stun和turn服务器,可是本身要部署一套外网的比较麻烦,因此用的开源的coturn直接上手部署。 github
下载源码web
git clone https://github.com/coturn/coturn.git
复制代码
须要安装openssl、event安全
yum install openssl openssl-devel libevent libevent-devel
复制代码
安装coturn服务器
cd coturn
./config
make
make install
复制代码
使用which turnserver 有路径则成功tcp
配置coturn文件测试
4.1 复制turnserver.confgoogle
cd /usr/local/etc
复制代码
只有一个turnserver.conf.default一个文件,把这个咱们须要本身负责一份更名为turnserver.conf (注意:必定要在这里面加配置才有效!!!) 使用命令:cp turnserver.conf.default turnserver.conf
阿里云
4.2 添加用户
使用命令:turnadmin -a –u 用户名 -r shenzhen -p 密码
4.3 生成openssl证书
openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 –nodes
复制代码
生成ssl cert和pkey记住这两个生成的位置在/etc/下。
4.4 在turnserver.conf添加配置
listening-ip=#云主机内网IP
listening-port=3478#默认3478
tls-listening-port=5349#默认5349
relay-ip=#云主机内网ip
external-ip=#公网IP
lt-cred-mech
cert=/etc/turn_server_cert.pem #openssl证书路径
pkey=/etc/turn_server_pkey.pem #openssl公钥路径
pidfile=”/var/run/turnserver.pid”
min-port=49152
max-port=65535
user=zjy:zjy123123 #帐号和密码,也能够是md5
复制代码
4.5 最终一步(最坑一步)
若是是阿里云的话须要去添加安全组,把3478端口的udp和tcp都要打开,不然无效!!!
上面所有配置完了,那么恭喜你,能够愉快的测试了,直接执行命令:turnserver -o -a -f
好了完事了,跑起来了。至于测试,打开google提供的trickle-ice,在里面添加你的stun和turn地址,其实就是你公网ip+3478和5349两个:
搞了好几个小时才把这个部署完,其中大坑小坑一堆,最大的坑仍是这个端口没开,这篇文章也算记录下吧。