加载视频
选择一个文件或把它拖到上传区。首次访问会一次性下载约 31 MB 的 WebAssembly 视频引擎。
加载视频并以胶片条形式浏览。把任意一帧保存为全分辨率静态图,或标记起始帧和结束帧,把那一段导出为循环的动态 GIF。编译为 WebAssembly 的 FFmpeg 在你的浏览器中完成所有工作,因此视频绝不上传。
MP4、MOV、WebM、MKV、AVI 及大多数其他格式
视频绝不离开你的设备加载视频后,帧会显示在这里。
加载视频以查看它的帧。
视频解码与 GIF 编码运行在 ffmpeg.wasm 上,这是 FFmpeg 的一个 WebAssembly 构建。其封装层采用 MIT 许可证,自托管的核心构建采用 GPL-2.0-or-later; 其源代码由 ffmpeg.wasm 项目发布。73hi 与 FFmpeg 项目无关联。
没有上传排队,没有命令行,也无需安装软件。
选择一个文件或把它拖到上传区。首次访问会一次性下载约 31 MB 的 WebAssembly 视频引擎。
帧连同时间戳水平排列。点击某一帧即可选中它。
保存帧以全分辨率导出那一刻。点击靠后的一帧标记范围,然后创建 GIF。
与视频编辑器所用相同的滤镜,运行在 WebAssembly 中。
查看均匀间隔的帧,或让 FFmpeg 挑选场景切换,每一帧都标注了时间戳。
胶片条只是预览。保存某一帧会重新读取那个时间戳,并写出视频的原始像素。
每个 GIF 都会得到一个由它自己的帧生成的调色板,这让渐变和肤色远比固定调色板干净。
解码与编码在你设备上的一个 Web Worker 中进行。视频绝不上传到服务器。
输入支持取决于在你浏览器中运行的 FFmpeg 构建。
| 方向 | 格式 | 说明 |
|---|---|---|
| 输入 | MP4、MOV、WebM、MKV、AVI | 最常见的容器可直接解码;冷门编解码器可能需要先转换 |
| 静态图输出 | PNG、JPEG | 以原始帧分辨率导出 |
| 动画输出 | GIF | 循环、调色板优化、宽 240 到 640 像素 |
性能:单线程的 WebAssembly 构建比桌面 FFmpeg 慢得多。以 10 fps、宽 320 像素编码几秒钟的短片段只需数秒,而较长或高分辨率的范围可能需要一分钟或更久。进度条移动时请保持浏览器标签页打开。
不会。视频被写入编译为 WebAssembly 的 FFmpeg 的内存文件系统,后者在你浏览器中的一个 Web Worker 里运行。解码、帧提取与 GIF 编码全部在你的设备上完成。
工具会在你第一次打开页面时下载 FFmpeg WebAssembly 核心,约 31 MB。浏览器会缓存它,因此之后访问会立即启动。工作过程中不会再下载其他内容。
任何该 FFmpeg 构建能解码的格式,涵盖 MP4、MOV、WebM、MKV、AVI 以及大多数其他常见容器。对特定编解码器的支持仍取决于该构建,因此如果某个文件失败,请先尝试把它转换为采用 H.264 的 MP4。
单线程的 WebAssembly 构建比桌面上的 FFmpeg 慢好几倍。请把片段保持简短,使用每秒 8 到 12 帧、宽度 320 到 480 像素,以获得更快的结果。
点击你想要的第一帧,然后点击靠后的一帧。这两个标记定义了范围,它们之间的帧会被高亮,GIF 会从起始时间戳编码到结束时间戳。
能。胶片条只显示小预览,但保存帧会从视频中重新读取那个确切的时间戳,并以全分辨率导出为 PNG 或 JPEG。
会。GIF 在写入时启用了循环,因此它会在浏览器和聊天应用中持续重复。