Node-based video compositing in Aphelion Editor
In a node-based compositor you describe an image as a chain of operations rather than a stack of layers. Aphelion Editor takes that model and applies it to video: every node receives a frame, returns a frame, and the graph is what gets cached, previewed and exported.
The evaluation model
A node declares typed sockets — a Frame input, a Frame output, or a Mask — and a set of properties. Wiring an output into an input establishes a dependency. The editor walks that dependency graph once per frame, in topological order, so a node is evaluated after everything it depends on and never twice.
Because the order is known ahead of time, the editor can also work out which nodes are unreachable from the active Viewer and skip them entirely, which is why a large graph with many dead branches still previews at the cost of only the live path.
Every node result is cached per frame and keyed by the node's own inputs and properties. Change a property on one node and only that node and its downstream consumers are recomputed; the rest of the graph is served from cache.
What ships in the node library
172 nodes · 21 categories
The built-in library covers the operations a compositor needs before you reach for a plugin. Categories the editor registers at launch:
- Input/Output
- Audio
- Generator
- Depth Generator
- Color
- Creative
- Filter
- Stylize
- Distort
- Effects
- Compositing
- Transform
- Timing
- Depth
- Keying
- Roto
- Tracking
- Math
- Values
- Logic
- Utility
A compositing session, start to finish
- Bring in media. An input node points at a video file, image sequence or still. It decodes on demand and reports the media's frame count, rate and dimensions to the timeline.
- Build the branch. Wire the source into whatever it needs — a keyer, a colour correction, a transform — and add a Viewer node at the end of the branch you want to look at.
- Preview. The Viewer is what runs. Its resolution and proxy settings decide how much work each frame costs while you are scrubbing and playing back.
- Animate. Any numeric property can hold keyframes or be driven by another node, so a value can follow a tracker, an expression or the timeline.
- Export. Export renders the same graph at full resolution to MP4 (H.264) or a PNG sequence, from the active Viewer.
Tutorial: keying and compositing an element · User guide: the workspace and node graph
When the library is not enough
If you need an operation the built-in nodes do not cover, the plugin SDK exposes the same base classes the built-in effects use. A custom effect is a Python class that receives a frame and returns a modified one, and it is registered by dropping the module into the plugins folder — no rebuild of the editor required.
This is the main practical difference between a compositor with a fixed effect set and one you can extend: the ceiling is a Python file rather than a feature request.
Aphelion Plugin SDK: install, API surface and packaging · How Aphelion discovers and loads plugins
pip install aphelion-plugin-sdk