欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-14 20:34:15
...

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

安装指南

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 <<EOF
# Kurento Media Server - Release packages
deb [arch=amd64] http://ubuntu.openvidu.io/6.13.0 $DISTRO kms6
EOF

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=<serverIp>
stunServerPort=<serverPort>

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

stunServerAddress=<serverIp> ; Only IP addresses are supported

… and must be changed to something like this:

; Only IP addresses are supported
stunServerAddress=<serverIp>

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=<user>:<password>@<serverIp>:<serverPort>

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

参见下面的转弯配置示例:

turnURL=kurento:aaa@qq.com:3478

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

turnURL=user:aaa@qq.com: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