创建 nginx-rtmp 集群

问题描述 投票:0回答:2

我创建了一个 nginx-rtmp 服务器,其中多个 IP 摄像机可以引导其视频流。我想将其扩展到可以自动扩展的集群。通常,集群有一些具有固定 IP 地址的负载均衡器,可将流量重定向到集群中的不同主机。

我不知道如何为 nginx-rtmp 设置类似的东西。任何指向固定地址的新流都需要定向到同一主机。

任何人都可以解释如何设置这样的东西吗?即使是一些我可以阅读更多相关内容的链接也会很有帮助。

nginx streaming rtmp
2个回答
2
投票

通常我会为大型并发流设置集群。例如 1 个原点和 10 个边。

那么为什么需要这么多服务器接受传入的 RTMP?

如果网络带宽不是问题,流媒体服务器可以轻松接受 5000 个传入 rtmp。


0
投票

Nginx Cluster,或者说扩展Nginx RTMP能力涉及到两个方面:

  • 支持多码流,如10000路推流。
  • 支持多种播放码流,如10万客户端播放。

为了扩展推流,您可以使用多个独立的Nginx RTMP源服务器,并使用不同的应用进行负载均衡。例如,如果每个 Nginx RTMP 支持 3,300 个流,您可以使用三个 Nginx RTMP 服务器以及不同的应用程序来进行负载平衡。配置如下:

# For Nginx Server 1
rtmp {
    server {
        listen 1935;
        chunk_size 4096;

        application live1 {
            live on;
        }
    }
}
# For Nginx Server 2
rtmp {
    server {
        listen 1935;
        chunk_size 4096;

        application live2 {
            live on;
        }
    }
}

要扩展播放,您可以选择使用SRS边缘服务器。例如,部署 30 台 SRS Edge 服务器,每台支持 3,300 个播放,可以支持大约 100,000 个播放客户端。配置如下:

vhost __defaultVhost__ {
    cluster {
        mode            remote;
        origin          nginx-server-ip:1935;
    }
}

欲了解更多详情,您可以参考此链接

© www.soinside.com 2019 - 2024. All rights reserved.