搞懂 GIF 格式
GIF(图形交换格式)是一种同时支持静态图和简单动画的图像格式。1987 年问世,GIF 最多用 256 色调色板,采用 LZW 无损压缩。一个 GIF 文件里可以放多帧,按顺序播放就形成了动画——几十年来,它一直是网页短循环动画的事实标准。
虽然是个老格式,限制也不少(只有 256 色、没有声音、长动画文件大),但 GIF 依然超级流行,因为它到处都能用——每个浏览器、每个聊天 APP、每个邮件客户端都支持。和视频格式不一样,GIF 不用点就能自动播放,也不需要视频播放器。
GIF 压缩的工作原理
GIF 用 LZW(Lempel-Ziv-Welch)无损压缩,对于纯色块和锐利边缘的图形效率很高,但处理照片就不太给力了。256 色限制既是缺点——照片会有海报化的色块感,也是优点——颜色越少压缩效率越高,文件更小。
减小 GIF 文件体积最有效的方法有:缩小尺寸(像素越少文件越小)、减少调色板颜色(颜色越少压缩越好)、去掉重复帧、优化帧处理方式。我们的 GIF 压缩器把这些技巧全用上了,在可接受画质的前提下,把文件压到最小。
做出好 GIF 的最佳实践
GIF 要短——10 秒以内比较理想,5 秒以内更好。尺寸别太大:网页和聊天用的话,300-500 像素宽一般就够了。尽量用简单图形和纯色;照片和视频片段转出来的 GIF 文件会大很多。
从视频做 GIF,大部分内容用 10-15 帧/秒就够了。帧率高动画更流畅,但文件会大得离谱。把片段剪到只留最精华的部分——好的 GIF 一两秒就能讲完一个故事。
发邮件和聊天的话,尽量控制在 1MB 以内。网页用的话,为了页面速度,最好 500KB 以内。如果需要更高质量或者更长时间,考虑用 WebP 动图或者 MP4 视频——这俩压缩比 GIF 强太多了。