阿里云 kurento coturn 安装配置

张映 发表于 2018-08-11

分类目录: 服务器相关

标签:, ,

kurento服务器的安装,请参考:ubuntu kurento 媒体服务器安装

coturn是作为一个STUN/TURN来使用,其中STUN是用于P2P,而TURN是用于中继转发,用来穿透虚拟网络架构用的。主要用在云服务器上面。如果有实体物理服务器,coturn是不用装的。

用的是阿里云专有网络,外网ip是没有网卡的。通过ifconfig是看不到外网ip的。

1,安装coturn

# apt-get install coturn

2,openssl生成证书

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

3,添加coturn用户

# turnadmin -A -u mytest -p 12345678 -r mytest
# turnadmin -k -u mytest -p 12345678 -r mytest >> /etc/kurento/coturn/turnuserdb.conf
# turnadmin  -L //小l查看普通用户
mytest[mytest]

大A是管理员,小a是普通用户,k根据用户名、密码、realm算出密钥。

4,配置turnserver.conf

# cat /etc/turnserver.conf | awk '{gsub(/^ +#/,"#",$0);if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
listening-port=3478
listening-ip=192.168.11.138  //局域网IP
external-ip=47.xxx.xxx.18  //外网ip
min-port=40000
max-port=60000
Verbose
fingerprint
lt-cred-mech
user=mytest:12345678  //用户名和密码
userdb=/etc/kurento/coturn/turnuserdb.conf
realm=mytest  //域,可自定义
cert=/etc/kurento/sslkey/turn_server_cert.pem
pkey=/etc/kurento/sslkey/turn_server_pkey.pem
no-loopback-peers
no-multicast-peers
no-tcp
no-tls
no-cli

网上配置五花八门,很多坑。有的完全是反方向。还是以官方的为准,安装完后,turnserver.conf里面的配置都是有说明的。

5,开启coturn

# cat /etc/default/coturn
#
# Uncomment it if you want to have the turnserver running as
# an automatic system service daemon
#
TURNSERVER_ENABLED=1 //去掉前面的注释

6,启动并测试coturn

# /etc/init.d/coturn start
# netstat -upnl |grep turn
udp        0      0 192.168.11.138:3478     0.0.0.0:*                           6579/turnserver
udp        0      0 192.168.11.138:3478     0.0.0.0:*                           6579/turnserver
udp        0      0 192.168.11.138:5349     0.0.0.0:*                           6579/turnserver
udp        0      0 192.168.11.138:5349     0.0.0.0:*                           6579/turnserver

7,登录到阿里云后,开放3478端口

8,验证coturn服务器

# turnutils_uclient -S -v -u mytest -w 12345678 -i /etc/kurento/sslkey/turn_server_cert.pem -k /etc/kurento/sslkey/turn_server_pkey.pem 47.xx.xx.18 -y

中间过程很长,就截取了部分,如果最后出来以下内容说明,配置,认证成功。

coturn 认证成功

coturn 认证成功

如果出现incoming packet message processed, error 401: Unauthorized,说明配置,认证失败,检查用户名,密码,证书。

也可以用第三方验证,coturn是否安装成功

https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

 coturn 第三方检测成功

coturn 第三方检测成功

9,kurento,配置coturn

# cat /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini | awk '{gsub(/^ +;/,";",$0);if($0 !~ /^$/ && $0 !~ /^;/) {print $0}}'
turnURL=mytest:12345678@47.xxx.xx.18:3478?transport=udp

注意上面的udp,tcp配置的时候,被我禁了。重启一下kurento就可以使用了。

10,测试kurento

下载地址:https://github.com/Kurento/kurento-tutorial-node

# apt-get remove nodejs
# curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
# apt-get install nodejs
# npm install npm -g

# cd 解压路径/kurento-tutorial-node/kurento-one2one-call
# npm install
# npm start

> kurento-one2one-call@6.7.3-dev start /root/kurento-tutorial-node/kurento-one2one-call
> node server.js

Kurento Tutorial started
Open https://kurento.xxx.com:8443/ with a WebRTC capable browser

这样就可以和别人视频了。



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/server/1946.html

留下评论

留下评论
  • (必需)
  • (必需) (will not be published)
  • (必需)   7X1=?