我正在尝试用一系列透明 png 制作一个 gif,但当我播放生成的 gif 时,帧重叠,第一帧可以看透。这是我使用的命令(作为我正在开发的更大程序的一部分)
ffmpeg -framerate 7 -i "B:\\documents\\Visual Studio\\Projects\\WindowsFormsApp1\\bin\\Debug\\tmp\\%d.bmp" -lavfi palettegen=stats_mode=diff:max_colors=256:reserve_transparent=1[pal],[0:v][pal]paletteuse=new=1:dither=none:alpha_threshold=128 -loop 0 "B:\\Pictures\\Gif frames dump\\output.gif" -y
但更加简化
ffmpeg -framerate 7 -i image%d.png -lavfi palettegen[pal],[0:v][pal]paletteuse output.gif
编辑:我尝试了 nightly(ffmpeg 版本 N-93851-gdcc999819d)、4.1.3、4.1.1 和 4.0 Windows 64 静态版本。所有版本都得到了相同的结果。我尝试将 apng 转换为 gif 也得到了相同的结果。
如果统计模式为“完整”或“差异”,则只有第一帧会保留;但是,当设置为“单一”时,每一帧都会保留在屏幕上。所以我肯定会说处理方法中存在一些奇怪的事情