ffmpeg-NGINX RTMP 中的多个输出

ffmpeg-NGINX RTMP 中的多个输出

我想压缩实时视频并通过 ffmpeg 同时将其发送到两个不同的 RTMP 服务器,而不是将其推送到两个本地输出。

我的代码看起来像

    live on;
    meta copy;
    record off;
    sync 40ms;
    hls off; 
    allow play all;
    dash off;
    publish_notify on;
    wait_key on;

    # Down Compress
    exec_static ffmpeg -hide_banner -loglevel warning -i rtmp://localhost/inputstream -c:v libx264 -preset slow -c:a aac -c:a copy
    -b:v 3500k
    -bufsize 3500k
    -maxrate 3500k
    -rc-lookahead 30
    -f flv rtmp://localhost/livedebug 2>>/var/log/ffdebug.log;

}

如果我添加:

-f flv rtmp://localhost/livedebug -f rtmp://localhost/test2 >>/var/log/ffdebug.log;

我的第二个输出日志保持为空

答案1

粘贴的新命令应该无法运行,因为-f rtmp://localhost/test2无法成功。第二个命令-f也需要-f flv。无论如何,对于单个编码器输出的多个输出,您需要使用球座多路复用器。

ffmpeg -hide_banner -loglevel warning -i rtmp://localhost/inputstream
-map 0:v -map 1:a
-c:v libx264 -preset slow -c:a copy
-flags +global_header
-b:v 3500k
-bufsize 3500k
-maxrate 3500k
-rc-lookahead 30
-f tee
"[f=flv]rtmp://localhost/livedebug|[f=flv]rtmp://localhost/test2" 2>>/var/log/ffdebug.log;

相关内容