导出 GIF 动图
表情包、教程演示、产品动效展示,都离不开 GIF 动图。GIF 的好处是不依赖播放器、哪儿都能贴,代价是体积大、画质有限。这一章讲在 Shotcut 里做 GIF 的完整流程,从裁剪片段到生成高质量 GIF,重点讲 FFmpeg 的调色板方法,让动图画质尽可能好。
GIF 的先天限制
先了解限制才能用好它。GIF 只支持 256 色,颜色多了就会出渐变断层,看起来像水彩晕开;而且 GIF 没有真音频、不支持透明之外的复杂压缩。所以 GIF 适合画面颜色简单、动作明确的片段,不适合风景、人物特写这种色彩丰富的画面。如果非要用,就要靠调色板技术把色彩损失降到最低。
导出路线有两条
第一条路最简单:Shotcut 直接导出 MP4,再用转换工具把 MP4 转成 GIF。这条路画质一般,参数少,适合快速出图。第二条路是认真路线:先在 Shotcut 里剪好片段、导出中间文件,再用 FFmpeg 的调色板方法生成 GIF,画质明显更好。做表情包用第一条,做教程演示用第二条,按需选择。
先剪好片段
无论哪条路,先在 Shotcut 里把要做成 GIF 的片段剪出来:用分割工具掐头去尾,只留核心几秒。GIF 超过 5 秒就开始让人有耐心问题,2 到 3 秒最佳。剪完后把这一段单独导出成一个临时视频文件,分辨率建议压到 480p 或 720p 宽度,因为 GIF 放大看本来就糊,源文件太大没有意义,反而增加体积。
调色板方法:GIF 画质的命脉
FFmpeg 里生成高质量 GIF 的标准做法是"两遍法":第一遍用 palettegen 滤镜分析整个视频的颜色分布,生成一张最优调色板;第二遍用 paletteuse 滤镜把每一帧的颜色量化到这张调色板上。两张调色板配合,能把 256 色的限制利用到极致,渐变断层明显减少。
具体操作分两步。第一步,先统计颜色生成调色板文件,命令思路是让 FFmpeg 从视频中提取颜色信息,输出一个调色板文件。第二步,用这个调色板对视频逐帧处理,输出最终的 GIF。两步的命令参数较多,建议直接搜索 FFmpeg palettegen paletteuse 的现成示例,照着改文件名就能跑通,比自己从零拼参数省事得多。
尺寸、帧率与体积的平衡
GIF 体积由三个因素决定:尺寸、帧率、时长。经验值如下:
| 参数 | 建议值 | 理由 |
|---|---|---|
| 宽度 | 320 到 480 像素 | 表情包够用,再大体积暴涨 |
| 帧率 | 10 到 15 帧每秒 | GIF 不需要 30 帧,动作会显得更"卡通" |
| 时长 | 2 到 4 秒 | 超过 5 秒大概率被跳过 |
一个 320 宽、12 帧、3 秒的 GIF 大约几百 KB,塞进聊天框毫无压力。如果体积超限,优先降宽度,其次降帧率,最后才是缩短时长。
从 MP4 转 GIF 的快捷路
如果不想折腾命令行,可以先把片段在 Shotcut 里导出成低分辨率 MP4,然后用图形化的转换工具一键转 GIF。这类工具的界面通常是"选文件、设宽度、设帧率、选输出"四步,内置的调色板算法也大同小异。缺点是可定制性不如命令行,帧率和尺寸档位是预设好的,做表情包足够,做精细的教程动图就力不从心了。
压缩与检查
生成的 GIF 务必检查两点:一是文件体积,超过 1 兆的 GIF 在很多平台会被压缩得面目全非,不如重新调小尺寸;二是循环播放,在播放器里看是不是首尾接得上,接不上就是最后一帧处理有问题,重新生成时换个参数试试。GIF 没有"重导"的概念,参数不合适只能整批重来,所以第一遍就按上面的建议值设好,能少走弯路。
结尾建议
做 GIF 记住一条心法:小而快,胜过大而糊。先把尺寸和帧率压下来,用调色板保住画质,比追求"高清 GIF"实际得多。下次剪到好玩的瞬间,直接按这三步走:剪片段、导 MP4、调色板转 GIF,十分钟就能做出一个能发的表情包。
