Nodes — Oak Video Editor Manual

Nodes

Oak uses a node-based compositing and effects system. Every clip, effect, transition, and compositing operation is represented as a node in the node graph. By connecting node inputs and outputs, you can flexibly control video and audio.

Node Graph Basics

  • Node: The smallest processing unit. A node has several inputs and produces an output through its own computation.

  • Input / Output: A node’s output can feed another node’s input. After connecting, data flows downstream frame by frame.

  • Context: Sequences, Tracks, Blocks, and NodeGroups can all act as contexts, used to organize and frame a group of nodes. Double-clicking a clip enters that clip’s node context.

  • Keyframes: Most numeric, color, and vector inputs can vary over time using keyframe animation.

Common Built-in Node Categories

Project / Media / Timeline

Node

Purpose

Footage

References an external media file; the starting point for most clips.

Sequence

The timeline object, containing video, audio, and subtitle tracks.

Track

A container for same-type tracks, mixing all clips on it.

Clip

A media block on the timeline.

Gap

An empty block used as a placeholder.

Subtitle

A subtitle block.

Merge

Composites two texture layers.

Generators

Node

Purpose

Solid

Generates a solid-color image.

Text

Generates a text layer.

Polygon / Shape

Generates vector shapes.

Noise

Generates a noise texture.

Value

Outputs float, integer, vector, color, or matrix values.

Geometry / Distort

Node

Purpose

Transform

Position, rotation, scale, anchor, auto-scale, interpolation.

Crop

Crops the image.

Flip

Flips horizontally or vertically.

Corner Pin

Four-corner distortion.

Mask

Creates and feathers a mask.

Wave / Ripple / Tile / Swirl

Various distortion effects.

Color / Grading

Node

Purpose

OCIO LUT

Loads and applies .cube / .3dl LUT files.

Three-Way Color

Shadow / Midtone / Highlight color wheels.

OCIO Grading Primary (Linear)

Contrast / Offset / Exposure / Saturation controls.

Display Transform

Explicit Display / View / Direction conversion.

Transitions

Node

Purpose

Cross Dissolve

Fades between two clips.

Dip to Color

Transitions to a chosen color.

Filters / Keying

Node

Purpose

Blur

Box / Gaussian / Directional / Radial blur.

Mosaic

Pixelates the image.

Stroke / Drop Shadow

Outline and shadow effects.

Chroma Key

Color-based keying.

Color Difference Key

Finer keying control.

Despill

Removes green-screen spill.

Math / Time / Audio

Node

Purpose

Math

Performs arithmetic on inputs.

Trigonometry

Trigonometric operations.

Time Input / Time Remap / Time Offset

Control time-related animation or remap clip time.

Volume

Adjusts audio volume.

Pan

Adjusts left/right channel balance.

Working in the Node Editor

Adding Nodes

  • Right-click on empty space in the Node Editor → Add, then choose a category and node.

  • You can also drag footage from the Footage Manager directly into the Node Editor to create a Footage node automatically.

Connecting and Disconnecting

  • Drag from a node’s output port to another node’s input port to create a connection.

  • Drag an existing connection’s input end to empty space to disconnect.

  • Drop a new node onto an existing connection to insert it automatically.

Selecting and Moving

  • Box selection, Ctrl / Shift multi-selection.

  • Arrow keys nudge the selected node position.

Expanding and Collapsing

  • Node items can be expanded to show all connectable inputs.

  • Array inputs (such as a Track’s Blocks input) show each element when expanded.

Grouping

  • Select multiple nodes → right-click → Group to create a NodeGroup.

  • The group exposes input passthroughs and an output passthrough; double-click to edit inside.

  • Right-click the group → Ungroup to restore the original layout.

Deleting

  • Select a node or connection and press Delete.

  • Deleting a node automatically disconnects all its connections.

Keyframes

  • In the Param Editor, the circle next to a parameter toggles keyframing.

  • Once keyframing is enabled, moving the playhead and changing the parameter records a keyframe.

  • Keyframe types include Linear, Hold, and Bezier.

  • The Curve Editor panel provides finer control over keyframe curves.

OpenFX Plugin Nodes

Oak 0.3+ supports OpenFX (OFX) plugins:

  • On startup, Oak scans the OFX plugin path and registers ImageEffectPlugin instances as nodes.

  • OFX plugins appear in the Add menu grouped by category.

  • OFX parameters are automatically mapped to Oak types (integer, float, boolean, color, vector, choice, button, etc.).

  • In the node graph, OFX plugin nodes show only texture inputs to keep the node compact; adjust scalar parameters in the Param Editor.

  • The project file records plugin identifiers and paths; plugins are registered before nodes are instantiated on load.

Node Presets and Copying

  • Ctrl+C / Ctrl+V copies selected nodes along with their dependency subgraph.

  • There is currently no standalone node preset library; use copy/paste or pack effects into a NodeGroup for reuse.

Limitations and Notes

  • kPushButton parameters are not yet wired to real plugin actions (OFX button parameters are displayed only).

  • OFX audio-generator / frame-generator plugins are not fully supported.

  • The Node Editor can display at most 10 contexts at once.

  • OCIO-based color nodes require a valid project color-management configuration.