Kurento 安装指南-Kurento学习(三)

Kurento 安装指南-Kurento学习(三)_第1张图片

安装指南

Kurento媒体服务器(KMS)可以多种方式安装

在Amazon Web Services(AWS)云服务中使用EC2实例。对于那些不想为正确配置服务器和所有软件包而烦恼的用户,建议使用AWS,因为提供的安装程序会自动完成所有这一切。
使用Kurento团队提供的Docker图像。Docker images允许在任何主机上运行Kurento,例如可以在Fedora或CentOS系统上运行KMS。从理论上讲,在Windows下运行也是可能的,但到目前为止,这种可能性还没有被探索出来,所以您将承担自己的风险。
在任何Ubuntu机器上使用apt-get-install进行本地安装。此方法允许对安装过程进行完全控制。除了安装KMS外,通常还需要安装STUN或TURN服务器,特别是当KMS或其任何客户端位于NAT防火墙后面时。
如果您想尝试夜间构建KMS,那么请转到安装夜间构建的部分。

亚马逊网络服务

Kurento项目提供了一个AWS云信息模板文件。它可以用来创建一个EC2实例,该实例提供了运行KMS所需的一切,并且完全预先配置,包括一个Coturn服务器。

请注意,此模板是专门为部署在默认Amazon虚拟私有云(Amazon VPC)网络上而定制的。你需要一个Amazon VPC来部署这个模板。

按照以下步骤使用:

1.访问AWS CloudFormation控制台。
2.单击创建堆栈。
3.查找部分选择模板,然后选择指定Amazon S3模板URL选项。然后,在启用的文本字段中,粘贴以下URL:

https://s3-eu-west-1.amazonaws.com/aws.kurento.org/KMS-Coturn-cfn-6.13.0.yaml  

4.执行配置向导的步骤:

4.1条。堆栈名称:堆栈的描述性名称。

4.2条。InstanceType:为实例选择适当的大小。检查不同的。

4.3条。KeyName:您需要事先创建一个RSA密钥才能访问该实例。查看AWS文档了解如何创建一个。

4.4条。SSHLocation:出于安全原因,您可能需要限制SSH通信量,以便只允许来自特定位置的连接。例如,从你的家或办公室。

4.5条。TURN User:TURN服务器的用户名。

4.6条。TURN Password:使用TURN服务器所需的密码。

注释

模板文件包含Coturn作为TURN服务器。此服务器的默认用户/密码为kurento/kurento。您可以选择更改用户名,但请确保更改默认密码。

5.完成堆栈创建过程。等待新创建的堆栈的状态读取CREATE COMPLETE。
6.选择堆栈,然后打开Outputs选项卡,在其中可以找到实例的公共IP地址和应用程序服务器必须使用的Kurento媒体服务器终结点URL。

Docker镜像

Kurento的Docker Hub包含从每个KMS版本构建的镜像。只需进入kurento媒体服务器Docker Hub页面,然后按照您在那里找到的说明进行操作。

本地安装

使用此方法,您将从Kurento项目提供的本地Ubuntu包存储库安装Kurento媒体服务器。KMS明确支持Ubuntu 16.04(Xenial)和Ubuntu 18.04(Bionic)(仅64位)两个长期支持(LTS)版本。

要安装KMS,请从干净的计算机启动(尚未安装KMS)。

注释

要卸载Kurento,可以发出以下命令:

sudo aptitude remove kurento-media-server

我们建议使用aptitude卸载软件包,因为它有更好的删除算法,而且它确实删除了与Kurento一起安装的所有依赖项。apt get没有。

打开终端,跟着执行下面的步骤:
1.Make sure that GnuPG is installed.

sudo apt-get update && sudo apt-get install --no-install-recommends --yes \
    gnupg

2.Define what version of Ubuntu is installed in your system.

Run only one of these lines:

# Run ONLY ONE of these lines:
DISTRO="xenial"  # KMS for Ubuntu 16.04 (Xenial)
DISTRO="bionic"  # KMS for Ubuntu 18.04 (Bionic)

3.Add the Kurento repository to your system configuration.

Run these two commands in the same terminal you used in the previous step:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83
sudo tee "/etc/apt/sources.list.d/kurento.list" >/dev/null <

4.Install KMS

sudo apt-get update && sudo apt-get install --yes kurento-media-server

这将安装KMS版本。

服务器包含与Ubuntu init系统集成的服务文件,因此您可以使用以下命令来启动和停止它:

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

STUN and TURN servers

