Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Video Editor

浏览器端视频编辑器,fork 自 OpenCut(MIT License)。 核心编辑功能完全在浏览器本地运行,无需后端服务。


功能特性

  • 多轨时间线:拖拽、缩放、多轨编辑
  • 裁剪与拼接:分割、合并多段视频
  • 字幕系统:支持 .srt / .ass 导入,多轨字幕,字体/字号/颜色/描边/位置可调
  • 变速播放:0.5x - 2x 变速,支持保持音调
  • 音频编辑:静音、音画分离、多轨混音、音量独立调节
  • 图片素材:作为独立片段或贴纸
  • 自定义画布:9:16 / 16:9 / 3:4 / 1:1 / 自定义尺寸
  • 导出:MP4 (H.264) / WebM (VP9),可选质量与是否含音频
  • 本地存储:IndexedDB + OPFS,数据不上传

界面预览

编辑器界面


技术栈

技术
前端框架 Next.js 16 + React 19
状态管理 Zustand 5
UI 组件 Radix UI + Tailwind CSS 4
拖拽 @hello-pangea/dnd
音频处理 soundtouchjs(变速保持音调)+ wavesurfer.js(波形)
媒体导出 mediabunny
WASM 核心 opencut-wasm(Rust 编译)
包管理 Bun 1.2+
构建 Turbo

与原版 OpenCut 的差异

本仓库基于 OpenCut 做了以下裁剪:

移除的功能 原因
AI 语音转字幕(Whisper) 不需要 AI 生成能力,字幕手动输入或导入
Freesound 音效素材库 第三方服务,需 API key
Marble CMS 集成 第三方服务,需自建后端
BotId 机器人检测 第三方服务

保留的功能:字幕文件导入(.srt / .ass)、所有核心编辑功能。

Upstash Redis 保留,但使用开源的 serverless-redis-http 本地模拟器,无需注册 Upstash 账号


快速开始

Video Editor 是纯前端应用,核心编辑功能完全在浏览器本地运行,无需后端服务、数据库或 Redis

前置要求

  • Bun 1.2+(或 Node.js 18+)

本地开发

# 1. 克隆仓库
git clone https://github.com/cckais/video-editor.git
cd video-editor

# 2. 复制环境变量(可选,纯前端开发可不配)
cp apps/web/.env.example apps/web/.env.local

# 3. 安装依赖
bun install

# 4. 启动开发服务器
bun dev:web

# 访问 http://localhost:3000

Windows 用户注意:Bun 在 Windows 上安装依赖时可能崩溃,可改用 npm install --legacy-peer-deps,然后用 npx next dev 启动。

生产部署

Video Editor 支持三种生产部署方式,详见 部署文档.md

  • 方式 A:静态导出 + Nginx(推荐,最轻量)
  • 方式 B:Docker 部署(基于 apps/web/Dockerfile,Next.js standalone 模式)
  • 方式 C:Tauri 桌面客户端(Windows .exe 便携版)

桌面应用(可选)

桌面应用是可选的,如果你只需要 Web 版本,跳过此部分。

# 安装 Rust 工具链
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 参见 src-tauri/README.md

部署约束

  • next.config.ts 配置了 output: "export",构建产物是纯静态文件,无需 Node.js runtime
  • 用任意静态文件服务器即可托管(Nginx / Caddy / Cloudflare Pages / Vercel 等)
  • 服务器需配置 COOP/COEP 头(SharedArrayBuffer 要求,视频编辑必需):
    Cross-Origin-Opener-Policy: same-origin
    Cross-Origin-Embedder-Policy: require-corp
    

项目结构

video-editor/
├── apps/
│   ├── web/          # Next.js Web 应用
│   └── desktop/      # GPUI 桌面应用(开发中)
├── rust/             # 平台无关核心:GPU 合成器、特效、WASM 绑定
└── docs/             # 架构文档

集成到 AI 导演工作台

本项目可独立部署,也可作为 AI 导演工作台 的子项目集成。集成方式参考主项目 README 的"子项目集成"章节。


致谢

本项目 fork 自 OpenCut,感谢 OpenCut 团队的开源贡献。


License

MIT

About

浏览器端视频编辑器,fork 自 OpenCut,核心功能本地运行

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages