如何显示来自Gryphon nginx的多个rtmp流?

时间:2018-08-22 13:07:34

标签: nginx ffmpeg rtsp rtmp onvif

上下文:

-我从onvif ip摄像机收到了rtsp流链接。

-相机一次只能托管5个流媒体连接(我希望/需要更多连接)。

-我被告知,将ffmpeg(将rtsp流转换为rtmp)和nginx(重新分配尽可能多的流)组合起来可以满足我的要求。

-我在Windows 10上。

-我从this源下载了ffmpeg,从this源(nginx 1.7.11.3 Gryphon.zip)下载了nginx。

-这是Nginx服务器的conf文件:

user nobody;
worker_processes 1;

events {
  worker_connections  1024;
}

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

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

-我正在使用以下命令将相机的视频流推送到nginx服务器:

ffmpeg -hide_banner -i "rtsp://user:password123@192.168.10.116:554/videoMain" -an -f flv -rtmp_live live "rtmp://127.0.0.1:1935/live"

-然后我可以使用vlc的开放式网络流工具(rtmp://127.0.0.1:1935 / live)看到输出流

问题:

是否可以同时具有多个输入/输出流?

我想让一台服务器同时重定向多台摄像机...

enter image description here

1 个答案:

答案 0 :(得分:0)

答案很简单,我要做的就是在我的nginx.conf文件中添加第二个服务器标签:

user nobody;
worker_processes 1;

events {
  worker_connections  1024;
}

rtmp {
        server {
                listen 1935;
                chunk_size 4096;
                max_streams 512;

                application live {
                        live on;
                        record off;
                }
        }
        server {
                listen 1936;
                chunk_size 4096;
                max_streams 512;

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

我现在可以使用以下命令将另一个rtmp流推送到端口1936:

ffmpeg -hide_banner -i "rtsp://user:password123@192.168.10.116:554/videoMain" -an -f flv -rtmp_live live "rtmp://127.0.0.1:1936/live"