ffmpeg - 将一个视频叠加到另一个视频上

ffmpeg - 将一个视频叠加到另一个视频上

我想将一个视频叠加到另一个视频上。我有两个时长相同的视频。

目的是使上面的视频有点透明,以便人们可以看到背景视频中发生的事情。

我已经尝试过以下命令

String command="ffmpeg -y -i /sdcard/videokit/two.mp4 -i /sdcard/videokit/inone.mp4 -filter_complex [0:v][1:v]overlay=100:100:eof_action=pass[v] -map [v] /sdcard/videokit/output.mp4";

在此命令中,上方的视频(就高度和宽度而言)与下方的视频不匹配。

困惑 : 背景视频的高度宽度可能与上部视频不一样,因为它是动态生成的,在这种情况下我该如何处理..!!!

任何帮助或建议都将不胜感激。

答案1

下面的命令调整上方视频的大小以匹配下方视频,并且使其透明。

ffmpeg -y -i /sdcard/videokit/two.mp4 -i /sdcard/videokit/inone.mp4 -filter_complex "[1:v][0:v]scale2ref[ua][b];[ua]setsar=1,format=yuva444p,colorchannelmixer=aa=0.5[u];[b][u]overlay=eof_action=pass[v]" -map [v] /sdcard/videokit/output.mp4

调整scale2ref第二个视频的大小以匹配第一个视频的尺寸。然后colorchannelmixer调整 alpha 通道以使其透明度达到 50%。

相关内容