如何使用 Linux 创建您自己的视频流服务器

实时视频流非常受欢迎,而且还在不断增长。亚马逊的 Twitch 和谷歌的 YouTube 等平台拥有数百万用户,他们流式传输和消费无数小时的直播和录制媒体。这些服务通常可以免费使用,但需要您拥有一个帐户,并且通常将您的内容隐藏在广告中。有些人不需要他们的视频可供大众使用,或者只是想要更多地控制他们的内容。幸运的是,借助开源软件的强大功能,任何人都可以设置直播服务器。

入门

在本教程中,我将解释如何使用 Linux 或 BSD 操作系统设置基本的实时流媒体服务器。

这导致不可避免的系统需求问题。这些可能会有所不同,因为直播涉及很多变量,例如:

  • 媒体质量:您想以高清晰度进行流式传输还是标准清晰度符合您的需求?
  • 收视率您希望您的视频有多少观众?
  • 存储:您是否打算保留已保存的视频流副本?
  • 访问:您的流是私有的还是向全世界开放的?

在系统要求方面没有固定规则,因此我建议您尝试并找到最适合您需求的方法。我将服务器安装在具有 4GB RAM、20GB 硬盘驱动器和单个 Intel i7 处理器内核的虚拟机上。

该项目使用实时消息传递协议 (RTMP) 来处理音频和视频流。还有其他可用的协议,但我选择了 RTMP,因为它有广泛的支持。随着像 WebRTC 这样的开放标准变得更加兼容,我会推荐这条路线。

知道“实时”并不总是意味着即时也很重要。视频流必须经过编码、传输、缓冲和显示,这通常会增加延迟。根据您创建的流类型及其属性,可以缩短或延长延迟。

设置 Linux 服务器

您可以使用许多不同的 Linux 发行版,但我更喜欢 Ubuntu,因此我为我的操作系统下载了 Ubuntu Server版本。如果您希望您的服务器具有图形用户界面 (GUI),请随意使用Ubuntu Desktop或其多种风格之一。然后,我在我的计算机或虚拟机上启动了 Ubuntu 安装程序,并选择了最适合我的环境的设置。以下是我采取的步骤。

注意:因为这是一个服务器,您可能需要设置一些静态网络设置。

如何使用 Linux 创建您自己的视频流服务器

安装程序完成并重新启动系统后,您将看到一个可爱的新 Ubuntu 系统。与任何新安装的操作系统一样,安装任何可用的更新:

须藤 apt 更新
须藤 apt 升级

这个流媒体服务器将使用非常强大和通用的 Nginx Web 服务器,所以你需要安装它:

sudo apt install nginx

然后您需要获取 RTMP 模块,以便 Nginx 可以处理您的媒体流:

须藤添加
-apt- repository 宇宙须藤 apt 安装 libnginx-mod-rtmp

调整您的 Web 服务器的配置,使其能够接受和传送您的媒体流。

sudo nano /etc/nginx/nginx.conf

滚动到配置文件的底部并添加以下代码:

rtmp {
服务器 {
听 1935;
块大小 4096;                应用直播 {
直播;
注销;
}
}
}
如何使用 Linux 创建您自己的视频流服务器

保存配置。因为我是异端,所以我使用Nano来编辑配置文件。在 Nano 中,您可以通过按Ctrl+XY,然后按 Enter来保存您的配置

这是一个非常小的配置,将创建一个工作流服务器。稍后您将添加到此配置中,但这是一个很好的起点。

但是,在开始第一个流之前,您需要使用新配置重新启动 Nginx:

sudo systemctl restart nginx

设置 BSD 服务器

如果您相信“野兽”,那么启动并运行流媒体服务器也非常容易。

前往FreeBSD网站并下载最新版本。在您的计算机或虚拟机上启动 FreeBSD 安装程序并完成初始步骤并选择最适合您环境的设置。由于这是一个服务器,您可能需要设置一些静态网络设置。

安装程序完成并重新启动系统后,您应该拥有一个闪亮的新 FreeBSD 系统。像任何其他新安装的系统一样,您可能希望更新所有内容(从这一步开始,请确保您以 root 身份登录):

pkg 更新
pkg 升级

我安装 Nano来编辑配置文件:

pkg install nano

这个流媒体服务器将使用非常强大和通用的 Nginx Web 服务器。您可以使用FreeBSD 吹嘘的优秀端口系统来构建 Nginx 。

首先,更新您的端口树:

portnap 获取
portnap 提取

浏览到 Nginx 端口目录:

cd /usr/ports/www/nginx

并通过运行开始构建 Nginx:

make install

您将看到一个屏幕,询问您的 Nginx 构建中要包含哪些模块。对于这个项目,您需要添加 RTMP 模块。向下滚动直到选中 RTMP 模块,然后按Space。然后按Enter继续其余的构建和安装。

Nginx 安装完成后,就该为流式传输目的配置它了。

首先,在/etc/rc.conf 中添加一个条目以确保 Nginx 服务器在您的系统启动时启动:

