RUST ยท NODE VIDEO COMPOSITING

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
GitHub โ†—

Visual Node Graph Compositor

Interactive Directed Acyclic Graph (DAG) evaluating nodes topologically in real-time onto the HTML5 Canvas.

Composited Output Canvas
30 fps 640x360
Frame 0 (00:00:00;00)
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