如果Kurento媒体服务器,其应用服务器,或任何客户机被定位在NAT的后面,您需要使用一个Stun或一个Turn服务器来实现NAT Throssaul。在最多的案例中,Stun有效地解决了NAT Issue with most consumer network devices(“Routers”)。然而,它并不是为许多公司网络工作,因此转换服务器是必要的。

从这个角度看,您需要在您的系统配置中打开所有UDP端口,因为Stun会使用任何随机端口,从整个[0-65535]范围。

注释
TURN提供的特性是STUN提供的特性的超集。这意味着如果您已经在使用TURN服务器,则不需要配置STUN服务器

STUN Server

要在KMS中配置STUN服务器,请在打开WebRtcEndpoint 配置文件以下几行的注释, 文件在 /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini:;

stunServerAddress=
stunServerPort=

注释
Be careful since comments inline (with are not allowed for parameters in the configuration files. Thus, the following line is not correct:

stunServerAddress= ; Only IP addresses are supported

… and must be changed to something like this:

; Only IP addresses are supported
stunServerAddress=

The parameter serverIp should be the public IP address of the STUN server. It must be an IP address, not a domain name.

It should be easy to find some public STUN servers that are made available for free. For example:

173.194.66.127:19302
173.194.71.127:19302
74.125.200.127:19302
74.125.204.127:19302
173.194.72.127:19302
74.125.23.127:3478
77.72.174.163:3478
77.72.174.165:3478
77.72.174.167:3478
77.72.174.161:3478
208.97.25.20:3478
62.71.2.168:3478
212.227.67.194:3478
212.227.67.195:3478
107.23.150.92:3478
77.72.169.155:3478
77.72.169.156:3478
77.72.169.164:3478
77.72.169.166:3478
77.72.174.162:3478
77.72.174.164:3478
77.72.174.166:3478
77.72.174.160:3478
54.172.47.69:3478

TRUN server

为了配置一个TRUN 服务在KMS中,请将WebRtcEndpoint 配置文件中的以下几行注释打开,文件路径 /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini:

turnURL=:@:

参数server IP应该是TURN服务器的公共IP地址。它必须是IP地址,而不是域名。

参见下面的Turn配置示例:

turnURL=kurento:[email protected]:3478

…或使用免费访问Numb TURN/STUN服务器:

turnURL=user:[email protected]:3478

请注意,在网络上找到免费的STUN服务器有点容易,因为它们的功能非常有限,让它们免费工作并不昂贵。然而,TURN服务器不会发生这种情况,TURN服务器充当对等端之间的媒体代理,因此维护一个服务器的成本要高得多。

很少能找到一个提供良好性能而免费工作的TURN服务器。通常,每个用户都选择维护自己的私有TURN服务器实例。

Coturn是TURN/STUN服务器的开源实现。在FAQ部分,有一个关于如何安装和配置它的描述。

检查您的安装

要验证Kurento进程是否已启动并正在运行,请使用此命令并查找Kurento媒体服务器kurento-media-server进程:

$ ps -fC kurento-media-server
UID        PID  PPID  C STIME TTY          TIME CMD
kurento   7688     1  0 13:36 ?        00:00:00 /usr/bin/kurento-media-server

除非另行配置,否则KMS将侦听IPv6端口8888,以通过Kurento协议接收RPC请求并发送RPC响应。使用此命令验证此端口是否打开并侦听传入的数据包:

$ sudo netstat -tupln | grep -e kurento -e 8888
tcp6  0  0  :::8888  :::*  LISTEN  7688/kurento-media-

您可以在/etc/kurento/kurento.conf.json文件中更改这些参数。

最后,您可以检查Kurento的RPC WebSocket是否正常,是否能够接收和处理消息。为此,发送一个伪请求并检查响应是否与预期一致:

$ curl -i -N \
    -H "Connection: Upgrade" \
    -H "Upgrade: websocket" \
    -H "Host: 127.0.0.1:8888" \
    -H "Origin: 127.0.0.1" \
    http://127.0.0.1:8888/kurento

您应该得到与此类似的响应:

HTTP/1.1 500 Internal Server Error
Server: WebSocket++/0.7.0

忽略错误行:这是一个预期的错误,因为curl不谈论Kurento协议。我们刚刚检查了WebSocket++服务器是否已经启动,并在监听连接。如果需要,可以使用类似于healthchecker.sh的脚本(我们在Kurento Docker images中使用的脚本)自动执行此检查。

你可能感兴趣的:(Kurento)