使用Kurento搭建视频服务器

目录

1、安装Kurento

2、配置STUN/TURN服务地址

3、搭建STUN/TURN  服务器

4、路由器配置端口映射

5、测试STUN/TURN服务是否正常

 6、搭建点对点通信服务


1、安装Kurento

以下操作是在ubuntu 16.04的环境下进行的。

# KMS for Ubuntu 14.04 (Trusty)
DISTRO="trusty"
# KMS for Ubuntu 16.04 (Xenial)
DISTRO="xenial"

 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83

sudo tee "/etc/apt/sources.list.d/kurento.list" >/dev/null < 
   
sudo apt-get update
sudo apt-get install kurento-media-server

启动/停止Kurento

sudo service kurento-media-server start
sudo service kurento-media-server stop

 进行如下:

2、配置STUN/TURN服务地址

Kurento本身没有NAT转发和穿透功能,需要另外配置STUN/TURN服务器,然后在/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini文件中配置指向STUN/TURN服务器的地址。

stunServerAddress=
stunServerPort=

 这是stun服务的地址,其中serverIp必须是ip地址,不能是域名。

另外,还需要配置turn服务的地址:

turnURL=:@:

 下面是我自己的配置:

使用Kurento搭建视频服务器_第1张图片

官网https://doc-kurento.readthedocs.io/en/6.9.0/user/installation.html上提供了一些免费的STUN/TURN的地址,试过,无法成功穿透或转发,只好自己搭建一个。

3、搭建STUN/TURN  服务器

这里使用的是coturn框架:

sudo apt-get install coturn

配置/etc/turnserver.conf文件:

listening-ip=192.168.10.15

 relay-ip=192.168.10.15

external-ip=xxx.xxx.xxx.xxx                              #外网ip

relay-threads=2

min-port=50000                                                  #此处的端口范围填的比较小,后面解释

max-port=50010

fingerprint

lt-cred-mech

user=zy:123456

userdb=/var/db/turndb

realm=zhuyun.com

log-file=/var/tmp/turn.log

mobility

server-relay

配置/etc/default/coturn文件,取消 TURNSERVER_ENABLED=1的注释

使用Kurento搭建视频服务器_第2张图片

添加turnserver的用户(与前面user=zy:123456保持一致):

turnadmin -A -b "/var/db/turndb" -u zy -p 123456 -r zhuyun.com

turnadmin -a -b "/var/db/turndb" -u zy -p 123456 -r zhuyun.com

启动服务:

sudo service coturn start

4、路由器配置端口映射

因为该测试是在内网环境,要让它在公网开放,需要在路由器上配置端口映射。

使用Kurento搭建视频服务器_第3张图片

 其中,8443端口是后面提供https访问用的,3478端口是STUN/TURN的服务端口。

使用Kurento搭建视频服务器_第4张图片

另外,这十个端口是TURN服务通信需要的端口,默认范围是49152~65535,因为是内网,开放的话得一个个手动添加,所以只开放10个作为测试用。

 

5、测试STUN/TURN服务是否正常

 访问https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/,分别测试STUN和TURN服务

使用Kurento搭建视频服务器_第5张图片

 接下来是turn测试:

使用Kurento搭建视频服务器_第6张图片

 6、搭建点对点通信服务

git clone https://github.com/Kurento/kurento-tutorial-java.git
cd kurento-tutorial-java/kurento-one2one-call
git checkout 6.9.0
mvn -U clean spring-boot:run

 接下来就可以在网页上打开https://xxx.xxx.xxx.xxx:8443/来进行视频通信了(其中ip是服务器的外网地址)。

在一台电脑上注册A,另外一台电脑上注册B,然后从A向B发送Call请求:

使用Kurento搭建视频服务器_第7张图片

接收请求:

使用Kurento搭建视频服务器_第8张图片

然后就可以视频和音频通话了:

使用Kurento搭建视频服务器_第9张图片

此测试在电信、移动、联通网络之间都测试过是可以通信的。只是还不确定NAT的类型,到底是穿透还是转发目前还不清楚,有待后续的测试。

你可能感兴趣的:(服务器)