Skip to content
waterblowerPublic

About

An Open Source Video Editor that is real

Topics

Resources

Stars

53 stars

Watchers

0 watching

Forks

Latest commit

 

History

453 Commits

Folders and files

Repository files navigation

OpenCut

OpenCut is an experimental desktop video tool written in Rust with GPUI. The rust workspace contains shared libraries under rust/libs and these applications under rust/apps:

  • editor: a non-destructive, folder-based multi-track editor.
  • player: a debugging player for a video, audio, or timeline file.
  • cli: a headless tool for probing, validating, and exporting timelines; see its README.

The project is an active prototype rather than a production-ready editor.

Devlog: https://www.youtube.com/playlist?list=PLRz1nfZl0jMU

Requirements

  • Latest stable Rust (edition 2024)
  • Existing FFmpeg development libraries in rust/vendor/ffmpeg-8.1.2/; do not build FFmpeg locally
  • On macOS: Xcode command line tools and pkg-config (brew install pkg-config)

Build and run

Run commands from rust. Each command selects a platform explicitly:

cargo editor-mac                 # Windows: cargo editor-win
cargo player-mac <file>          # Windows: cargo player-win <file>
cargo build-editor-mac
cargo build-player-mac
cargo test-mac                   # Windows: cargo test-win

Editor, build, and test aliases accept extra Cargo flags such as --release. Player aliases already include Cargo's -- separator, so pass the file directly. For a release player run, use cargo run --config .cargo/cli.toml -p player --release -- <file> on macOS. These are native host commands, not cross-compilation commands. Editor aliases load .cargo/macos.toml or .cargo/windows.toml; player aliases use the FFmpeg-only .cargo/cli.toml or .cargo/ffmpeg-windows.toml. Small shell runners set the runtime library paths for the vendored FFmpeg.

For other Cargo operations, pass the platform configuration:

cargo check --config .cargo/macos.toml -p editor   # Windows: .cargo/windows.toml

Documentation

  • Design spec: user stories and acceptance criteria for the editor, including supported files, shortcuts, and project data.
  • Rust style: naming, syntax, and source organization.
  • OpenCut conventions: GPUI, timeline, and vendored-code rules.
  • Architecture: state, events, execution, and mutation boundaries.
  • General rules: workflow, validation, and general correctness.
  • UI design: design new UI first as static pages in design/system.
  • Thoughts: essays on the project.

Development

cargo test-mac # Windows: cargo test-win
cargo check --config .cargo/macos.toml --all-targets --all-features
cargo clippy --config .cargo/macos.toml --all-features

Use .cargo/windows.toml on Windows. Plain cargo test loads no platform configuration; use test-mac or test-win for the editor and its native media dependencies.

About

An Open Source Video Editor that is real

Topics

Resources

Stars

53 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages