ByteNoteByteNote

字节笔记本

2026年6月9日

ffmpeg-webCLI:浏览器端视频编辑器,30+ 操作全部本地处理

API中转
¥120

ffmpeg-webCLI 是一个基于 ffmpeg.wasm 的浏览器端视频编辑器,支持 30+ 种视频操作。所有处理完全在本地浏览器中通过 WebAssembly 完成,无需上传文件到服务器,真正做到隐私优先。

项目简介

ffmpeg-webCLI 是一个开源的 JavaScript 项目,由 Tejaswi Gowda 开发维护。截至目前,该项目在 GitHub 上已获得 281 stars,完全使用 JavaScript 编写。项目已部署为 PWA 应用,支持离线使用。

核心亮点:零上传、零服务器、零数据收集——所有视频处理都在你的设备上完成。

核心特性

  • 零上传隐私优先 — 所有视频处理完全在本地设备完成,文件不会发送到任何服务器
  • 30+ 视频操作 — GIF 制作、格式转换、压缩、裁剪、特效、滤镜等一应俱全
  • 离线优先 PWA — 首次加载后完全离线工作,可安装为原生应用
  • 屏幕常亮 — 视频处理期间自动保持屏幕唤醒,防止设备休眠
  • 实时预览 — 实时显示输出大小估算和设置调整效果
  • 多格式支持 — MP4、WebM、MKV、MOV、AVI、GIF、MP3、AAC、WAV、OGG、FLAC、JPG、PNG
  • 高级功能 — 原生 ffmpeg 命令行、字幕嵌入、视频拼接、画中画、音频混合
  • 高性能 — 使用 Web Workers 后台处理,UI 始终流畅响应

支持的操作

基础操作

操作说明
GIF 制作任意视频转 GIF,支持帧率设置,两阶段调色板生成
格式转换MP4(H.264)、WebM(VP9)、MKV、MOV、AVI 互转
视频压缩CRF 质量滑块(18 近无损 → 51 最大压缩)
视频裁剪时间轴滑块设置起止点,与其他操作可叠加
缩放压缩修改输出尺寸并一次压缩完成
音频提取提取音轨为 MP3、AAC、WAV、OGG、FLAC
静音处理移除音频轨道,保留纯视频
变速0.25× – 4× 变速,音频音调同步保留
旋转/翻转90° 旋转、水平/垂直翻转
裁剪画面指定区域裁剪帧画面

进阶操作

操作说明
缩略图提取从任意时间点提取单帧为 JPEG/PNG
视频倒放视频和音频同时倒放
淡入淡出独立设置淡入/淡出时长
亮度/对比度/饱和度精调画面效果,支持一键灰度
元数据剥离移除 GPS、相机型号、时间戳等嵌入信息
字幕嵌入软字幕 mux,支持 .srt/.vtt/.ass,零画质损失
音量调节0–4× 音量增益控制
循环播放2–50 次循环拼接,流复制零重编码
Logo/水印PNG 透明水印叠加,支持位置和尺寸调节
音频混合背景音乐混入,独立音量控制
视频拼接两段视频自动拼接,支持不同分辨率/编码
左右分屏水平/垂直并排布局,适合对比/反应视频
画中画小窗口叠加第二段视频,支持位置和大小
媒体信息显示完整编解码器和容器元数据

特效操作

操作说明
黑边填充(Letterbox)填充黑边到目标比例(16:9、9:16、1:1、4:3 等)
音频标准化EBU R128 响度标准化(-14/-16/-23 LUFS)
降噪hqdn3d 三维降噪(轻/中/重)
回旋镖效果正放 + 倒放循环的经典 boomerang 效果
锐化/模糊unsharp 掩码锐化 / boxblur 模糊
原生 ffmpeg 命令完整命令行访问,含一键命令示例库

技术栈

  • ffmpeg.wasm — WebAssembly 版本的 FFmpeg,浏览器端视频处理核心
  • Web Workers — 后台线程处理,保持 UI 流畅
  • Service Worker — 静态资源和 CDN 缓存,支持离线使用
  • Screen Wake Lock API — 处理期间防止设备休眠
  • SharedArrayBuffer — 需要 COOP/COEP 安全头支持
  • Progressive Web App — 可安装为桌面/移动端原生应用

安装指南

前置要求

  • Node.js
  • Git

安装步骤

bash
git clone https://github.com/tejaswigowda/ffmpeg-webCLI
cd ffmpeg-webCLI
npm install
node server.js

服务会设置必要的 Cross-Origin-Opener-PolicyCross-Origin-Embedder-Policy 安全头(ffmpeg.wasm 的 SharedArrayBuffer 所需)。

也可以用任何支持自定义头的静态服务器:

bash
npx serve docs

快速开始

  1. 访问 ffmpeg-webCLI 在线应用
  2. 点击 Load ffmpeg 下载 WebAssembly 核心(约 31MB,首次下载后缓存)
  3. 拖放或选择视频文件
  4. 可选:用时间轴滑块设置裁剪范围
  5. 选择操作并调整参数,实时查看输出大小估算
  6. 点击 Process Video,ffmpeg 在浏览器 Web Worker 中运行
  7. 预览结果并下载

PWA 离线使用

  • 安装:浏览器地址栏点击安装按钮 → 添加到桌面
  • 离线:首次在线加载 ffmpeg 后,后续完全离线工作
  • 常亮:处理期间自动保持屏幕唤醒

支持 Chrome、Edge、Firefox、Safari 桌面端,以及 Chrome、Firefox、Samsung Internet 安卓端。

项目信息

分享: