为什么ffmpeg跳过一些图像?

问题描述 投票:0回答:1

我正在尝试使用ffmpeg创建具有淡入淡出效果的幻灯片。

如上所述,另一个SE question,我为此使用了以下行。

ffmpeg -i SEQ_%03d.png -i $AUDIO -vf zoompan=d=$TOTAL_DURATION:fps=1/$FADE_DURATION,framerate=25:interp_start=0:interp_end=255:scene=100 -c:v mpeg4 -shortest -maxrate 5M -q:v 2 "temp_file.mp4"

完整脚本存储在Github中。

这很好。但是,它跳过了我的一些图像。它跳过了我使用GIMP创建的图像。如果我将其保留在序列的开头,则会出现这些图像。但是,不是最后。


我已经为此创建了一个MVP

可以通过以下命令重现该问题。

ffmpeg -i %02d.png -vf zoompan=d=4:fps=1,framerate=25 out.mp4

输入图像在Github中可用。


[请帮助我了解为什么此脚本未拍摄某些图像。

谢谢。

video ffmpeg slideshow
1个回答
0
投票

您序列中的所有图像应具有相同的分辨率和像素格式。在MVP中,与其他两个(rgba)相比,03.png具有不同的像素格式(rgb24)。

将所有图像转换为相同格式,并防止ffmpeg重新初始化过滤器图。

ffmpeg -reinit_filter 0 -i SEQ_%03d.png -i $AUDIO -vf scale,format=rgb24,zoompan=d=$TOTAL_DURATION:fps=1/$FADE_DURATION,framerate=25:interp_start=0:interp_end=255:scene=100 -c:v mpeg4 -shortest -maxrate 5M -q:v 2 "temp_file.mp4"

© www.soinside.com 2019 - 2024. All rights reserved.