我想压缩实时视频并通过 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;