全站最划算的一笔交易
这里的大多数转换都有值得解释的取舍,这一个几乎没有:GIF 是被拉来当视频用的 1989 年图片格式,H.264 是真正的视频编码。把 GIF 动图重编成 MP4, 每一帧和它的节奏都保留,调色板抖动被轻微抹平,体积缩到五分之一到二十分之一。 各平台早就懂这个道理,所以你发到大多数社交平台的 GIF,都被悄悄变成了正是这种文件。
没有可配置项,因为没有值得做的决定:工具替编码器保证偶数尺寸、 帧节奏原封不动、索引写在文件开头,嵌进页面就能立即播放。
循环怎么办
唯一要诚实交代的事:GIF 把「永远循环」的指令带在文件里,MP4 没有等价字段, 循环是播放器的决定。在网页上这是 video 元素的一个属性, 社交平台对短视频默认循环。只有裸的桌面播放器会播一遍就停。 如果文件要去你自己控制的网页,muted autoplay loop playsinline 这串咒语 能让 MP4 的行为和当初的 GIF 一模一样,重量却只是零头。
省下的字节从哪来
GIF 对着一张固定调色板逐帧编码,完全没有「运动」的概念。 H.264 把比特花在差异上:静止的背景在第一帧之后几乎不花钱,平缓的运动也贵不了多少。 GIF 的抖动噪点越重,节省越夸张,因为抖动图案在 GIF 里是昂贵的噪声, 在这里被编码器温和地吸收掉。
转完可以直接在页面里播放,亲眼确认每一帧都在、节奏没变,再对比那一行的前后体积。 一切在你的浏览器本地运行,接受 500 MB 以内的文件, 不过说实话,那么大的 GIF 早就该做这次转换了。