音视频

视频转 GIF

把视频截成短 GIF 或动态 WebP,全程在浏览器里完成,不会上传文件。选好片段,再设置帧率、宽度和画质;GIF 会用两遍调色板生成,动态 WebP 通常更省体积。

  • 文件始终留在本机,转换引擎只在选中文件后下载
  • GIF 用两遍调色板生成,也可以导出动态 WebP

把视频文件拖到这里

文件留在你的机器上,不会被上传

可读取 MP4、MOV、WebM、MKV、AVI、M4V,以及 FFmpeg 能识别的大多数格式。

还没有选择视频

选一个视频文件开始。转换引擎要等你选完文件才会下载。

输出

功能简介

好 GIF 的关键是选一段短而明确的画面。这里的控件让你在编码前把范围和文件体积控制好。

  1. 01

    先框选,再编码

    拖着进度条找位置,把两个滑块拖到想要的那几秒,点一下就能试播确认。工具只会渲染选中的区间;定位时可能需要从前一个关键帧开始读取一小段内容。

  2. 02

    GIF 的两遍调色板

    这里导出的 GIF 使用一份最多 256 色的片段调色板,选哪 256 种直接决定成品好看还是难看。工具会先分析整段画面、生成贴合它的调色板,再照着这份调色板重新编码。

  3. 03

    还可以导出动态 WebP

    同一段画面换成动态 WebP,通常能比 GIF 小很多,也不受 256 色调色板限制。实际比例取决于素材和设置;只要目标平台支持,它往往是更合适的选择。

  4. 04

    真正左右体积的那几个参数

    帧率、宽度、颜色数、抖动,各占一个独立控件,旁边实时显示这套设置会产生多少帧。没有那种拿一根「质量」滑块糊弄四个不同决定的做法。

  5. 05

    倒放、来回播和倍速

    可以让画面倒着走,可以正放完再退回来,也可以按 0.5 到 2 倍速播放。倍速是在重采样帧率之前生效的,所以输出是照着加速后的时间轴重新取帧,而不是从原片里隔帧扔。

  6. 06

    本地处理

    FFmpeg 编译成 WebAssembly 后在标签页里运行。不上传、没有服务器强加的体积上限、不用排队、不加水印、也不用注册账号。

如何使用

四步,从一个视频文件到一张能用的动图。

  1. 01

    把视频拖到页面上,或者用文件选择器。转换引擎从这一刻开始下载——大约 31MB,只需要下这一次。

  2. 02

    把两个滑块拖到想要的那一段,点「播放选中段」确认没截偏。较长的视频默认只选中开头十秒,所以就算你想全都要,也得先把区间拉开。这一步宁短勿长。

  3. 03

    选 GIF 还是动态 WebP,然后定帧率和宽度。下面那行字会告诉你这套设置一共多少帧——最终体积基本就跟着这个数走。

  4. 04

    点「开始生成」。GIF 会先跑一遍调色板、再跑一遍编码;跑完看一眼循环预览,确认无误就下载。

功能说明

这些细节决定生成的动图能不能直接拿去用。

  • 双滑块框选区间,带播放指针,选中段可以就地试播
  • GIF 走两遍流程,调色板按当前这段画面单独生成
  • 动态 WebP 输出,质量可在 10 到 100 之间调
  • 帧率从 8 到 24 fps
  • 宽度预设 240 到 800 px,也可以保持源宽度
  • 调色板可选 256、128、64 或 32 色
  • 抖动可选 Bayer、Floyd–Steinberg,或者干脆不抖
  • 倍速 0.5× 到 2×,另有倒放和来回播
  • 可选一直循环或只播一次
  • 开跑之前就能看到帧数和输出尺寸
  • 引擎下载时显示真实字节进度,不是随便动的假进度条
  • 生成过程中可以随时取消

适合哪些场景

哪些场合该用 GIF,以及为什么在本地做这件事值得。

  1. 提缺陷单和 PR

    三秒钟的 GIF 抵得上一整段文字描述,还能省掉一轮「你到底点的哪儿」。GitHub、GitLab、Jira、Linear 都能在评论里直接把 GIF 播起来,讨论在哪儿,画面就在哪儿。

  2. 不该上传的录屏

    内部后台的录屏里往往带着客户名、工单号或者测试环境地址。在标签页里转完,它就不会被送进某个你根本没读过留存条款的转换站。

  3. 产品动态和版本说明

    一小段循环把新功能演一遍,比截图说得清楚,又不需要播放器、不需要控件、不需要托管。只截关键的那一次交互,体积就小到能直接内嵌。

  4. 文档和 README

    GIF 在 Markdown 里就是一张普通图片,在 npm、PyPI 和各家 Git 托管上都会自己动。宽度控制在 640 以内,手机上才不会把版面撑破。

  5. 聊天工具和社交平台

    Slack、Discord、Teams 都能内嵌播放 GIF,而它们的上传上限大多远低于一段没剪过的素材。剪短再降到 12–15 fps,通常就够过线了。

  6. 邮件和演示文稿

    内嵌视频得指望对方有播放器。GIF 可以作为不支持视频时的替代,但邮件客户端未必会播放动画,所以第一帧要能独立表达重点。

延伸阅读

同一个引擎也管着视频文件的另一半。如果你要的是声音而不是画面,可以用 音频转换器。如果一张静帧就能把事情说清楚,那它比动图轻得多——压缩静图可以用 图片压缩。而当那段动画本质上是界面而不是实拍画面时,优化过的 SVG 在这件事上完胜 GIF,整理 SVG 可以用 SVG 优化压缩

使用建议

