动图 GIF 体积常常是必要值的十倍。本文讲清楚为什么、什么时候该转 WebP/MP4,以及在 Mac 上 2026 年怎么压缩 GIF 而不破坏动画。
一个 4 秒的产品演示循环动图,导出后 6 MB——这不是压缩问题,而是格式问题。GIF89a 标准发布于 1989 年,每帧最多支持 256 色调色板,每一帧都按 LZW 压缩的位图存储,没有任何帧间(时间维度)压缩。所以一个 800×450 的录屏 GIF,体积常常超过承载它的整页 HTML。
这篇文章讲的是:在 Mac 上把 GIF 体积重新拉回正常区间。我们会拆解 GIF 的能与不能、什么时候应该原地压缩、什么时候应该改投 WebP 或 MP4,并用一个 Zipic 预设把动图 GIF 处理流程跑顺——尤其是 Zipic v1.9.4 刚发布的更强 GIF 压缩。
格式本身的三个特性叠加,让短动图也轻易上几兆:
落到实处:典型的几秒录屏导出成 GIF 通常落在数 MB 量级;同一段录制走静音 MP4/H.264 经常不到 1 MB。这不是参数没调好——这是格式天花板。
来自 Google 和 web.dev 的实测对比:
| 源格式 | 替换方案 | 典型节省 |
|---|---|---|
| 动图 GIF | 动图 WebP(有损) | 平均约 64% 更小 |
| 动图 GIF | 动图 WebP(无损) | 平均约 19% 更小 |
| 动图 GIF | MP4 / H.264 | 约 85% 更小(单一案例) |
| 动图 GIF | WebM / VP9 | 约 91% 更小(单一案例) |
WebP 的数字来自 Google libwebp 项目对约 7000 张随机网页 GIF 用 gif2webp 默认参数转换的样本研究(WebP FAQ)。MP4 / WebM 的数字来自 web.dev 的实例:3.7 MB 的 GIF 转出 551 KB MP4 和 341 KB WebM(web.dev)。把它们当作量级参考——具体数值会随运动复杂度、调色板和源码率变动。
2026 年合理的默认策略是:只要它能是视频,就让它做视频。Google 明确建议网页上的动图 GIF 改用 <video autoplay loop muted playsinline>,因为 Lighthouse 会专门标”Use video formats for animated content”,过大的媒体也会拉低 LCP。WebP 居中——它仍然能直接塞进 <img> 标签,但体积比 GIF 小得多。
2026 年还坚持用 GIF 的场景,认真盘点下来只有三类:
<video>,但能内联渲染动图 GIF。所以邮件营销的产品循环、头图动画、动效 CTA 仍然得以 GIF 投递。.gif。少数支持 WebP,但 GIF 是最低公约数。除此之外——落地页、产品文档、营销网站、SaaS 控制台——通通该转视频,把 GIF 当成你已经不再需要的兜底格式。
Zipic 直接支持 GIF 压缩。v1.9.4(2026 年 4 月) 调整后,默认等级就能稳定缩小体积,更高等级可达 30%+ 的缩减,同时保留动画完整性(参见发布说明)。
Zipic 的工作流是预设优先:先配置压缩参数,再添加文件。没有单独的”开始”按钮——拖入文件本身就是触发压缩的动作。
点击主窗口左下角的压缩设置,编辑默认预设或新建一个 GIF 专用预设:
~/Desktop/GIFs/ 文件夹,原图保持不动
把整个 GIF 文件夹拖进主窗口,Zipic 会批量处理、保留动画,并把优化后的输出写入指定路径。点击任意缩略图打开对比预览,确认动效没坏。
预设系统的更深入讲解见Mac 批量压缩图片教程,或参考官方Zipic 图片压缩文档。
因为 GIF 是逐帧位图,文件大小约等于宽 × 高 × 帧数。把宽高各砍一半,体积大约只剩四分之一——而且这一步发生在所有其他压缩之前。
合理的长边目标:
源是录屏的话,先 resize;源本身就很小(比如 400 px 的 Slack 贴纸)就跳过 resize,靠等级和调色板优化即可。
先说清楚一件事:截至本文写作时,Zipic 对 GIF 是就地压缩,不在动图格式之间互转——不支持 GIF 转动图 WebP / AVIF,不支持其他动图格式转回 GIF,也不支持 PNG 图像序列。Zipic 的格式转换能力目前仅覆盖静态图像。需要做动图格式转换时,请用对应的命令行工具。
Google 官方工具是 gif2webp,随 libwebp 一起分发:
brew install webp # 一次性安装
gif2webp -q 75 input.gif -o output.webp # 质量 75 转换
gif2webp -lossy -q 60 input.gif -o output.webp # 有损模式,体积更小
Google 自己的样本上动图 WebP 比 GIF 平均小约 64%,且能直接放进 <img> 标签。
# GIF → MP4(H.264,兼容性最好)
ffmpeg -i input.gif -movflags faststart -pix_fmt yuv420p \
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" output.mp4
# GIF → WebM(VP9,体积更小)
ffmpeg -i input.gif -c:v libvpx-vp9 -b:v 0 -crf 30 output.webm
用自循环 <video> 嵌入:
<video autoplay loop muted playsinline>
<source src="demo.webm" type="video/webm">
<source src="demo.mp4" type="video/mp4">
</video>
gif2webp 转动图 WebP——全球浏览器支持约 97%,可直接走 <img>、平均约 64% 更小<video> 配 MP4 + WebM——节省最大(常见 80–90%+),也是 Lighthouse 明确推荐的方案<picture> 里搭配 WebP 兜底。格式横向对比见JPEG、PNG、WebP 怎么选和如何选择正确的图片格式。
如果是规模化场景(比如文档站有几十个演示 GIF),把 gif2webp 或 ffmpeg 转换写成文件夹监听脚本,再用一条 Zipic 预设兜底处理那些必须保持 GIF 的文件。
下次手上有 GIF 时按这个顺序问自己:
gif2webp 转。结束。唯一错误的选择是把源 GIF 原样上传。
Zipic 压缩 GIF 时会保留动画吗? 会。GIF 压缩保留每一帧和原始时间轴,重新优化的只是调色板和单帧编码。v1.9.4 专门调过这条路径,让默认等级真正能缩小文件,而不是把原文件原样吐回来。
为什么压缩后我的 GIF 看起来更糙了?
GIF 256 色的硬上限是元凶。激进压缩会把调色板进一步收紧,照片类内容上的抖动就显出来了。要么在 Zipic 里降一档等级,要么用 gif2webp 转动图 WebP——后者不受调色板束缚。
典型录屏 GIF 大概能省多少? 默认等级在已经偏小的文件上能省个位数到 20% 左右;高等级在未压缩过的 GIF 上 30%+ 是合理预期(依据 Zipic v1.9.4 发布说明)。配合 resize 一起做,整体节省做到 50–70% 是合理预期,且无需换格式。
循环次数会丢吗?
不会。Zipic 压缩流程会保留 GIF 的循环次数元数据;ffmpeg 默认的 GIF→视频转换通过 <video> 标签的 loop 属性同样能保留循环行为。
Slack、Discord、iMessage 上的 GIF 怎么办?
随手发的”反应图”场景,GIF 仍然是最安全的通用选择。涉及到平台原生 emoji / 贴纸工作流时,按各平台偏好的动画格式来。
别再把 6 MB 的演示 GIF 直接发出去了。下载 Zipic,建一个 GIF 预设:等级 3、长边 800 px,丢一个文件夹进去后台批量跑,自己继续干别的。查看订阅价格。