RUST ยท NODE VIDEO COMPOSITING
GitHub โ
olive-rs โ Node-Based Video Compositor & Rational Timecode Editor in Pure Rust
olive-rs is a safe Rust re-architecture of the Olive non-linear video editor featuring a directed acyclic graph (DAG) node compositor. It evaluates shader-style color grading, procedural effects, and rational timecode timelines with frame-level cache invalidation and 32-bit float color precision.
$ cargo add olive-rs
Visual Node Graph Compositor
Interactive Directed Acyclic Graph (DAG) evaluating nodes topologically in real-time onto the HTML5 Canvas.
Active Node Parameters
TransformDistortNode
Active Directed Acyclic Graph (DAG) Pipeline
Topological Execution Order: Solid โ Transform โ Crop โ Merge โ Sequence Output
SolidGeneratorNode
Navy Background (0.05, 0.1, 0.25)
โ tex_out
โ
SolidGeneratorNode
Amber Box (0.95, 0.65, 0.15)
โ tex_out
โ
TransformDistortNode
Rot: 0ยฐ | Scale: 1.0x
โ tex_in | โ tex_out
โ
CropDistortNode
Left: 0%
โ tex_in | โ tex_out
โ
MergeNode
Blend: Normal
โ base / blend | โ tex_out
โ
SequenceNode
Master Output 640x360
โ tex_in
Non-Linear Timeline & Command History
Interactive multi-track editing, trimming, gap consolidation, and undo/redo state machine.
V1 (Video 1)
A1 (Audio 1)
Timeline History Log
Initialized timeline with 3 clips on V1 and A1
Olive Project Interchange (.ove / JSON)
Bi-directional serialization preserving sequences, tracks, blocks, and node graph connections.
Project Schema (Version 230220)
Headless CLI: olive-render
Render single frames or complete video sequences headlessly in CI/CD and cloud pipelines.
# Install olive-render via Cargo
cargo install --path .
# Render a composite 4K UHD frame headlessly
olive-render render-frame --output frame_001.png --width 3840 --height 2160 --frame 0
# Inspect an Olive project file
olive-render inspect --project project.ove.json
# Create a new Olive project template
olive-render new-project --output new_composition.ove.json