fei-yu
(非鱼)
1
前言
最近写公众号,需要做一些视频演示,可是手动上传视频还得设置封面,等待审核,远没有上传图片方便。
于是想到一个一种方案是将视频转 GIF ,这样就可以保证演示的效果,又能快速发布公众号文章了。于是网上找到一个现成的项目,但是有些问题,就基于这个项目修改了一下,然后部署到 cloudflare 里。分享给需要的朋友。
简介
一个基于浏览器的视频转 GIF 工具项目地址,使用 ffmpeg.wasm 在浏览器中直接处理视频转换。
网站 demo:https://video2gif.520233.best/
本项目基于video-to-gif二次开发
功能特性
完全在浏览器中处理 - 无需上传到服务器,保护隐私
丰富的转换设置 - 可调节帧率、尺寸、时间范围
拖拽上传 - 支持拖拽或粘贴视频文件
实时预览 - 视频预览和转换进度显示
历史记录 - 自动保存转换历史,支持下载
隐私保护 - 所有处理都在本地完成
效果展示:

浏览限制与问题
- 大文件无法处理:因在内存中运行,转换大视频容易报错。
- 浏览器兼容性差:依赖 SharedArrayBuffer ,在部分浏览器(如 IE )不可用。可以使用caniuse查看浏览器是否支持 SharedArrayBuffer

1 Like
kat
(kat)
3
用一个 UI 录屏试了下这个工具,转 GIF 的流程比 ScreenToGIF 简单,也更快,文件也小一些。
不过有个小问题:文件的路径或名称似乎不能有空格或特殊字符,不然会报错「路径不存在」,把文件名改成纯英文和数字才成功。
还有就是转换完一个文件或者上传一个文件之后,无法返回首页,想上传新文件只能刷新页面。
1 Like
fei-yu
(非鱼)
5
忘记贴项目地址了
代码我开源到https://github.com/Spute/video-to-gif了,欢迎star
有兴趣的朋友也可以自己部署下
修复了文件名带中文的bug
sgyyabd
(sgyyabd)
6
感谢分享!请问为什么前几帧都是黑的呢?起始时间往后也是这样,测试了两个视频,是我设置不对吗 
1 Like
fei-yu
(非鱼)
8
这是一个功能,会在视频开头添加一个0.05秒的淡入过渡效果,让GIF从完全透明逐渐变为不透明,使画面过渡更加平滑自然。
我在下一个迭代加个开关来由用户选择是否使用这个效果吧