使用 OBS 搭建视频流媒体服务器

- 编辑:admin - 点击数:768

使用 OBS 搭建视频流媒体服务器

入门

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

搭建实时流媒体服务器不可避免地提到系统需求问题。这些需求多种多样,因为实时流媒体涉及许多因素,例如:

使用 OBS 搭建视频流媒体服务器

在硬件要求方面没有固定规则,因此我建议你进行测试,以便找到最适合你需求的配置。本项目中,我将服务器安装在配有4GB内存、20GB硬盘空间和单个Inteli7处理器内核的虚拟机上。

设置Linux服务器

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

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

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

sudoaptupdatesudoaptupgrade

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

sudoaptinstallnginx

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

sudoadd-apt-repositoryuniversesudoaptinstalllibnginx-mod-rtmp

修改你的网页服务器配置,使其能够接受和传送你的媒体流。

sudonano/etc/nginx/

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

rtmp{server{listen1935;chunk_size4096;applicationlive{liveon;recordoff;}}}

保存配置。我是使用Nano来编辑配置文件的异端。在Nano中,你可以通过快捷键Ctrl+X、Y并按下回车来保存你的配置。

这么一个非常小的配置就可以创建一个可工作的流服务器。稍后你将添加更多内容到此配置中,但这是一个很好的起点。

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

sudosystemctlrestartnginx
设置BSD服务器

如果是“小恶魔”(LCTT译者注:FreeBSD的标志是一个拿着叉子的红色小恶魔)的信徒,那么建立并运行一个流媒体服务器也非常容易。

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

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

pkgupdatepkgupgrade

安装Nano来编辑配置文件:

pkginstallnano

这个流媒体服务器将使用非常强大通用的Nginx网络服务器。你可以使用FreeBSD所拥有的优秀ports系统来构建Nginx。

首先,更新你的ports树:

portsnapfetchportsnapextract

进入Nginxports目录:

cd/usr/ports/www/nginx

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

makeinstall

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

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

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

nano/etc/

将此文本添加到文件中:

nginx_enable="YES"

接下来,创建一个网站根目录,Nginx将从中提供其内容。我自己的目录叫stream:

cd/usr/local/www/mkdirstreamchmod-R755stream/

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

nano/usr/local/etc/nginx/
load_module/usr/local/libexec/nginx/ngx_stream_;load_module/usr/local/libexec/nginx/ngx_rtmp_;

在Server部分下,更改root位置以匹配你之前创建的目录位置:

Location/{root/usr/local/www/stream}

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

rtmp{server{listen1935;chunk_size4096;applicationlive{liveon;recordoff;}}}

保存配置。在Nano中,你可以通过快捷键Ctrl+X、Y,然后按回车键来执行此操作。

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

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

servicenginxrestart
设置你的流媒体软件使用OBS进行广播

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

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

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

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

单击“应用Apply”,然后单击“确定OK”。

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

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

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

安装并启动VLC后,通过单击“媒体打开网络串流MediaOpenNetworkStream”打开你的流。输入你的流的路径,添加你在OBS中设置的串流密钥,然后单击“播放Play”。例如,rtmp://IP-ADDRESS/live/SECRET-KEY。

接下来要做什么?

本项目是一个非常简单的设置,可以让你开始工作。以下是你可能想要使用的另外两个功能。

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

applicationlive{liveon;recordall;record_path/var/www/html/recordings;record_uniqueon;}

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

via:

作者:选题:lujun9972译者:Starryi校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出