怎么把视频做成 GIF 动图(并且体积别太大)
起始时间、帧率、宽度、颜色数 —— 决定 GIF 是 400KB 还是 40MB 的四个旋钮。
什么时候 GIF 比视频更合适
GIF 到处都能自动播放、永远循环、不需要播放器、不挑编码器、连播放按钮都不需要,在聊天软件、邮件、文档、缺陷报告和老论坛里都能直接显示。从技术上讲,三秒钟的 MP4 在各个方面都更好,但在上述一半的场景里它根本显示不出来。这就是 GIF 迟迟不死的原因。
代价是:没有声音、每帧最多 256 色、体积偏大。这篇教程主要讲怎么控制最后一项。
决定一切的三个数字
一个 GIF 就是一叠帧,体积约等于三个设置的乘积:
- 时长 —— 3 到 8 秒是甜点区间。十秒的录屏转出来的文件没人发得出去。
- 帧率 —— 录界面、做表情包,10 到 15 fps 足够。电影是 24 fps,对 GIF 来说只会让帧数翻倍,而多数人在小尺寸下看不出区别。
- 宽度 —— 480 像素是标准选择,640 像素是实用上限,高度按视频比例自动跟随。
算一笔账:5 秒 × 12 fps = 60 帧;在 480×270、128 色下,每帧约 40–80KB,成品大约 2.5–5MB。把时长压到 4 秒、帧率降到 10、宽度缩到 320,同一段画面就能轻松做到 1MB 以内。
选对片段,比调参数更重要
对 GIF 提升最大的永远是素材本身。找到真正有事发生的那四秒,从动作发生前一点开始,到结束后一点结束。GIF 会循环——所以尽量让首尾两帧的动作能对上,跳回第一帧时才不突兀。
录屏的话,先在脑子里把画面裁到一个窗口或一块区域。整个桌面的录屏转到手机上根本看不清。
颜色数:256 是格式上限,不是目标
GIF 的调色板上限是 256 色。扁平风格的插画、Logo、界面,用 32 或 64 色往往看不出差别,体积却小得多;照片类内容用 128 色加抖动(dithering),比 64 色明显更好看。从视频转 GIF 时,工具会把每一帧量化到你选的颜色数——所以在分辨率之后,颜色数是最直接的「画质换体积」旋钮。
关于声音和文字
GIF 装不下声音,依赖音频的片段就不该做成 GIF,直接发视频。另外因为调色板有限,笔画很细的小字会出现彩边和闪烁。文字多的片段请提高分辨率,或者接受「GIF 不适合录代码」这个事实。
在浏览器里做一个
本站的视频转 GIF可以读取 MP4、WebM、MOV、M4V,跳到你指定的起点,用浏览器自带的视频解码能力逐帧抓取,再用内置编码器合成 GIF。全程不上传——五秒的素材在你自己的电脑上生成,进度逐帧可见。做出来还是偏大的话,可以接着用 GIF 压缩再瘦身一轮。