nano /etc/rc.conf

将此文本添加到文件中:

nginx_enable="YES"
如何使用 Linux 创建您自己的视频流服务器

接下来,创建一个 webroot 目录,Nginx 将从中提供其内容。我称我的

cd /usr/local/www/
mkdir 流
chmod -R 755 流/

现在你已经创建了你的流目录,通过编辑它的配置文件来配置 Nginx:

nano /usr/local/etc/nginx/nginx.conf

在文件顶部加载您的流媒体模块:

load_module /usr/local/libexec/nginx/ngx_stream_module.so;
load_module /usr/local/libexec/nginx/ngx_rtmp_module.so;
如何使用 Linux 创建您自己的视频流服务器

Server部分下,更改 webroot 位置以匹配您之前创建的位置:

位置 / {
root /usr/local/www/stream
}
如何使用 Linux 创建您自己的视频流服务器

最后,添加您的 RTMP 设置,以便 Nginx 知道如何处理您的媒体流:

rtmp {
服务器 {
听 1935;
块大小 4096;                应用直播 {
直播;
注销;
}
}
}

保存配置。在 Nano 中,您可以通过按Ctrl+XY,然后按 Enter来执行此操作

如您所见,这是一个非常小的配置,它将创建一个工作流服务器。稍后,您将添加到此配置中,但这将为您提供一个很好的起点。

但是,在开始第一个流之前,您需要使用新配置重新启动 Nginx:

service nginx restart

设置您的流媒体软件

使用 OBS 进行广播

现在您的服务器已准备好接受您的视频流,是时候设置您的流媒体软件了。本教程使用功能强大的开源 Open Broadcast Studio (OBS)。

前往OBS 网站,找到适用于您的操作系统的版本并安装它。OBS 启动后,您应该会看到一个首次运行向导,该向导将帮助您使用最适合您的硬件的设置来配置 OBS。

如何使用 Linux 创建您自己的视频流服务器

OBS 没有捕获任何内容,因为您没有为其提供源。在本教程中,您只需为流捕获桌面。只需单击Source下的+按钮,选择Screen Capture,然后选择要捕获的桌面。

单击“确定”,您应该会看到 OBS 镜像您的桌面。

现在是时候将您新配置的视频流发送到您的服务器了。在 OBS 中,单击文件>设置。单击Stream部分,并将Stream Type设置为Custom Streaming Server

在 URL 框中,输入前缀rtmp://后跟流媒体服务器的 IP 地址,后跟/live。例如,  rtmp://IP-ADDRESS/live

接下来,您可能需要输入一个流密钥——查看您的流所需的特殊标识符。在流密钥框中输入您想要(并且可以记住)的任何密钥。

如何使用 Linux 创建您自己的视频流服务器

单击“应用”,然后单击“确定”

现在 OBS 已配置为将您的流发送到您的服务器,您可以开始您的第一个流。单击开始流式传输

如果一切正常,您应该会看到按钮更改为停止流式传输, 并且一些带宽指标将出现在 OBS 的底部。

如何使用 Linux 创建您自己的视频流服务器

如果您收到错误消息,请仔细检查 OBS 中的“流设置”是否存在拼写错误。如果一切看起来都不错,则可能是另一个问题阻止了它的工作。

查看您的流

如果没有人观看,直播视频就不是很好,所以请成为您的第一个观众!

有许多支持 RTMP 的开源媒体播放器,但最著名的可能是VLC 媒体播放器。

安装并启动 VLC 后,单击Media > Open Network Stream打开您的流。输入流的路径,添加您在 OBS 中设置的流密钥,然后单击播放。例如,  rtmp://IP-ADDRESS/live/SECRET-KEY

您现在应该可以查看您自己的实时视频流!

如何使用 Linux 创建您自己的视频流服务器

下一步去哪里?

这是一个非常简单的设置,可以让您起步。以下是您可能想要使用的另外两个功能。

  • 限制访问:您可能想要采取的下一步是限制对您的服务器的访问,因为默认设置允许任何人与服务器进行流传输。有多种设置方法,例如操作系统防火墙、.htaccess 文件,甚至使用RTMP 模块中的内置访问控制。
  • 录制流:这个简单的 Nginx 配置只会流而不会保存您的视频,但这很容易添加。在 Nginx 配置中,在 RTMP 部分下,设置录制选项和要保存视频的位置。确保您设置的路径存在并且 Nginx 能够写入它。
应用直播 {
直播;
全部记录;
record_path /var/www/html/recordings;
record_unique on;
}

实时流媒体的世界在不断发展,如果您对更高级的用途感兴趣,可以在互联网上找到许多其他很棒的资源。祝你好运,直播快乐!文章来源

文章链接: https://www.mfisp.com/2293.html

文章标题:如何使用 Linux 创建您自己的视频流服务器

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
服务器vps推荐

美国游戏服务器DDoS和CC的攻击方式

2021-11-26 16:04:33

服务器vps推荐

服务器硬件防火墙

2021-11-26 17:56:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
客户经理
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