ffmpeg 静态图片转 GIF:工作流程精简

ffmpeg 静态图片转 GIF:工作流程精简

我很高兴重新审视 ffmpeg 并进行修改,但是有人可以帮助我简化“静止图像/添加交叉淡入淡出/保存为 gif”过程吗?

我试图消除将静态图片转换为中间视频文件(添加淡入淡出)的需要,然后再读取视频以提取 gif 调色板文件,然后再次读取视频以将视频转换为 gif。(我的努力令人不快,而且调色板文件到目前为止无法读取)。

有人能告诉我们是否可以使用下面的视频创建例程来直接提供调色板创建,然后提供最终的 gif 吗?(或者获取调色板流并一次性完成?)并不是说 rm 和 del 不是选项,而是系统依赖,但中间过程越少,当我转身时出错的可能性就越小。

 ffmpeg -i "nlm%2d.png" -vf 
zoompan=d=4/3:fps=1/3,framerate=25:interp_start=0:interp_end=255:scene=100 - 
c:v mpeg4 -b:v 5M -q:v 0 out.mp4

F:\Users\QuinB\WF - ffmpeg\crossfade>dir

13/11/2018  21:35            28,553 nlm01.png
13/11/2018  21:35            26,351 nlm02.png
13/11/2018  21:35            28,400 nlm03.png
13/11/2018  21:35            31,235 nlm04.png
13/11/2018  21:35            34,553 nlm05.png
14/11/2018  11:50         1,177,150 out.mp4

创建 mp4 文件后,我们使用众所周知的(几乎未修改的)序列:

ffmpeg -v warning -i out.mp4 -vf fps=10,palettegen -y out_palette.png

ffmpeg -v warning -i out.mp4 -i  out_palette.png -lavfi "fps=10[x]; [x][1:v] paletteuse" -y out.gif

感谢论坛上的朋友们,他们分享了自己的知识,并帮助我学习了许多 ffmpeg 知识。QB

资料来源: FFMPEG 中级指南/图像序列

使用 FFmpeg 制作高质量 GIF

答案1

使用

 ffmpeg -i "nlm%2d.png"
  -filter_complex  "zoompan=d=4/3:fps=1/3,framerate=25:interp_start=0:interp_end=255:scene=100,
                    fps=10,split=2[pal][vid];[pal]palettegen[pal];[vid]fifo[vid];
                    [vid][pal]paletteuse" -y out.gif

相关内容