为什么 ffmpeg 会跳过一些图像?
Why ffmpeg is skipping some images?
我正在尝试使用 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。
请帮助我理解为什么这个脚本没有拍摄我的一些图像。
谢谢。
序列中的所有图像都应具有相同的分辨率和像素格式。在 MVP 中,03.png 与其他两个 (rgb24
) 相比具有不同的像素格式 (rgba
)。
将所有图像转换为相同格式,并防止 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"
我正在尝试使用 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。
请帮助我理解为什么这个脚本没有拍摄我的一些图像。
谢谢。
序列中的所有图像都应具有相同的分辨率和像素格式。在 MVP 中,03.png 与其他两个 (rgb24
) 相比具有不同的像素格式 (rgba
)。
将所有图像转换为相同格式,并防止 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"