GIF 转 MP4

把沉重的 GIF 动图转成小巧的 MP4 视频,通常只剩十分之一的体积,播放还更流畅。这是整个站点上收益最高的一次转换。

转换器是编译成 WebAssembly 的 ffmpeg。你选第一个文件时它会下载一次(约 30 MB),之后就留在浏览器缓存里。

文件在你自己的浏览器里处理,不会上传。引擎本身有 30 MB,只在第一次使用时下载,之后都从浏览器缓存里取。

GIF 转 MP4 怎么用

  1. 1把 .gif 拖进上面的方框,或点击选择。
  2. 2帧被重编为 H.264 视频,没有任何要配置的东西。
  3. 3预览并下载 .mp4。对比那一行里的前后体积,会是个惊喜。

全站最划算的一笔交易

这里的大多数转换都有值得解释的取舍,这一个几乎没有:GIF 是被拉来当视频用的 1989 年图片格式,H.264 是真正的视频编码。把 GIF 动图重编成 MP4, 每一帧和它的节奏都保留,调色板抖动被轻微抹平,体积缩到五分之一到二十分之一。 各平台早就懂这个道理,所以你发到大多数社交平台的 GIF,都被悄悄变成了正是这种文件。

没有可配置项,因为没有值得做的决定:工具替编码器保证偶数尺寸、 帧节奏原封不动、索引写在文件开头,嵌进页面就能立即播放。

循环怎么办

唯一要诚实交代的事:GIF 把「永远循环」的指令带在文件里,MP4 没有等价字段, 循环是播放器的决定。在网页上这是 video 元素的一个属性, 社交平台对短视频默认循环。只有裸的桌面播放器会播一遍就停。 如果文件要去你自己控制的网页,muted autoplay loop playsinline 这串咒语 能让 MP4 的行为和当初的 GIF 一模一样,重量却只是零头。

省下的字节从哪来

GIF 对着一张固定调色板逐帧编码,完全没有「运动」的概念。 H.264 把比特花在差异上:静止的背景在第一帧之后几乎不花钱,平缓的运动也贵不了多少。 GIF 的抖动噪点越重,节省越夸张,因为抖动图案在 GIF 里是昂贵的噪声, 在这里被编码器温和地吸收掉。

转完可以直接在页面里播放,亲眼确认每一帧都在、节奏没变,再对比那一行的前后体积。 一切在你的浏览器本地运行,接受 500 MB 以内的文件, 不过说实话,那么大的 GIF 早就该做这次转换了。

常见问题

MP4 能小多少?
通常是戏剧性的。GIF 用 256 色调色板把帧几乎独立地存储;H.264 存的是帧与帧之间的紧凑差异。典型的 GIF 动图转出来能小 80% 到 95%,那一行会显示你这个文件的确切数字。这是罕见的几乎没有代价的转换,各平台对你发的 GIF 悄悄做的正是这件事。
MP4 会像 GIF 那样循环吗?
文件本身没有循环指令,因为 MP4 没有这个字段,循环是播放器的事。在所有用视频替代 GIF 的地方(社交信息流、带 loop 属性的网页),视频都无缝循环。放进一个裸播放器则播一遍就停。
画质会下降吗?
通常看起来更好而不是更差。GIF 已经付过这个格式最狠的代价了:256 色和粗糙的抖动。H.264 保住剩下的一切,还把抖动噪点轻微抹平。帧的节奏原样保留,动作完全一致。
GIF 能用,为什么还要转?
重量。网页里一张 10 MB 的 GIF 让每个访客都付出 10 MB,解码还很贵;同一段动画换成 600 KB 的静音自动播放 MP4,看起来一模一样,眨眼就加载完。页面、演示文稿和消息都变快,这就是现代网页把大 GIF 当 bug 处理的原因。
GIF 会被传到服务器吗?
不会。转换完全在你的浏览器里由编译成 WebAssembly 的 ffmpeg 完成,文件不离开你的设备。

更多免费工具