一、使用PNG的序列帧生成Gif
命令行代码
ffmpeg -r 20 -i image_%d.png video1.gif
此命令可以制作一个20fps的动图,但是我在制作的时候遇到了失色的情况(在图像周围有诡异的黄色出现)。为了解决此问题,可以先为每一张图片生成一个调试板,然后根据调色板制作gif图片。
ffmpeg -r 20 -i image_%02d.png -vf palettegen p1.png
ffmpeg -r 20 -i image_%02d.png -i p1.png -lavfi paletteuse video1.gif
二、使用Mp4 生成Gif
命令行之前只要使用
ffmpeg -i 2.mp4 2.gif
就可以输出gif 文件,但是不清晰;改用以下命令上一个档次
ffmpeg -i 2.mp4 -vf palettegen palette.png
ffmpeg -i 2.mp4 -i palette.png -lavfi paletteuse 21.gif
也可以简化为一条命令:
ffmpeg -i 2.mp4 -vf "split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" 22.gif
可以参考:https://www.freesion.com/article/39981384352/
还可以再增加为更复杂一点:
ffmpeg -i 2.mp4 -vf "split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -s 480*320 -r 10 23.gif
-s 表示分辨率改为多少
-r 是多少fps
-vf 就是表示,生产画板palettegen
-vf 表示使用画板 paletteuse
网友评论