如何使用 GIF to MP4
- 选择一个 .gif,再点击“转换为 MP4”。
- 播放结果面板中的实际视频,检查动作、停顿与背景。
- 下载面板中的 MP4,需要透明度或循环设置时请保留原 GIF。
转换在浏览器本地完成,首次需要加载视频编码器,GIF 不上传。输出为无声 H.264、20 帧/秒,没有速度、重复次数、裁剪或背景控制。播放器显示真实编码 MP4,而非用原 GIF 代替。
四个 GIF 输入实际生成了什么?
2026 年 10 月 12 日用 Pillow 11.3.0 生成 4 个原创合成 GIF,在桌面内置浏览器转换并下载 MP4,再用本机 FFmpeg 7.1 完整解码。样本检验不等帧停留、循环元数据、透明清帧及单帧输入,不证明所有 GIF、设备或播放器的质量与速度,未记录引擎版本。
| 输入与用途 | GIF 尺寸 / 字节 | 实际 MP4 |
|---|---|---|
| 各帧停留时间不同,带无限循环标记 | 241 × 161 像素 · 4 帧 5,488 字节 | 242 × 162 像素 · 4,282 字节 1.00 秒 · 编码 20 帧 |
| 同样帧序,循环值 2 | 241 × 161 像素 · 4 帧 5,488 字节 | 242 × 162 像素 · 4,282 字节 1.00 秒 · 输出哈希相同 |
| 透明背景上的移动色块 | 240 × 160 像素 · 4 帧 4,856 字节 | 240 × 160 像素 · 2,724 字节 1.00 秒 · 白色背景 |
| 停留 500 毫秒的单张图片 | 240 × 160 像素 · 1 帧 1,365 字节 | 240 × 160 像素 · 2,264 字节 0.50 秒 · 编码 10 帧 |
总时长相同,单帧停顿仍可能变化
输入四帧分别停留 70、130、270、530 毫秒,合计 1,000;解码 MP4 对应 50、150、250、550 毫秒。同为一秒,但绿色和蓝色更短、橙色和粉色更长,只看总时长会漏掉变化。
编码固定为 20 fps,每帧占用 1,000 ÷ 20 = 50 毫秒,四段实测停留时间分别对应 1、3、5、11 个编码帧。这是重复已有画面,不会生成中间动作。FFmpeg fps 滤镜可能复制或丢弃帧,因此停留时间极短的源画面可能丢失。本次没有测试这类更快的动画。
循环标记不会让这里的视频更长
两个奇数尺寸输入的图像与延迟相同,仅循环值 0、2 不同,GIF 元数据不同使哈希不同,但 MP4 逐字节相同,均 20 帧、1.00 秒。无限循环输入没变无限长,另一个也没变成多秒重复片段。
工具输出一个有限动画周期,普通预览控件不自动循环。网站或接收应用重播是另一个播放器设置;需要更长重复片段请在视频编辑器制作,本页不提供这类编辑,不要假定循环标记会被带入。
奇数边补齐,不裁剪
241 × 161 GIF 变为 242 × 162,规则把每边向上补到偶数,本样本右侧加一列、底部加一行,移动标记与边角仍在。结果面板报告输出尺寸,而非照抄较小的输入尺寸。
偶数输入仍为 240 × 160,不是缩放、方形裁剪或社媒比例预设。预览适配面板,不改变下载尺寸。需要精确对齐时请检查熟悉边缘,一行一列也可能影响布局。
透明区域变白,旧色块被清除
透明样本将矩形移动到四个位置,帧间使用 disposal 2。解码 MP4 的空背景为白色,下一块出现时旧块消失,保存帧也显示位置已清除,观察基于编码视频而非浏览器背景。
输出为不透明 yuv420p H.264,不保留 GIF Alpha,也无背景选择。所测清帧方式对该样本有效,未测混合模式、特殊调色板或其他编码器。需叠加到彩色设计时请保留源图。
MP4 不一定更小
奇数四帧 GIF 从 5,488 降至 4,282 字节,单帧则从 1,365 增至 2,264;后者一幅 500 毫秒图被编码成 10 帧。换格式可能增加小文件开销,不能预测其他动画的压缩率。
四个输出均为无音轨、20 fps H.264,视频编码中色值略变,不支持无损或恢复细节的声明。边缘、文字或颜色重要时请播放实际结果对比,下载成功不等于适合所有接收服务。
错误与可复现证据
50 字节改名 .gif 文本在文件头检查失败,64 字节截断 GIF 解码失败,有效 4097 × 96、1,132 字节 GIF 超边长失败。选择新输入或报错均清除旧结果。当前上限 20 MiB、每边 4096、合计 1600 万;测了边长,未测另两项阈值。编码执行超时为两分钟,设备内存同样重要。
下载 输入尺寸、延迟、大小与 SHA-256, 完整解码结果及输出哈希, 文件哈希清单, 原创样本生成脚本 和 复现说明。配对 MP4 和提取的帧也包含在验证材料中。手机端只检查了浏览器布局,没有在实体手机上测试转换;本次也未运行其他转换工具,因此这些样本只说明 Filepetal 的表现,不代表优于其他编码器。
GIF to MP4 常见问题
为什么视频停了,不会循环?
工具导出一个有限周期,两种循环值都生成同一秒 MP4。重播需要播放器循环设置或重复画面的片段,本页没有重复次数控制。
为什么停顿感觉变了?
20 fps 使用 50 毫秒步长,70/130/270/530 变为 50/150/250/550。总时长仍一秒,请看动作而非只看时长。
为什么透明背景不见了?
所测透明 GIF 变为不透明白底 MP4,本工具不保留 Alpha,也无背景选择,需要透明动画请保留 GIF。
为什么宽或高多了一个像素?
奇数尺寸补到下一个偶数,241 × 161 变为 242 × 162,240 × 160 不变,这是加边而非裁剪。
MP4 能比 GIF 大吗?
能,1,365 字节单帧 GIF 生成 2,264 字节 MP4,请比较实际大小,不保证更小或更清晰。
技术参考
FFmpeg fps 官方文档(英文) 描述复制和丢帧;其 GIF 解复用文档(英文) 说明了帧延迟和循环的处理方式。文档用于解释编码行为,下载文件则记录本工具对这些样本的实际转换结果。