OpenCut 是一个跑在浏览器里的免费开源视频编辑器,定位为 CapCut 替代。它靠最朴素的价值主张走红:一个尊重隐私、在本地处理视频、无水印、无账号墙的编辑器。这个承诺是它超过 55k star 的原因。但诚实的说法是:OpenCut 正处在一次彻底重写的中途,所以你今天拿到的和路线图承诺的是两回事。本文把两者分开。
今天能用什么、将来会有什么
opencut.app 上的 classic 版是可用的编辑器:多轨时间线、文本图层、无水印的本地导出、字幕生成。new 版(在 new.opencut.app 开发)是一次完整重写、意在取代它,其路线图很有野心:一个在 web/桌面/移动间共享的 Rust 核心、插件优先架构、编辑器 API、面向 AI agent 集成的 MCP server、用于批量渲染的 headless 模式。把路线图读作意图,而非已交付的功能。版本号(截至 2026 为 v0.1 到 v0.3)对成熟度很诚实。
技术栈与本地运行
web 应用是 Vite 上的 React 19(不是 Next.js),配 TanStack Router、Tailwind 4,以及 Turbo 加 Bun 的 monorepo,部署在 Cloudflare Workers。
bun install
bun run dev:web # 在 Vite 开发服务器上跑 web 应用
bun run build
多数用户直接打开 opencut.app 即可。自托管不是主路径;这首先是个 web 应用,桌面在重写的计划里。
诚实的成熟度核对
这是一篇”胜过 README”的页面欠你的。OpenCut 令人兴奋且很早期。开放 issue 显示真实的、当下的局限:
- 文本图层可能无法在画布上实时更新,输入变了却冻结成默认文本(#818)。
- 一个 carousel 组件因卸载时没移除监听器而泄漏内存(#821)。
- 在 Linux 上,导出大视频可能因内存压力被系统杀掉(#812)。
- 开箱不支持 CJK 字体(#817),web 导出分辨率被报告固定在 160x160 且无设置项(#816)。
对一个重写中的 v0.x 编辑器,这些都不意外,但它们说出真相:OpenCut 是个有前途的项目、一个进行中的日常工具,还不是成品级的 CapCut 替代。项目也说明在重写期间不接受外部 PR,所以你暂时也不容易自己打补丁绕过这些。
适合与不适合
适合:看重隐私和”无水印”的浏览器端快速剪辑,以及任何想跟进或参与一个开源视频编辑器演进的人。不适合:需要 CJK 文本、高分辨率导出和今天就铁打稳定的专业或赶 deadline 的工作:在重写落地前,成熟工具是更稳的选择。
横向对比
| 项目 | 形态 | 备注 |
|---|---|---|
| OpenCut-app/OpenCut | 浏览器编辑器,CapCut 式 UX | 本地处理,重写中 |
| remotion-dev/remotion | React 组件转视频 | 编程化、成熟、有许可条款 |
| redotvideo/revideo | 动画驱动的视频库 | 代码优先、较小 |
| Shotcut | 桌面编辑器(FFmpeg、C++) | 成熟,非浏览器 |
Remotion 和 revideo 是代码优先(把视频写成代码);OpenCut 是给想要 CapCut 界面的人用的 GUI 编辑器,而非编程模型。Shotcut 是不需要浏览器时的成熟桌面选项。OpenCut 押的是 UX 熟悉度加本地隐私。
值得知道的背景
OpenCut 由 fal.ai 赞助,围绕重写有活跃社区。从头重写(而非迭代 classic 版)是定调的产品决策:它用短期的精致换一个跨平台 Rust 核心和插件架构。这能否回报,是让这个仓库值得观察的开放问题。
FAQ
OpenCut 免费吗? 是。OpenCut 是 MIT 许可的开源项目,在浏览器里运行,导出无水印、无需账号。
OpenCut 是好的 CapCut 替代吗? 精神上它是领先的开源选项,但截至 2026-06 它是个重写中的 v0.x 项目,文本渲染、内存、大文件导出都有开放 bug。有前途,但还不是成品级替代。
OpenCut 能离线、在本地处理视频吗? 能,本地处理是核心承诺:编辑和导出都在客户端完成,这正是带动它走红的隐私卖点,而重写计划做一个在 web、桌面、移动间共享的 Rust 核心。
OpenCut 支持中文/CJK 字体吗? 暂时开箱不支持(#817),web 导出分辨率被报告固定在很低的值(#816)。今天就要 CJK 文本或高分辨率导出的话,等重写。
相关阅读
要编程化、面向 agent 的视频生成,见 heygen-com/hyperframes:它走相反路子:写 HTML、渲染视频、为 agent 而非时间线 UI 而造。