使用 FFMPEG 进行 NGINX 流推送 - VPS 4 核 8 GB 内存

使用 FFMPEG 进行 NGINX 流推送 - VPS 4 核 8 GB 内存

大家好,周末愉快!

我尝试了数周时间才让我的 Stream 不再滞后,但每 6 秒就会发生一次。

我运行的是 Ubuntu 16.04,并按照本教程进行安装:

sudo apt-get 更新 sudo apt-get 安装 git

git 克隆https://github.com/Noxalus/Multi-Streaming-Server.git

我的配置文件是这个:`

#user  nobody;
worker_processes  1;
 
error_log  logs/error.log  debug;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;
pid        logs/nginx.pid;

 
events {
    worker_connections  1024;
}

http {
    include             mime.types;
    default_type        application/octet-stream;

    sendfile            on;
    keepalive_timeout   65;

    server {
        listen          8080;
        server_name     localhost;

        # rtmp stat
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }
        location /stat.xsl {
            # you can move stat.xsl to a different location
            root html;
        }

        # rtmp control
        location /control {
            rtmp_control all;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
 
rtmp {
    server {
        listen 2321;
        chunk_size 8192;

        application h132333234 {
            live on;
            record off;
            
            allow publish all;

            exec ffmpeg -i rtmp://localhost/$app/$name -c:v libx264 -preset veryfast -c:a copy 
                -threads 3
                -c:v libx264
                -profile:v main
                -preset:v veryfast
                -level 4.2
                -b:v 2500k
                -bufsize 2500k
                -maxrate 2500k
                -s 1280x720 -r 30
                -g 120 -keyint_min 60 -x264opts "keyint=120:min-keyint=120:no-scenecut"
                -tune zerolatency
                -c:a copy
                -f flv rtmp://localhost/twitch/${name};
        }
        
        

        application twitch {
            live on;
            record off;
            
            allow publish 127.0.0.1;
            deny publish all;

            push rtmp://ber.contribute.live-video.net/app/live_key;
        }
    }
}

如果我使用 1920x1080 和 60FPS 或 1280x720 和 30 FPS 效果都一样

另外,当我从预设转到基线或超快时。它可以来自 3840x2160 的输入吗?

或者使用了错误的 ffmpeg 设置?

我只需要调整它的大小就可以让 2K Stream 在 twitch 上以较低的质量播放。

当我在 3840x2160 分辨率下以 18.000 KBits 进行流式传输时,Twitch 会使其变得很丑陋,并且不太适合观看。

我可以尝试其他选项、​​其他软件还是应该使用第二个 OBS 实例?

最好的保障

相关内容