如何使用FFmpeg淡入淡出两张图片

5
我有两张图片,想要在它们之间创建一个简单的渐变过渡效果。 同时,我希望最终的输出是一系列图片而不是视频? 所以如果淡入淡出的过渡时间为10帧,我希望输出的结果是由10张图片组成的序列。 如何使用ffmpeg实现这个效果?
3个回答

20

2
如何对多张图片实现相同的效果?比如我需要创建一个包含3张图片的视频,并且需要在这些图片之间应用同样的过渡效果。 - 2vision2
我已经发布了一个关于此事的问题。 - 2vision2
1
有没有关于多张图片之间淡出的想法? - 2vision2
错误:在由图像序列生成视频的过滤器图描述中,文件索引1无效。请帮忙解决。 - Sunil Chaudhary

-1

试试这个:

ffmpeg \
-loop 1 -t 3 -i input1.png \
-loop 1 -t 3 -i input2.png \
-loop 1 -t 3 -i input3.png \
-loop 1 -t 3 -i input4.png \
-loop 1 -t 3 -i input5.png \
-filter_complex \
"[1:v][0:v]blend=all_expr='A*(if(gte(T,3),1,T/3))+B*(1-(if(gte(T,3),1,T/3)))'[v0]; \
 [2:v][1:v]blend=all_expr='A*(if(gte(T,3),1,T/3))+B*(1-(if(gte(T,3),1,T/3)))'[v1]; \
 [3:v][2:v]blend=all_expr='A*(if(gte(T,3),1,T/3))+B*(1-(if(gte(T,3),1,T/3)))'[v2]; \
 [4:v][3:v]blend=all_expr='A*(if(gte(T,3),1,T/3))+B*(1-(if(gte(T,3),1,T/3)))'[v3]; \
 [v0][v1][v2][v3]concat=n=4:v=1:a=0[v]"
-map "[v]" out.mp4

还没有尝试过图片,但你可以在结尾处尝试-t 12 frames_%04d.png或其他方式。

-1
据我所知,仅使用FFmpeg无法实现此目的。如果您想在脚本中执行,请查看MLT框架;如果您想要一个交互式应用程序,请查看openshot。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接