如何在流式视频的 ffmpeg 上使用 filter_complex

How to use filter_complex on ffmpeg with streaming videos

我有 30 个视频源。我想让 ffmpeg 命令创建 1 个频道(流媒体),所有频道都嵌入(质量差)

"[0:v][1:v]setpts=PTS-STARTPTS,overlay=20:40[1]; \
 [1][1:v]setpts=PTS-STARTPTS,overlay=(W-w)/2:(H-h)/2[v]; \
 [1:a][2:a]amerge=inputs=2[a]" \
-map "[v]" -map "[a]" -ac 2 3.mp4

我试图找到正确的命令来降低质量,而不是创建一个流输出。 (选择了一个音频)

使用 scale filter. Arrange with the xstack filter 将每个视频缩放到所需的大小。

ffmpeg -i input0 -i input1 ... -i input29 -i audio -filter_complex
"[0]scale=128:-1[v0];[1]scale=128:-1[v1];...[29]scale=128:-1[v29];
[v0][v1]...[v29]xstack=inputs=30:layout=<your desired layout>[v]"
-map "[v]" -map 30:a -c:v libx264 -crf 51 -c:a aac -shortest output.mp4

-crf 51 将按要求提供低质量。如果您想要更好的质量,请降低该值。