ffmpeg 在 alpha 合并后叠加并自动缩放视频

ffmpeg 在 alpha 合并后叠加并自动缩放视频

我问过这个问题关于如何将一个 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

相关内容