【问题标题】:Why ffmpeg is skipping some images?为什么ffmpeg会跳过一些图像?
【发布时间】:2020-04-10 02:20:57
【问题描述】:

我正在尝试使用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】:

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

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

    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"

    【讨论】:

    • 添加 `-reinit_filter 0` 参数解决了这个问题。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多