跳到主要内容

GIF to MP4

在浏览器中将 GIF 转为 MP4,文件无需上传

文件在本地处理,无需上传

输出说明GIF → MP4

转换后的视频将在这里显示,下载前请播放检查

转换结果直接下载到你的设备

一个动画周期会转为无声的 20 fps MP4,各帧停留时间可能变化,奇数边长会补一个像素,所测透明背景会变为白色

如何使用 GIF to MP4

  1. 选择一个 .gif,再点击“转换为 MP4”。
  2. 播放结果面板中的实际视频,检查动作、停顿与背景。
  3. 下载面板中的 MP4,需要透明度或循环设置时请保留原 GIF。

转换在浏览器本地完成,首次需要加载视频编码器,GIF 不上传。输出为无声 H.264、20 帧/秒,没有速度、重复次数、裁剪或背景控制。播放器显示真实编码 MP4,而非用原 GIF 代替。

四个 GIF 输入实际生成了什么?

2026 年 10 月 12 日用 Pillow 11.3.0 生成 4 个原创合成 GIF,在桌面内置浏览器转换并下载 MP4,再用本机 FFmpeg 7.1 完整解码。样本检验不等帧停留、循环元数据、透明清帧及单帧输入,不证明所有 GIF、设备或播放器的质量与速度,未记录引擎版本。

配对下载 · 2026 年 10 月 12 日测试
输入与用途GIF 尺寸 / 字节实际 MP4
各帧停留时间不同,带无限循环标记241 × 161 像素 · 4 帧
5,488 字节
242 × 162 像素 · 4,282 字节
1.00 秒 · 编码 20 帧
同样帧序,循环值 2241 × 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 滤镜可能复制或丢弃帧,因此停留时间极短的源画面可能丢失。本次没有测试这类更快的动画。

GIF 的 70/130/270/530 毫秒停留变为 MP4 的 50/150/250/550,总计均一秒。
实测帧停留,不保证时序完全相同;彩条代表四幅合成图,不是新帧。2026 年 10 月 12 日。

循环标记不会让这里的视频更长

两个奇数尺寸输入的图像与延迟相同,仅循环值 0、2 不同,GIF 元数据不同使哈希不同,但 MP4 逐字节相同,均 20 帧、1.00 秒。无限循环输入没变无限长,另一个也没变成多秒重复片段。

工具输出一个有限动画周期,普通预览控件不自动循环。网站或接收应用重播是另一个播放器设置;需要更长重复片段请在视频编辑器制作,本页不提供这类编辑,不要假定循环标记会被带入。

奇数边补齐,不裁剪

241 × 161 GIF 变为 242 × 162,规则把每边向上补到偶数,本样本右侧加一列、底部加一行,移动标记与边角仍在。结果面板报告输出尺寸,而非照抄较小的输入尺寸。

偶数输入仍为 240 × 160,不是缩放、方形裁剪或社媒比例预设。预览适配面板,不改变下载尺寸。需要精确对齐时请检查熟悉边缘,一行一列也可能影响布局。

241 × 161 GIF 保留画面并在右侧、底部各补一像素,输出 242 × 162 MP4。
为易读而夸大补边,实测每条奇数轴只增加一个像素。2026 年 10 月 12 日。

透明区域变白,旧色块被清除

透明样本将矩形移动到四个位置,帧间使用 disposal 2。解码 MP4 的空背景为白色,下一块出现时旧块消失,保存帧也显示位置已清除,观察基于编码视频而非浏览器背景。

输出为不透明 yuv420p H.264,不保留 GIF Alpha,也无背景选择。所测清帧方式对该样本有效,未测混合模式、特殊调色板或其他编码器。需叠加到彩色设计时请保留源图。

透明棋盘背景的 GIF 移动块变为白底不透明 MP4,旧块被清除。
棋盘表示源透明度,白色来自解码输出;依据 disposal-2 样本示意,2026 年 10 月 12 日。

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 解复用文档(英文) 说明了帧延迟和循环的处理方式。文档用于解释编码行为,下载文件则记录本工具对这些样本的实际转换结果。