使用 FFMPEG 添加过渡和多个叠加图像

使用 FFMPEG 添加过渡和多个叠加图像

我正在使用 ffmpeg 进行图像叠加。

我有多张图片,想将它们叠加。下面的代码非常适合这个用途。

ffmpeg -i D:/Test.mp4 
-i D:\Images\test.jpg 
-i D:\Images\test2.jpg 

-filter_complex  "[0][1]overlay=x=0:y=0:enable='between(t,1237.216831,1837.216831)'[v1];
[v1][2]overlay=x=0:y=0:enable='between(t,2237.216831,2469.729935)'[v2]"

 -map "[v2]" -map 0:a
 D:\ffmpeg_output\output.mp4

现在,我想在图像叠加时带来不同的效果。我学会了使用代码来产生效果

xfade=transition=fade:duration=0.5:offset=408.84

我该如何将过渡效果应用于我的覆盖图像代码中?

请指导。

亲切的问候,

答案1

使用格式过滤器为每个图像提供 alpha 通道,然后添加褪色筛选:

ffmpeg -i video.mp4 -loop 1 -i image1.jpg -loop 1 -i image2.jpg 
-filter_complex "[1]format=yuva444p,fade=t=in:st=2237.216831:d=1:alpha=1[img1];[2]format=yuva444p,fade=t=in:st=2237.216831:d=1:alpha=1[img2];[0][img1]overlay=x=0:y=0:format=auto:enable='between(t,2237.216831,2469.729935)':shortest=1[bg];[bg][img2]overlay=x=0:y=0:format=auto:enable='between(t,2237.216831,2469.729935)':shortest=1,format=yuv420p"
-c:a copy output.mp4

相关内容