我问过这个问题关于如何将一个 alpha 合并的视频叠加在另一个视频上,并得到了这个命令的答案。我稍微调整了一下,为叠加添加了最短部分,使其仅与最短部分一样长。
ffmpeg -i video.mp4 -i matte.mp4 -i background.mp4 -filter_complex '[1][0]scale2ref[mask][main];[main][mask]alphamerge[vid];[2:v][vid]overlay=shortest=1[out]' -map [out] complete.mp4
这可行,但我需要更具体一点,我该如何修改此命令,让它自动将 alphamerged 视频缩放到其覆盖视频的大小
答案1
加上另一个scale2ref:
ffmpeg -i video.mp4 -i matte.mp4 -i background.mp4 -filter_complex '[1][0]scale2ref[mask][main];[main][mask]alphamerge[vid];[vid][2:v]scale2ref[fg][bg];[bg][fg]overlay[out]' -map [out] complete.mp4
- 第一个 scale2ref 使其
matte.mp4
大小与 相同video.mp4
。 - 第二个 scale2ref 使 alphamerge 输出与 大小相同
background.mp4
。