OpenCut-app/opencut-classic
GitHub: OpenCut-app/opencut-classic
一款已归档的开源本地视频编辑器,以隐私保护和免费使用为核心卖点,定位为 CapCut 的替代方案。
Stars: 172 | Forks: 131
# OpenCut(旧版)
这是最初的 OpenCut 代码库。它已归档且不再维护。
重构工作正在 https://github.com/opencut-app/opencut 进行。
## 为什么?
- **隐私**:您的视频保留在您的设备上
- **免费功能**:CapCut 大多数基础功能现在都需要付费
- **简单**:人们希望使用易于上手的编辑器——CapCut 已经证明了这一点
## 项目结构
- `apps/web/`:Next.js Web 应用程序
- `apps/desktop/`:使用 GPUI 构建的原生桌面应用程序(进行中)
- `rust/`:平台无关的核心:GPU 合成器、效果、蒙版和 WASM 绑定。我们正在积极将业务逻辑从 TypeScript 迁移到这里。
- `docs/`:架构和子系统文档
## 快速开始
### 前置条件
- [Bun](https://bun.sh/docs/installation)
- [Docker](https://docs.docker.com/get-docker/) 和 [Docker Compose](https://docs.docker.com/compose/install/)
### 设置
1. Fork 并 clone 代码库
2. 复制环境文件:
# Unix/Linux/Mac
cp apps/web/.env.example apps/web/.env.local
# Windows PowerShell
Copy-Item apps/web/.env.example apps/web/.env.local
3. 启动数据库和 Redis:
docker compose up -d db redis serverless-redis-http
4. 安装依赖并启动开发服务器:
bun install
bun dev:web
应用程序将在 [http://localhost:3000](http://localhost:3000) 上可用。
`.env.example` 包含与 Docker Compose 配置相匹配的合理默认值——它应该开箱即用。
### 桌面端设置
桌面端是可选的。如果您只开发 Web 应用程序,可以完全跳过此步骤。
如果您想为 `apps/desktop` 做准备,请参阅 [`apps/desktop/README.md`](apps/desktop/README.md)。这是一个两步设置:首先是 Rust 工具链,然后是桌面端原生依赖。
### 本地 WASM 开发
仅在您编辑 `rust/wasm` 并希望 Web 应用程序使用您的本地构建而不是已发布的 package 时才需要。
**前置条件** —— 在进行任何其他操作之前,请先安装这些内容:
```
# Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 构建 WASM package
cargo install wasm-pack
# 在文件更改时重新运行构建,由 bun dev:wasm 使用
cargo install cargo-watch
```
1. 从代码库根目录构建一次 package:
bun run build:wasm
2. 注册生成的 package 以进行链接:
cd rust/wasm/pkg
bun link
3. 将 `apps/web` 链接到本地 package:
cd apps/web
bun link opencut-wasm
4. 在您工作时进行更改后重新构建:
bun dev:wasm
要将 `apps/web` 切换回已发布的 package,请运行:
```
cd apps/web
bun add opencut-wasm
```
### 使用 Docker 自托管
要在 Docker 中运行所有内容(包括应用程序的生产构建):
```
docker compose up -d
```
应用程序将在 [http://localhost:3100](http://localhost:3100) 上可用。
## 许可证
[MIT 许可证](LICENSE)

标签:Rust, WASM, 可视化界面, 搜索引擎查询, 桌面应用, 网络流量审计, 自动化攻击, 视频编辑, 请求拦截