使用Linux创建自己的实时视频流服务器


大多数实时流媒体工具和网站对公众都是免费的,但它们往往会要求您创建一个帐户,以提供您可能不希望在线出现的信息。他们可以在广告后保留一些内容,并加入令人困惑的服务条款,甚至可能无法遵守。

有些人喜欢直播视频,但是不需要向大众提供他们的视频。取而代之的是,他们希望对自己的视频流和所产生的内容拥有更多的控制权。像Linux这样的开源软件是解决此问题的最佳方法。

<图类=“ lazy aligncenter”>

前瞻性思考

在开始设置自己的个人流服务器之前,您应该问自己几个问题。首先,您要寻找什么质量的流?接下来,您希望吸引多少观众?您将在哪里存储所有流式内容?谁将有权访问该内容?

系统要求也可以视为一个问题。但是,对于这方面的确切需求没有设定的规则,因此请帮自己一个忙,并进行实验,看看哪种方法最适合您的目标。

您需要确定哪种协议将处理流的音频和视频部分。实时消息协议(RTMP)是一个不错的选择,但是还有其他一些协议,例如WebRTC,在您遇到的情况下可能会更好。 RTMP具有广泛的支持,因此在本文中我们将重点介绍。

另一件事需要担心的是,您的“实时”流式传输可能会延迟。仅仅因为上线并不意味着一切都会完美地进行。视频流需要进行编码,传输,缓冲和显示,因此需要对流的属性进行一些调整。

<!-
In_content_1全部:[300x250] / dfp:[640x360 ]
->
<图class =“ lazy aligncenter”>

Linux服务器设置

Ubuntu Linux是我个人的最爱,因此它将成为此处的选择版本。对于喜欢使用GUI选项的用户,可以使用Ubuntu桌面

  • 启动Ubuntu安装程序,然后选择最适合您需要的设置。您可能要设置一些静态网络设置,因为它将用作服务器。
  • 安装后重新启动系统(如果该操作没有自动执行)。 Ubuntu系统启动后,安装所有可用的更新:
  • sudo apt update
    sudo apt upgrade

    我们将使用Nginx网络服务器。安装它:

    sudo apt install nginx

    购买RTMP模块,以便Nginx可以处理您的媒体流:

    sudo add-apt-repository universe
    sudo apt install libnginx-mod-rtmp

    调整Nginx的配置,使其可以接受和传送您的媒体流。

    sudo nano /etc/nginx/nginx.conf

    将以下代码添加到配置文件的底部:

    rtmp {
            server {
                    listen 1935;
                    chunk_size 4096;

                    application live {
                            live on;
                            record off;
                    }
            }
    }

    保存配置文件,以备日后使用创建工作的流服务器。

    使用新配置重新启动Nginx:

    sudo systemctl restart nginx

    流软件设置

    <图class =“ lazy aligncenter”>

    服务器已准备就绪,现在是时候了设置您的流媒体软件。在此演练中,我们使用开放广播软件 (OBS)。

    • 前往该站点,然后选择适用于Linux的版本。软件启动后,使用与您的硬件最匹配的设置配置OBS。
    • 通过单击Source下的+,添加流媒体源。
    • <图class =“ lazy aligncenter”>
      • 为了进行测试,请选择显示捕获,然后输入源名称。
      • 单击确定按钮,OBS将镜像您的桌面。
      • 接下来,点击文件标签,然后选择设置
      • 在“流”部分中,选择将流类型设置为“自定义...”,然后在“服务器”字段中输入以下URL:

        rtmp://IPaddress/live 

        代替IP地址,输入流服务器的IP地址。

        现在创建自己的流密钥,并将其输入到“流密钥”框中。使它成为您会记住的东西并写下来。为了增强安全性,请选中使用身份验证框并添加您的首选凭据。

        应用完成,然后按OK按钮。

        现在应该一切配置为流式传输。要开始第一个视频流,请点击立即流按钮。只要一切都正确完成,该按钮将变为停止流。流的带宽指标将显示在OBS窗口的底部。

        成为您的第一查看者

        有很多支持RTMP的开源媒体播放器,其中最著名的是VLC媒体播放器 。安装并启动此软件,单击Media标签,然后从菜单中选择Open Network Stream

        方便使用流密钥吗?键入流的路径,并在其末尾包含您之前设置的流密钥。看起来应该像这样:

        rtmp://IPaddress/live/SecretKey

        单击播放,您将获得自己的流的实时视图。

        其他措施

        <图类=“ lazy aligncenter”>

        现在,基本知识已经实现,限制对流服务器的访问以及能够录制和保存视频是您可能感兴趣的另外两个因素。

        默认情况下,任何人都可以查看您的流。这可能与首先创建服务器的目的背道而驰。您需要使用Linux防火墙,.htaccess文件RTMP模块中内置的访问控制 设置受限访问。该选择权由您决定。

        此处提供的Nginx配置将仅使您能够流式传输视频,而不能保存它们。要添加存储选项,请在Nginx配置中的RTMP部分正下方,您可以设置流记录选项,并提供想要保存和存储内容的位置。

        设置现有路径,以允许Nginx对其进行写入。输入以下内容:

        应用程序实时{
        实时存在;
        全部记录;
        record_path / var / www / html / recordings;
        上的record_unique;
        }

        使用Ubuntu Linux操作系统设置实时流服务器时,您应该需要。如果您对非实时流媒体服务器更感兴趣,我建议使用Plex 代替OBS。

        一键建站 | 一分钟拥有自己的网站 | Windows, Linux, VPS 都可以用 | 超快速建站

        相关文章:


        31.08.2019