视频服务器(永久免费的云服务器下载)

在Linux或BSD操作系统上设置一个基本的实时流媒体服务器。实时视频流变得越来越流行。亚马逊的Twitch和谷歌的YouTube平台拥有数百万用户,他们花费无

在Linux或BSD操作系统上设置一个基本的实时流媒体服务器。

视频服务器(永久免费的云服务器下载)插图实时视频流变得越来越流行。亚马逊的Twitch和谷歌的YouTube平台拥有数百万用户,他们花费无数时间观看直播和录制视频。这些视频服务通常是免费使用的,但是你需要有一个账号,你的视频内容一般会隐藏在广告中。有些人不希望他们的视频对公众开放,或者他们希望对他们的视频内容有更多的控制权。幸运的是,在强大的开源软件的帮助下,任何人都可以设置直播服务器。

入门

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

构建实时流媒体服务器不可避免地会提出系统需求的问题。这些要求各不相同,因为实时流涉及许多因素,例如:

流媒体质量:你想以高清流媒体播放还是标清视频就可以满足你的需求?收视率:你的视频预计有多少观众?存储:你是否打算保留已保存的视频流副本?访问:你的视频流是私有的还是向全世界开放的?

在硬件要求方面没有固定的规则,所以我建议您进行测试,以找到最适合您需求的配置。在这个项目中,我将服务器安装在一个具有4GB内存、20GB硬盘空和一个英特尔i7处理器内核的虚拟机上。

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

理解“实时”并不总是指瞬间也很重要。视频流必须被编码、传输、缓冲和显示,这通常会增加延迟。延迟可以缩短或延长,这取决于您创建的流的类型及其属性。

设置 Linux 服务器

你可以使用许多不同的Linux发行版,但我更喜欢Ubuntu,所以我下载了Ubuntu Server Edition作为我的操作系统。如果你想让你的服务器有一个图形用户界面(GUI ),请随意使用Ubuntu桌面版或其众多版本中的一个。然后,我在电脑或虚拟机上启动Ubuntu installer,选择最适合我环境的设置。以下是我采取的步骤。

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

视频服务器(永久免费的云服务器下载)插图(1)安装完成后,系统重启,你会看到一个可爱的新Ubuntu系统。与任何新安装的操作系统一样,安装任何可用的更新:

Sudo apt更新sudo apt升级这个流媒体服务器会使用一个非常强大的通用Nginx web服务器,所以你需要安装它:

Sudapt安装nginx然后你需要得到RTMP模块,以便Nginx可以处理你的媒体流:

sudo add-apt-repository universe sudo apt install libnginx-mod-rtmp修改您的web服务器配置,以便它可以接收和传送您的媒体流。

Sudnano/etc/nginx/nginx.conf滚动到配置文件的底部,并添加以下代码:

rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; } }}视频服务器(永久免费的云服务器下载)插图(2)

保存配置。我是使用 Nano来编辑配置文件的异端。在 Nano 中,你可以通过快捷键Ctrl+X、Y并按下回车来保存你的配置。rtmp { server { listen 1935chunk _ size 4096应用程序直播{直播;注销;}}}保存配置。我是用Nano编辑配置文件的异端。在Nano中,您可以通过按快捷键Ctrl+X,Y和Enter保存您的配置。

这样一个非常小的配置可以创建一个工作的流服务器。稍后您将向该配置添加更多内容,但这是一个很好的起点。

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

Sudo systemctl重启nginx设置BSD服务器如果你是“小恶魔”(LCTT译者注:FreeBSD的标志是一个带叉的红色小恶魔)的信徒,设置和运行一个流媒体服务器也是非常容易的。

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

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

Pkg更新pkg升级安装Nano以编辑配置文件:

Pkg安装nano,一个流媒体服务器,会使用一个非常强大和通用的Nginx网络服务器。可以使用FreeBSD拥有的优秀的ports系统来构建Nginx。

首先,更新您的端口树:

端口快照提取端口快照提取进入Nginx端口目录:

运行以下命令开始构建Nginx:

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

Nginx安装完成后,就该为它配置流了。

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

Nano /etc/rc.conf将此文本添加到文件:

nginx_enable="YES"视频服务器(永久免费的云服务器下载)插图(3)