这些取舍能让动图看得清楚,同时把体积压住。

  • 先剪,而且要狠——时长比任何其他设置都贵,因为多一秒就是多一整批帧
  • 帧率从 12–15 fps 起步;低于 10 会开始卡顿,高于 20 多半是在为没人察觉的顺滑买单
  • 宽度按投放位置定:聊天消息 480 px 够用,README 用 640 px,再宽基本只换来体积
  • 录屏素材先把颜色数降到 64——界面上都是大片纯色,本来就用不满 256 色,这一刀省得最多
  • 实拍内容保持 Bayer 抖动,纯色界面的录屏干脆关掉抖动;只有在渐变或照片上肉眼看到色带时,才换 Floyd–Steinberg
  • 目标平台认动态 WebP 就优先用它,GIF 留给那些还只认 GIF 的地方
  • 长选段别用倒放和来回播:它们要把所有帧同时压在内存里,正放则不必

边界与注意事项

这个工具刻意不做什么,以及它在哪里会吃力。

  • 引擎首次使用时约 31MB。之后会走缓存,但在一个全新的浏览器配置里,第一次生成要承担这次下载。
  • WebAssembly 是 32 位的,而且源文件在读取阶段是整个压在内存里的,所以视频大到 250MB 上下就开始不可靠了。
  • 手机浏览器分给标签页的内存远少于台式机,会更早失败,倒放和来回播尤其容易崩。
  • 这里的生成是单线程的。这是有意为之:多线程需要跨源隔离,会影响页面的其他部分。
  • 它只做截取和转换,不做编辑。裁画面、加字幕、画箭头、拼接多段,都不在范围内。
  • GIF 没有声音,这里导出的动态 WebP 同样没有。音轨会被丢弃——如果你要的正是声音,请用音频转换器。
  • 部分 AV1 视频可能无法在当前浏览器端引擎中解码。遇到读取失败时,可先转为 H.264、VP9 或 WebM 后再处理。
  • 有些容器 FFmpeg 读得很顺,浏览器却播不了,比如封装 HEVC 的 MKV。这时按时间码照样能剪,缺的只是那块会动的预览。
  • 有 DRM 保护的文件读不了——任何不破解保护的工具都读不了。

常见问题

把视频做成 GIF 时常见的问题。

怎么把 MP4 转成 GIF?

把 MP4 拖到页面上,把两个滑块拖到想要的那一段,点「开始生成」即可。默认的 15 fps、480 px 宽适合大多数录屏。结果会出现在右侧,循环方式和保存下来的文件完全一致,旁边还标着体积。

我的视频会被上传吗?

不会。引擎是编译成 WebAssembly 的 FFmpeg,运行在你的浏览器标签页里。文件从磁盘读进标签页内存,结果再写回成一个下载文件。整个过程没有任何文件内容经过网络——你可以在生成时打开开发者工具的网络面板自己确认。

GIF 为什么这么大?怎么才能变小?

GIF 是逐帧独立压缩的,也不像视频编码那样能大幅丢弃颜色信息,所以体积几乎跟帧数和单帧面积成正比。按效果从大到小依次是:剪短、降帧率、减宽度、再把颜色数砍到 64。宽度砍一半,像素量就只剩四分之一,这一刀通常比调调色板管用得多。

帧率和宽度该怎么选?

录屏素材从 12–15 fps、480 px 宽起步比较稳妥,要放进 README 就用 640 px。只有快速移动的画面——比如甩鼠标、快速滚动——才值得上 20–24 fps;而那种慢悠悠的界面走查,降到 8–10 fps 更划算,反正体积比顺滑重要。

该选 GIF 还是动态 WebP?

动态 WebP 通常比同一段 GIF 小得多,颜色和透明度能力也更强;实际体积仍取决于素材和设置。目标是在现代浏览器中展示时,优先选 WebP。投放环境老旧或不可控、上传表单只收 GIF,或者邮件动画是否播放不确定时,选 GIF,并让第一帧也能表达重点。

GIF 看着发花、有色带,怎么办?

GIF 每帧只有 256 种颜色,渐变和照片只能靠近似还原。这个工具会针对你这段画面单独生成调色板,而不是套一份通用的,大部分问题到这一步就没了。如果还有色带,把颜色数调回 256,抖动换成 Floyd–Steinberg;如果反过来是画面发麻、像撒了噪点,那多半应该干脆关掉抖动——录屏这类纯色画面经常是这种情况。

一段最长能转多久?

没有硬性上限,但超过 30 秒工具就会提醒你,因为 GIF 的体积是随帧数一路涨上去的。超过 450 帧左右——比如 15 fps 下的 30 秒——通常该换成 WebP,或者干脆用视频文件。限制最紧的是倒放和来回播,它们必须把所有帧都缓存完才能开始写入。

为什么第一次生成要等这么久才开始?

转换引擎约 31MB,在你第一次选择文件时下载。之后它会被长期缓存,所以再次访问和后续生成都能立即开始。这次下载被刻意推迟到你真的选了文件之后,所以只是打开页面读读文字不会消耗你的流量。

能裁画面或者加字幕吗?

这里不行。这个工具只在时间上做截取,不在画面上做加法。裁剪和加字幕都属于编辑动作,需要各自的预览和撤销;把两个半成品硬塞进一个转换器里,结果往往是两头都做不好。

手机上能用吗?

短素材通常没问题,长的就经常不行——手机浏览器分给标签页的内存远少于台式机,用完标签页会被系统直接杀掉,最先崩的就是倒放和来回播。超过几秒钟的素材,用台式机浏览器更稳妥。

更多相关工具

更多在本地、只在浏览器里处理媒体和图片的工具。