我想将一个视频叠加到另一个视频上。我有两个时长相同的视频。
目的是使上面的视频有点透明,以便人们可以看到背景视频中发生的事情。
我已经尝试过以下命令:
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%。