Image 如何使用ffmpeg淡入两幅图像

Image 如何使用ffmpeg淡入两幅图像,image,ffmpeg,transition,fade,Image,Ffmpeg,Transition,Fade,我有两个图像,我想在它们之间创建一个简单的淡入淡出过渡 我还希望最终输出是一系列图像,而不是视频? 因此,如果衰减过渡是10帧长,我希望输出是10幅图像的序列 如何使用ffmpeg实现这一点?据我所知,仅使用ffmpeg无法实现这一点。如果你想在scriprs中做这件事,请看一下;如果您想要交互式应用程序,请查看openshot。请参阅: 此示例将使input1.png在input0.png上进行3秒的交叉淡入淡出 要将多幅图像交叉淡入淡入/调至黑色,请参见。尝试以下操作: ffmpeg \ -

我有两个图像,我想在它们之间创建一个简单的淡入淡出过渡

我还希望最终输出是一系列图像,而不是视频? 因此,如果衰减过渡是10帧长,我希望输出是10幅图像的序列


如何使用ffmpeg实现这一点?

据我所知,仅使用ffmpeg无法实现这一点。如果你想在scriprs中做这件事,请看一下;如果您想要交互式应用程序,请查看openshot。

请参阅:

此示例将使
input1.png
input0.png
上进行3秒的交叉淡入淡出

要将多幅图像交叉淡入淡入/调至黑色,请参见。

尝试以下操作:

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帧\u%04d.png
或其他方法。

如何对多个图像执行相同的效果?假设我需要创建一个包含3个图像的视频,并且需要在图像之间应用此转换,我发布了一个关于此的问题。有关于多个图像之间淡出的想法吗?错误filtergraph描述中的无效文件索引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