如何使用FFmpeg和NGINX RTMP进行流传输

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

我正在尝试从Windows PC上的OBS(开放广播软件)流向也安装在同一PC上的NGINX + RTMP。我在OBS中设置了20,000Kbps的比特率,这将是我打算在NGINX中设置的多个流的基础比特率。

我希望能够流式传输到NGINX,然后即时使用FFmpeg对流进行转码,以符合我打算广播到的流式传输站点,例如Twitch.tv。

如果使用网络路径rtmp:// localhost / live / test,我可以通过VLC查看我的流。但是,当我在Twitch的检查员站点上查看我的信息流是否即将到达时,我什么也没收到。我不知道我的FFmpeg是否正常工作,或者下面的NGINX配置有问题。

[如果有人可以阐明我可能在哪里出错,那将不胜感激。

nginx.conf

#user www-data;
worker_processes  1;

events {
    worker_connections  1024;
}

http { 
    server_tokens off;

    include mime.types;
    default_type application/octet-stream;
    sendfile off;
    keepalive_timeout 65;

    server {
        listen 80;
        server_name localhost;

        # make a internal server page and put it in html
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
}

rtmp {
    server {
        listen 1935;
        chunk_size 8192;

        application live {
            live on;
            #interleave on;
            #wait_video on;
            record off;

            # Twitch
            exec_push "D:\Users\Will\Downloads\ffmpeg\bin"
                -i rtmp://localhost/source/$name 
                -c:v libx264 
                -c:a copy 
                -preset veryfast 
                -profile:v high 
                -level 4.1
                -x264-params "nal-hrd=cbr" "opencl=true"
                -b:v 8000K 
                -minrate 8000K 
                -maxrate 8000K
                -keyint 2
                -s 1920x1080
                push rtmp://live-lhr03.twitch.tv/app/STREAM_KEY;
        }
    }
}

非常感谢

nginx ffmpeg streaming rtmp obs
1个回答
0
投票

您的ffmpeg命令试图连接到rtmp:// localhost / source,但是您将应用程序命名为“ live”,而不是“ source”

此外,除非您真正了解关卡的工作原理以及存在哪些限制,否则请不要手动发送该关卡。 X264还将自动选择最佳级别。

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