现在我将透明 PNG 叠加在视频上,首先将它们转换为相同大小,但希望在同一命令中缩放。这是现在的命令:
ffmpeg -y -i video.mp4 -i overlay.png -filter_complex 'overlay[out],amix=inputs=1,pan=stereo:c0=c0:c1=c1' -map '[out]' output.mp4
最好的命令还应该允许没有音轨的视频并且仍然覆盖 PNG。
答案1
使用
ffmpeg -y -i video.mp4 -i overlay.png
-filter_complex "[1][0]scale2ref[i][m];[m][i]overlay[v]"
-map "[v]" -map 0:a? -ac 2 output.mp4
将scale2ref
第一个输入(到过滤器)缩放到第二个输入的大小。输入 pad 索引0
,并1
引用 FFmpeg 的第一个和第二个输入,因为该计数从零开始。
-map 0:a?
-?
告诉 FFmpeg 以偶然方式映射音频,即如果存在。我已删除,amix
因为 a) 过滤器复合体中的过滤器不能是偶然的,并且 b) 只有一个输入,因此没有什么可“混合”的。