GIF 为什么这么大
GIF 把动画存成一系列完整帧,帧与帧之间只做了非常基础的差异优化,远不像视频编码那样做运动补偿。同时每帧用调色板量化到 2-256 色——颜色越丰富,调色板越大、每帧字节越多。
体积公式近似为:宽度 × 高度 × 帧数 × 每像素成本。任何一项减半,体积就近似减半。
四个压缩抓手
- 减尺寸:把 800px 宽的动图缩到 400px,像素数变为四分之一,这是最有效的一步
- 减颜色:256 色降到 64 色,体积通常再降 30%-50%,配合抖动(dither)肉眼差异不大
- 减帧数:30fps 的录屏降到 12-15fps 依然流畅,帧数减半体积减半
- 换编码:GIF 的 LZW 编码效率远低于现代格式,同样内容转成动画 WebP 体积可降 60%-80%
转 WebP 是最划算的一步
动画 WebP 保留完整时间轴与帧延迟,用 VP8 帧间预测替代逐帧存储。实测一段 3.2MB 的 GIF 转成动画 WebP 后约 1MB,且浏览器支持已全部就绪(Chrome、Firefox、Safari 14+、Edge 全支持)。
唯一需要保留 GIF 的场景:发送到只认 GIF 的老平台(部分论坛、旧版聊天工具、邮件签名)。这些场景再考虑减色减帧的传统手段。
在本站怎么操作
指定大小模式对动图同样可用:填目标 KB 数,服务端自动二分画质直到达标。
- 保留 GIF 格式:上传后拖动画质滑块,服务端按画质映射调色板颜色数(2-256 色)并施加抖动,动图全帧保留
- 转 WebP:输出格式选 WebP,动图自动转为动画 WebP,帧延迟不变
- 缩小尺寸:设置最长边(如 480px),帧数与动画节奏不受影响
把 GIF 转成动画 WebP
GIF 转 WebP