我从屏幕截图中创建了动画的output.gif
,最终未压缩为89MB。 GIF的一半是静态的,但最好将其保持在一起,而不是包含运动部分的图像+ GIF。
使用Imagemagick和以下命令,我设法将其大小减小到18.1MB:
convert output.gif -coalesce -fuzz 3% +dither -layers Optimize compressed.gif
增加百分比会产生较小的尺寸结果,但质量会受到损害。
鉴于此GIF包含较大的静态非动画区域,您是否建议使用一个选项来实现更好的文件大小减小效果而又不影响质量?
更新我正在为此使用Ubuntu,这是我的完整工作流程:
ffmpeg -i input.avi output.mp4
转换为mp4。mkdir frames
创建目录。ffmpeg -i output.mp4 -r 25 'frames/frame-%04d.png'
。cd frames
。convert -delay 4 -loop 0 *.png output.gif
生成GIF。convert output.gif -coalesce -fuzz 3% +dither -layers Optimize compressed.gif
答案 0 :(得分:3)
减小GIF大小的最佳方法是在“组合”模式下放置尽可能多的帧。这些帧仅包含与前一帧相比已更改的内容,并且可能很小,但这可能要求所有帧都使用完全相同的色图进行编码,并且相同的部分必须完全相同(没有模糊性,没有随机编码伪像) 。 Gimp可以做到这一点,但是其他专门用于GIF处理的实用程序也可以做到这一点(也许是Gifsicle)?
此外,屏幕截图的动画GIF不必为25fps,10fps就足够了。