接下来,创建一个网站根目录,Nginx 将从中提供其内容。我自己的目录叫 stream:Ngx _ enable = "yes "接下来,创建一个网站根目录,Nginx将从该目录提供其内容。我自己的目录叫做stream:

CD/usr/local/www/mkdirstreamchmod-r 755 stream/现在您已经创建了流目录,通过编辑配置文件来配置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;视频服务器(永久免费的云服务器下载)插图(4)

在 Server部分下,更改root位置以匹配你之前创建的目录位置:load _ module/usr/local/lib exec/nginx/ngx _ stream _ module . so;load _ module/usr/local/lib exec/nginx/ngx _ rtmp _ module . so;在“服务器”部分下,更改根位置以匹配您之前创建的目录位置:

Location / { root /usr/local/www/stream}视频服务器(永久免费的云服务器下载)插图(5)

最后,添加你的 RTMP 设置,以便 Nginx 知道如何处理你的媒体流:location/{ root/usr/local/www/stream }最后,添加您的RTMP设置,以便Nginx知道如何处理您的媒体流:

rtmp { server { listen 1935chunk _ size 4096应用程序直播{直播;注销;}}}保存配置。在Nano中,您可以使用快捷键Ctrl+X,Y,然后按Enter键来完成此操作。

正如您所看到的,这样一个非常小的配置将创建一个工作流服务器。稍后,您将向该配置添加更多内容,但这将为您提供一个良好的起点。

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

服务nginx restart设置您的流媒体软件,以通过OBS进行广播。现在,您的服务器已经准备好接受您的视频流,是时候设置您的流媒体软件了。本教程使用强大的开源开放广播工作室(OBS)。

去OBS网站,找到适合你操作系统的版本并安装。OBS启动后,您应该第一次看到一个向导,它将帮助您用最适合您的硬件的设置来配置OBS。

视频服务器(永久免费的云服务器下载)插图(6)OBS没有捕捉到任何东西,因为你没有提供它的来源。在本教程中,您只需要捕获流的桌面。单击Source下的+按钮,选择Show Capture Screen Capture,然后选择要捕获的桌面。

单击OK OK,您应该会看到OBS镜像了您的桌面。

现在,您可以将新配置的视频流发送到您的服务器。在OBS中,单击文件>:设置文件>:设置.点击“串流”部分,将“串流类型”设置为“自定义串流服务器”。

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

接下来,您可能需要输入“流密钥”,这是观看您的流所需的特殊标识符。在“流密钥”框中输入您想要的(并且能够记住的)任何关键字。

视频服务器(永久免费的云服务器下载)插图(7)单击应用,然后单击确定。

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

如果一切正常,你应该会看到按钮变成了“停止流”,一些带宽指示器会出现在OBS的底部。

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

观看你的视频流

如果没人看,视频直播也不是很好,所以请做你的第一批观众!

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

安装VLC后,单击媒体>:打开网络流媒体>:打开流”打开您的流。输入您的流的路径,添加您在OBS中设置的流密钥,然后单击“播放播放”。例如,rtmp://IP-address/live/secret-key。

现在你应该可以看到自己的实时视频流了!

视频服务器(永久免费的云服务器下载)插图(8)下一步是什么?这个项目是一个非常简单的设置让你开始。这里有另外两个你可能想用的特性。

限制:接下来您可能要做的是限制对您的服务器的访问,因为默认设置允许任何人与服务器之间进行流式传输。设置的方法有很多,比如操作系统防火墙,。htaccess文件,甚至使用STMP模块中内置的访问控制。

录制:这个简单的Nginx配置将只流你的视频而不保存它,但它很容易修改。在Nginx配置文件的RTMP部分下,设置录制选项和保存视频的位置。确保您设置的路径存在,并且Nginx可以写入该路径。

应用程序直播{直播;全部记录;record _ path/var/www/html/recordings;上的record _ unique}实时流的世界在不断发展。如果您对更高级的用途感兴趣,您可以在互联网上找到许多其他很棒的资源。祝你好运,直播愉快!

via:https://open source . com/article/19/1/basic-live-video-streaming-server

作者:Aaron J.Prisk题目:lujun9972译者:Starryi校对:wxy

本文最初由LCTT编辑,Linux中国有幸推出。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/104989.html

发表回复

登录后才能评论