如何使用Linux(linux视频服务器)

如何使用Linux(linux视频服务器)

浏览次数:
信息来源: 用户投稿
更新日期: 2025-10-01
文章简介

实时视频流非常受欢迎,而且还在不断增长。亚马逊的Twitch和谷歌的YouTube等平台拥有数百万用户,他们流式传输和消费无数小时的直播和录制媒体。这些服务通常可以免费使用,但需要您拥有一个帐户,并且

2025阿里云双十一服务器活动

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

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

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

  • 媒体质量:您想以高清晰度进行流式传输还是标准清晰度符合您的需求?
  • 收视率您希望您的视频有多少观众?
  • 存储:您是否打算保留已保存的视频流副本?
  • 访问:您的流是私有的还是向全世界开放的?
  • 在系统要求方面没有固定规则,因此我建议您尝试并找到最适合您需求的方法。我将服务器安装在具有4GBRAM、20GB硬盘驱动器和单个Inteli7处理器内核的虚拟机上。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    并通过运行开始构建Nginx:

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

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

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

    如何使用Linux,linux视频服务器

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

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

    load_module/usr/local/libexec/nginx/ngx_stream_module.so;

    load_module/usr/local/libexec/nginx/ngx_rtmp_module.so;

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

    root/usr/local/www/stream

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

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

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

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

    使用OBS进行广播

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    标签:
    什么是混合云及其工作原理(什么叫混合云)
    « 上一篇
    返回列表
    下一篇 »

    如本文对您有帮助,就请抽根烟吧!