我正在使用 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