如何上手 OpenCut:开源视频编辑器本地跑通的 10 分钟完整路径
【免费下载链接】OpenCutThe open-source CapCut alternative项目地址: https://gitcode.com/GitHub_Trending/ap/OpenCut
OpenCut 是一款免费、开源(MIT 协议)的视频编辑器,定位是 CapCut 的开源替代方案,目标是同时覆盖 Web、桌面和移动端。这篇指南带你从克隆仓库、搭好开发工具,到把本地编辑器服务跑起来,顺带讲清楚项目结构长什么样、代码该从哪里读起——适合想零门槛折腾一套开源视频编辑器环境的新手。
⚡ 先弄清你要跑的是什么:一个仓库,三个应用
OpenCut 是 monorepo 结构,clone 下来你会看到三块东西:
apps/web:浏览器端编辑器,React + TanStack Router 写的,这是你平时打交道的主体apps/api:一个轻量的 API 服务,源码就一个入口文件 apps/api/src/index.tsapps/desktop:用 Rust + GPUI 写的原生桌面端,apps/desktop/README.md 里写得很直白——目前非常早期,跑起来只是一个会打开的窗口
根目录的.prototools文件统一锁定了 moon、bun、rust 三个工具链的版本,所有人(包括 CI)装出来的环境是一致的。
有一点要提前说清楚:OpenCut 正在整体重写。仓库里的 Web 编辑器目前是骨架状态——服务能起来、页面能打开,但路由页上还写着 "Coming soon"。线上官网跑的仍是经典版,重写版就绪后会逐步接管。所以本文的定位是「把开发环境跑通 + 看懂项目形态」,而不是完整的剪辑功能教学。
开发服务器跑通的 3 个步骤
第 1 步:克隆仓库
git clone https://gitcode.com/GitHub_Trending/ap/OpenCut cd OpenCut第 2 步:装任务运行器 proto,让它自动装齐工具链
OpenCut 用 MoonRepo 出品的 proto 做任务管理,README 里给了 Linux/macOS/WSL 和 Windows 两种一行安装命令。装好后,在仓库根目录执行:
proto use moon run web:devproto use会按.prototools的声明自动装好正确版本的 moon、bun、rust,你不用操心版本对齐;紧接着moon run web:dev会拉起 Web 开发服务器,终端打印出 localhost:5173 后,浏览器打开这个地址就能看到本地 OpenCut 页面。
第 3 步:确认起来了
页面能打开就算成功。如果 Windows 上 proto 的 shim 脚本拒绝执行,先在 PowerShell 里跑一次Set-ExecutionPolicy -Scope CurrentUser RemoteSigned放开本地脚本权限,再回来重试。
三个服务各管各的端口,怎么算"起来了"一目了然
| 命令 | 地址 | 作用 |
|---|---|---|
moon run web:dev | localhost:5173 | 编辑器 Web 服务 |
moon run api:dev | localhost:8787 | API 服务 |
moon run desktop:dev | 无(cargo run) | 打开桌面端窗口 |
只关心 Web 端的话,跑web:dev一条就够了。桌面端有两个前置条件要注意:首次构建要从源码编译 GPUI,比较慢,属正常现象;Linux 上还需要先装好 Vulkan 相关系统包(libvulkan1、Wayland/X11 开发库等),细节都在 apps/desktop/README.md 里。
编辑器能做什么:changelog 里确认过的能力清单
虽然仓库在重写,但 changelog/0.3.0.md 完整记录了经典版已经交付的功能,新版本只会在此基础上叠加。整理下来大致是五块:
- 剪辑与时间轴:波纹编辑(ripple)模式;右键片段选 "Expand keyframes",可以把每个动画属性展开成独立轨道行;Shift/Ctrl 配合拖框是"加选"而不是"替换选择"
- 动效:关键帧动画系统,带曲线图编辑器(拖贝塞尔手柄调缓动),关键帧还能跨元素复制粘贴
- 特效与合成:逐片段模糊、7 种遮罩(矩形、椭圆、星形、爱心、电影黑边等)、混合模式、贴纸面板
- 调整:宽高可独立缩放、速度与音量控制(变速带"保持音调"选项)、自定义画布尺寸、预览放大/平移
- 字幕与导出:自动转写字幕,也支持导入 transcript 文件生成字幕;浏览器端导出带音频的 MP4
这份清单就是项目能力边界的"事实清单",比任何介绍文案都准。
📂 代码该从哪读起:三个入口
- Web 前端:路由在 apps/web/src/routes/ 下,
index.tsx是首页、editor.tsx是编辑器;通用 UI 组件在同级components/ui/目录,按 shadcn 风格一个组件一个文件拆 - API 服务:就 apps/api/src/index.ts 一个入口,同目录的
wrangler.jsonc是 Cloudflare Workers 的部署配置,想自托管可以参考 - Rust 核心:新版的渲染器换成了编译到 WASM 的 Rust/wgpu 合成器;时间统一用每秒 120,000 个整数 tick 表示(
MediaTime类型),保证帧对齐不出浮点误差。"桌面、移动、浏览器同一套代码"这个目标,地基就在这里
新手最容易栽的两个坑 💡
- 浏览器弹出 GPU 渲染提示:如果浏览器不支持 GPU 加速渲染,编辑器会显示通知并建议换浏览器。这是刻意做的环境检查,不是报错,按提示换 Chromium 系浏览器即可。
- 磁盘空间不足,项目会消失:项目由浏览器本地存储,磁盘吃紧时可能被清理。0.3.0 版本已经让编辑器主动向浏览器申请了存储保护,但如果你长期做长项目,还是留一块磁盘余量比较稳妥。
OpenCut 现在正处在"重写推进、功能持续沉淀"的阶段,节奏很快,值得盯紧。顺路翻一遍 changelog/ 目录,每条发布说明本身读起来就很顺,也是这个项目最准确的路线图。
【免费下载链接】OpenCutThe open-source CapCut alternative项目地址: https://gitcode.com/GitHub_Trending/ap/OpenCut
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考