🎬 上传视频,选一段转 GIF

📁

点击选择文件,或拖拽到此处

单个视频文件,MP4 / WebM 支持最好,本地处理不上传

从视频的第几秒开始截取。

GIF 越长越大,2~4 秒最合适;上限 12 秒。

8 帧够流畅且体积可控;动作快可以提到 12。

宽度是体积的第一影响因素:320 发微信刚好,480 更清楚。

表情包选无限循环;教程演示可选播放一次。

色数越少体积越小,但渐变可能出现色带。

色数少时开抖动能缓解色块,但会略微增大体积。

🎬

上传视频,右侧显示转换结果。

📊 体积主要由什么决定

想让 GIF 变小,按顺序调这三个。

参数对体积影响建议
输出宽度最大(面积级)320 → 240 立竿见影
时长很大(帧数线性)控制在 2~4 秒
帧率中等8 帧足够,别超 12
色数 / 抖动较小256 色 + 抖动即可

💡 常见用途怎么调

先想清楚用在哪,再定参数。

用途时长 / 帧率宽度 / 循环
微信表情包2~3 秒 / 8~10240~320 · 无限循环
教程演示4~6 秒 / 6~8480 · 循环
网页装饰3~4 秒 / 8320 · 无限循环
汇报 PPT3~5 秒 / 8480 · 播放一次

⚠️ 本工具在浏览器本地完成解码、抽帧与 GIF 编码,不会把你的视频上传到任何服务器。
能否转换取决于浏览器是否支持该视频的编码格式:MP4(H.264)、WebM(VP8/VP9)通常没问题,MOV、AVI、RMVB 等格式常因浏览器无法解码而失败;受 DRM 保护的视频无法处理。
GIF 格式本身只有 256 色,色彩丰富的画面会出现色带或噪点,长视频转换耗时较长,请保持页面打开等待进度完成。

🎬

视频转 GIF

视频工具 完全免费 🌙 支持黑夜模式 🔒 本地处理不上传 🎬 逐帧抽取 💡 无大型依赖

群里发个搞笑片段、给文档配个操作演示、把视频切成表情包——都要"转成 GIF",但装软件太重、在线工具又要上传。
这个工具就解决这一件事:上传视频,选一段,本地抽帧编码成 GIF 下载。
它是怎么做的?
① 浏览器解码:用 <video> 元素解码(MP4 / WebM 支持最好);
② 逐帧抽取:按你设定的帧率定位时间点,把画面画到 Canvas 上取样;
③ 本地编码:用自研的 GIF89a 编码器(中位切分调色板 + 抖动 + LZW)合成动图——没有引入 30MB 的 ffmpeg.wasm;
④ 参数可控:起止时间、帧率、宽度、循环、色数、抖动都能调。
体积由什么决定(按影响力排序):
· 宽度(面积级,320 → 240 立竿见影);
· 时长(帧数线性增长,2~4 秒最合适);
· 帧率(8 帧足够);
· 色数与抖动(影响较小)。
必须说清的边界:格式支持取决于浏览器解码能力,MOV / AVI / RMVB 常失败;GIF 只有 256 色,色彩丰富的画面会有色带。

类别视频工具
实现方式浏览器 video 解码 + Canvas 抽帧 + 内置 GIF89a 编码器
导出格式GIF(动图)
运行方式纯前端本地,不上传

核心特性

起止时间可选
帧率 1~15
输出宽度可调
无限循环/播放一次
色数 32~256
抖动开关
进度可见
本地处理不上传

关于这个工具

处理流程:
① 载入视频:用 video 元素本地解码,读取时长与分辨率;
② 算时间点:按开始时间 + 时长 + 帧率算出每帧的时间点;
③ 逐帧抽取:定位到时间点 → 绘制到 Canvas → 取像素;
④ 编码:用内置 GIF89a 编码器(中位切分调色板 + Bayer 抖动 + LZW)合成;
⑤ 导出:生成 Blob 供预览与下载。
它不做:不做转码(不支持的格式无法处理)、不加文字水印、不压缩已有 GIF。格式支持取决于浏览器解码能力。

怎么用

  1. 第 1 步
    上传视频(建议 MP4 / WebM)。
  2. 第 2 步
    设开始时间与截取时长,控制在 2~4 秒。
  3. 第 3 步
    帧率选 8,宽度选 320(发微信刚好)。
  4. 第 4 步
    点「开始转换」,按进度提示等待。
  5. 第 5 步
    预览满意后点「下载 GIF」;太大就调小宽度。

更新记录

  • v1.0 2026-09-28 工具上线:支持起止时间 / 帧率 / 输出宽度 / 循环 / 色数 / 抖动调节,浏览器本地逐帧抽取并编码为 GIF 动图,显示帧数、尺寸与体积。未引入 ffmpeg.wasm 等大型依赖(复用内置 GIF89a 编码器),适配黑夜模式。

常见问题

为什么提示「无法解码这个视频」?
说明浏览器不支持这个视频的编码格式。
MP4(H.264)与 WebM(VP8/VP9)通常没问题;MOV、AVI、RMVB 这类容器常因缺少解码器而失败。
解决办法:先用转换工具转成 MP4(H.264)再上传;受 DRM 保护的视频无法处理。
GIF 太大怎么办?
按影响力依次调:
① 输出宽度:320 → 240(面积级减小,最有效);
② 时长:4 秒 → 2.5 秒;
③ 帧率:10 → 8;
④ 色数:256 → 128。
微信表情包建议 240~320 宽、2~3 秒,体积通常能控制在 2MB 以内。
画面出现色块 / 噪点怎么办?
GIF 格式本身只有 256 色,色彩丰富或有渐变的画面必然出现色带。
两个办法:
① 开启抖动(默认开),能明显缓解色块;
② 色数别调太低,保持在 128 以上。
对画质要求高的场景,建议直接用视频而非 GIF。
能转换多长的视频?
单次最多截取 12 秒。GIF 不适合承载长片:帧数多了体积会迅速膨胀,且编码耗时明显变长。
建议控制在 2~4 秒;需要处理长片段请分段转换。
视频会上传吗?为什么不用 ffmpeg?
不会上传。解码、抽帧、编码全部在你自己的浏览器里完成,文件不会离开你的设备。
ffmpeg.wasm 体积约 30MB,加载慢且需要额外跨域隔离配置;本项目已有成熟的 GIF89a 编码器(图片转 GIF 在用),直接复用即可,没必要为转换背一个 30MB 的包。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码