视频转GIF怎么做:尺寸、帧率与循环技巧 | UltKit
把视频转成GIF动图,先选一段两到六秒的画面,把宽度缩放到320–640 px,帧率降到10–15 fps,再让转换器根据这段片段生成256色调色板。这四个选择决定了你得到的是清晰的2 MB循环动图,还是任何聊天软件都不肯接收的30 MB文件。
GIF文件到底存了什么
GIF 比网页还要古老。CompuServe 在 1987 年发布了第一个版本 GIF87a,用来通过拨号连接传送静态图片;1989 年的修订版 GIF89a 加入了让动画成为可能的两项功能:每一帧的延迟值,以及一种透明色。循环播放则是 1995 年之后的事,当时 Netscape Navigator 2.0 开始读取一个小型应用扩展块,用来说明重复播放的次数。如今所有动画 GIF 依然是包含这个扩展块的 GIF89a 文件,所以几乎所有浏览器和邮件客户端都能播放。
GIF 内部是一叠索引图像。每一帧都指向一个最多 256 项的颜色表,因此每帧最多只能显示 256 种颜色,尽管原视频有数百万种颜色。像素随后用 LZW 压缩,这是一种无损的字典压缩方法,对单一颜色的平坦区域效果很好,对照片般的噪点、颗粒和渐变则效果很差。LZW 本身不会丢弃任何信息;画质损失发生在更早的一步,也就是数百万种颜色被压缩进调色板的时候。
GIF 还有两样东西无法容纳。它没有任何音轨,视频里的声音会直接消失。它的计时也很粗糙:延迟以百分之一秒为单位保存,而大多数浏览器会把 0 或 1 的延迟当作 10,所以按 50 fps 或更高帧率制作的 GIF 只会播放得更慢,而不是更流畅。实际可用的范围是 10 到 25 fps。
- GIF89a 加入了动画
- 1989
- 每帧最多颜色数
- 256
- 最小延迟步长
- 1/100 秒
- 音轨数量
- 0
GIF为什么会膨胀,以及按什么顺序瘦身
H.264 等现代视频编码只是偶尔存储完整画面,大多数帧只描述相对上一帧的细小变化。GIF 也能做到一点,即只更新上一帧的某个矩形区域,但它没有运动预测之类的机制。镜头一移动,几乎每个像素都会变化,每一帧几乎都要完整存储。所以一段 2 MB 的手机视频可能变成 15 MB 的 GIF,而鼠标在静止窗口上移动的屏幕录制则依然很小。
GIF 的大小大致等于宽乘高再乘帧数,再按画面静止的程度打个折扣。这样各项设置的影响力就很容易排序。时长与帧数一一对应:四秒代替八秒,文件减半。宽度按平方削减像素:从 640 px 降到 320 px,每帧只剩四分之一的像素。帧率同样线性地减少帧数,而 12 fps 对手势和人脸的表现出奇地好。减少颜色的效果比很多人想的要小,通常只有 10% 到 30%,因为 LZW 更看重重复的图案,而不是调色板的大小。
抖动是最让人困惑的取舍。它用相近的调色板颜色打散成点,模拟调色板里缺少的色调,能掩盖天空和皮肤上的色带,却会带来 LZW 难以压缩的细小噪点。屏幕录制、卡通和界面演示本来就是纯色,应关闭抖动;实拍素材则保持开启。裁剪是最后一个手段:去掉静止的边框或黑边,可以在不影响主体的情况下减少像素。
- 第 1 步缩短片段每去掉一秒,对应的帧也一并去掉;2–6 秒足以涵盖大多数反应画面。
- 第 2 步减小宽度宽度减半,像素只剩四分之一;320–480 px 适合聊天窗口。
- 第 3 步降低帧率10–15 fps 能保持动作清晰可辨;8 fps 适合缓慢的屏幕录制。
- 第 4 步减少颜色并调整抖动图形用 64–128 色且不抖动;实拍素材用 256 色并开启抖动。
如何选择片段的起点和终点
大多数被分享的 GIF 都只有一个节拍:一个反应、一个进球、一次按钮点击和随后的画面。先把视频看一遍,心里默默计时,记下这个节拍开始的那一秒和明确结束的那一秒,再在两侧各多留几帧,免得循环显得被截断。如果原视频很长,可以先用视频剪切工具截出这一段,再处理这个短文件。在转换器里,直接在开始时间和结束时间中填入秒数或“分:秒”,效果相同,还省去单独的一步。
也要考虑 GIF 从哪里开始播放。许多聊天应用和邮件客户端在文件加载时会先显示第一帧,而 2007 到 2016 版的 Windows 版 Outlook 只显示第一帧,根本不会播放动画。请从一帧作为静态图片也说得通的画面开始,不要选在平移过程中的模糊画面上。如果 GIF 要表达的是一句字幕或一个结果,可以通过延长结束时间把最后一刻停留半秒,让观看者在循环重新开始前读完。
Tip拍摄素材时就要想着做 GIF:手机拿稳,让主体充满画面,避免变焦。同样的设置下,固定机位的画面可能只有手持画面的一半大小。
Discord、Slack、GIPHY、X和Reddit的GIF大小限制
在任何设置之前,GIF 的去向就决定了大小预算。Discord 在 2024 年把免费账户的上传上限降到每个文件 10 MB,这也是大多数人最先碰到的数字;Nitro Basic 提高到 50 MB,Nitro 提高到 500 MB。GIPHY 接受最长 15 秒、100 MB 的上传。X 接受最大 15 MB 的 GIF,并在上传时把它变成循环播放的视频;Reddit 接受最大 100 MB 的 GIF,但同样以视频形式播放。Slack 接受最大 1 GB 的文件,但自定义表情必须小于 128 KB,这意味着宽度要很小、循环要很短、颜色要很少。
电子邮件是个例外。Gmail 每封邮件允许 25 MB 的附件,Outlook.com 为 20 MB,但嵌入在新闻邮件或签名正文中的 GIF 应远小于 1 MB,这样在移动数据网络下邮件才能很快打开。在聊天中,目标应是上限的一半,而不是刚好卡在上限之下,因为接收者的网络可能很慢。下表数据在 2025 年有效;如果文件正好卡在边缘,请查看对应服务的帮助页面。
| 发到哪里 | 限制 | GIF 会怎样处理 |
|---|---|---|
| Discord 免费账户 | 每个文件 10 MB | 内嵌播放并循环 |
| Discord Nitro Basic / Nitro | 50 MB / 500 MB | 内嵌播放并循环 |
| Slack 消息 / 自定义表情 | 1 GB / 128 KB | 内嵌播放,除非观看者关闭了动画 |
| GIPHY 上传 | 15 秒,100 MB | 以 GIF、MP4 和 WebP 多种版本提供 |
| X(Twitter) | 15 MB | 转换为无声循环的 MP4 |
| 100 MB | 转换为视频播放 | |
| 嵌入电子邮件正文 | 建议小于 1 MB | Windows 版 Outlook 2007–2016 只显示第一帧 |
什么时候MP4、WebM、WebP或APNG比GIF更好
X 自 2014 年起就把每个上传的 GIF 转成 MP4,原因是带宽。同样五秒的内容,做成 GIF 有 4 MB,用 H.264 通常只需几百 KB,而且是完整色彩,不是 256 色,也没有抖动噪点。GIPHY 和 Tenor 也是如此:键盘里的 GIF 按钮通常取回的是小型 MP4 或 WebP。所以真正的问题不是如何做出最好的 GIF,而是你要发布的地方到底需不需要 GIF。
当目的地只能显示图片、不能显示视频时,才保留真正的 GIF:邮件正文、GitHub 的 README 或 issue、Jira 工单、维基、老论坛,以及必须在所有查看器里都能用的幻灯片。凡是能内嵌静音播放视频的地方(大多数社交网络和现代聊天应用),MP4 或 WebM 循环看起来更好,加载也更快。在你自己掌控的网页上,<video autoplay muted loop playsinline> 元素的表现和 GIF 一样,所占字节却只是零头。
还有两种图片格式介于两者之间。Google 的动画 WebP 支持数百万种颜色和有损压缩,自 2020 年的 Safari 14 起可以播放,所以现在所有主流浏览器都支持,不过浏览器之外的许多应用仍然不支持。APNG 在 PNG 的基础上加入了帧,保留完整色彩和真正的 alpha 透明,是 Apple 和 LINE 用于动态贴纸的格式。如果 GIF 已经存在,只是需要为一个能播放视频的网站缩小体积,把 GIF 转回 MP4 通常是最大的单项节省。
GIF
256 色,无声音,文件大,但在任何地方都能当作图片显示。
- 邮件正文、README、工单和维基
- 自动循环,没有播放按钮
- 四种格式中大小与画质比最差
MP4 或 WebM
完整色彩加运动压缩,体积往往只有十分之一。
- 可以保留声音
- 在大多数社交网站上静音自动播放
- 大多数邮件应用不会内嵌显示
动画 WebP 或 APNG
全彩动画图片;APNG 还支持平滑的透明效果。
- 所有主流浏览器都支持
- 桌面应用和邮件中的支持参差不齐
- APNG 常用于贴纸
视频转GIF的六种方法
手机无需额外应用就能做到。在 iPhone 上,“快捷指令”应用有一个制作 GIF操作,可接受视频或实况照片,而带有“循环”或“来回”效果的实况照片是拍摄素材的快捷方式。三星的“图库”应用在播放视频时会显示 GIF 按钮,可把当前可见的片段录成 GIF。GIPHY 应用及其网页版 GIF Maker 可以在一处完成裁剪、加字幕和上传,但除非只保存,否则结果是公开的。在 Photoshop 中,文件 > 导入 > 视频帧到图层最多可导入 500 帧,导出 > 存储为 Web 所用格式(旧版)则可在写出 GIF 时控制调色板和抖动。
若要完全掌控或批量处理,ffmpeg 的两遍调色板方法效果最干净:第一个滤镜扫描片段,根据实际颜色生成 256 色调色板,第二个把每一帧映射到该调色板上。下面这条单行命令从 0:02 开始截取五秒,缩放到 480 px 宽,采样 12 fps,并无限循环。在浏览器中,视频转GIF转换器做的是同样的调色板步骤,并提供宽度、帧率、颜色和抖动控件,而 MP4转GIF 页面打开时已预先选好 MP4。手机拍的 MOV 视频处理方式相同;如果某个应用不接受,请先读MOV 转 MP4 的方法。
iPhone
- 01在快捷指令中依次添加选择照片 → 制作 GIF → 存储到相册。
- 02运行后选择视频或实况照片;较长的片段请先在“照片”中裁剪。
- 03从“照片”的动画相簿中分享 GIF。
Android
- 01在三星图库中打开视频,播放时点按 GIF。
- 02拖动两端的手柄,选出需要的片段。
- 03点按保存;其他品牌手机请在 Chrome 中使用网页转换器。
桌面端
- 01在 Photoshop 中选择文件 > 导入 > 视频帧到图层。
- 02在时间轴面板中设置帧延迟,并把循环设为永远。
- 03用存储为 Web 所用格式(旧版)导出为 GIF,128–256 色。
ffmpeg -ss 2 -t 5 -i 视频.mp4 -vf "fps=12,scale=480:-1:flags=lanczos,split[a][b];[a]palettegen[p];[b][p]paletteuse" -loop 0 动图.gif
无缝循环与最后的画质检查
GIF 默认会无限循环,因为 Netscape 扩展里写入的重复次数为零,也就是无限次。把次数设为一,GIF 只播放一遍,并停在最后一帧,适合以一句话收尾的 GIF。更难的是让循环看不出接缝。可以找一段首尾帧几乎一样的画面,比如挥手后回到原位;也可以用往返播放先正放再倒放,这样不会出现跳变,代价是帧数增加一倍。
发送之前,请在浏览器标签页里按实际尺寸打开 GIF,不要只看缩略图,完整看三遍循环。检查画面里的文字在所选宽度下是否清晰,人脸有没有变成色块,节奏是否与视频一致。然后把文件大小与上表中的限制对比;如果很接近,就回到按时长、宽度、帧率、颜色的顺序继续削减。如果是较长的片段或带声音的内容,压缩视频发到 Discord 和邮件是更合适的方式。
天空、阴影和皮肤出现色带
调色板里的色阶不够用了。保持 256 色,并把抖动切换为 Sierra 或 Floyd–Steinberg;渐变较多的素材可以改发 MP4。
GIF 播放速度比视频快或慢
帧延迟以百分之一秒为单位存储。10、20、25 fps 可以整除;超过 50 fps 的帧率会被浏览器放慢。
画面中的文字看不清
把宽度提高到 640 px,并相应降低帧率;也可以在转换前先裁剪到有文字的区域。
循环重新开始时有明显跳变
把开始时间和结束时间移到相互衔接的帧上,或者开启往返播放并把范围缩短一半。
要点速览
- GIF 每帧最多 256 种颜色,没有音频,帧延迟以百分之一秒为单位。
- 文件大小取决于时长、宽度和帧率;先按这个顺序削减,再去动颜色。
- 建议 2–6 秒、320–640 px、10–15 fps;录屏类内容可以关闭抖动。
- Discord 免费版限 10 MB,X 为 15 MB,GIPHY 为 15 秒和 100 MB,Slack 表情为 128 KB。
- 在支持内嵌播放视频的地方,MP4 或 WebM 循环比任何 GIF 都更小、画质更好。
常见问题
视频转GIF用多少帧率最好?
大多数片段用 10 到 15 fps。快速的体育或游戏画面可以用 20 fps;缓慢的录屏 8 fps 就足够,文件也会小很多。
GIF动图应该多少秒?
两到六秒基本能涵盖各种反应、演示和精彩片段。超过十秒 GIF 会迅速变大,通常分享一段短 MP4 更合适。
GIF是无损格式吗?
GIF 内部的 LZW 压缩是无损的,但转换过程并非无损,因为视频中的数百万种颜色被缩减为每帧 256 色的调色板。色带和颗粒感就来自这一步。
为什么X会把我的GIF变成视频?
自 2014 年起,X 会把上传的 GIF 转成循环播放的 MP4,因为视频体积小得多,还能保留全部色彩。发布后仍会像 GIF 一样无声循环。
可以把YouTube视频做成GIF吗?
只能使用你设备上有、且有权使用的文件。可以从 YouTube Studio 下载自己上传的视频,或使用原始录像,然后剪切并转换。
GIF和动态WebP有什么区别?
动态 WebP 支持数百万种颜色、有损压缩和平滑透明,所以通常小得多。GIF 的兼容范围更广,包括邮件客户端和不支持 WebP 的旧应用。
继续阅读
Discord和邮件视频压缩方法(10 MB与25 MB) | UltKit
Discord免费版限10 MB,Gmail 25 MB,Outlook 20 MB。了解码率和时长如何决定文件大小、该改哪些设置,以及何时发链接比压缩更好。
Mina Sato · 2026年9月16日 · 11 分钟阅读
MOV转MP4怎么转:iPhone、Mac、Windows和在线方法
MOV和MP4几乎是孪生格式,iPhone视频在Windows和安卓上打不开,问题出在里面的HEVC编码。本文介绍免费转换方法、何时画质完全不变,以及常见错误的解决办法。
Mina Sato · 2026年10月5日 · 11 分钟阅读
2025年Instagram帖子和快拍尺寸:全部像素规格
2025年Instagram尺寸:帖子1080 × 1350(4:5)或1080 × 1080,横版1080 × 566,快拍和Reels 1080 × 1920,安全区250 px,头像320 × 320。
Jonas Weber · 2026年10月7日 · 11 分钟阅读