Video
Load and play back video files.
What it does
Video loads an MP4, MOV, WebM or similar video file and outputs the current frame as an image, decoded on demand in the background. The frame shown is driven by the timeline by default, or pinned to a specific frame number. Speed and Loop Mode shape how the video's own frame range maps onto the timeline: forward, reverse, loop, hold, or ping-pong. Frame number, frame count, frame rate, duration and pixel dimensions are reported alongside the image, plus the audio track if the file has one.
Video also accepts a sequence of images in place of a file. Wire an image array into Sequence and it plays back as an image sequence, overriding the file path.
When to use it
A video file brought into the graph as a live, playable image
A specific frame scrubbed rather than the timeline followed, with Frame Mode on Custom
A clip that should loop, play once, hold on its first or last frame, play backwards, or ping-pong, set with Loop Mode and Speed
A folder of stills or a rendered image sequence, wired into Sequence
The clip's audio downstream, taken from the Audio output
| Parameter | Type | Default |
|---|---|---|
file_path | String | "" |
frame_mode | String | "Timeline" |
custom_frame | Number | 0 |
speed | Number | 1 |
loop_mode | String | "Loop" |
start_offset | Number | 0 |
interpolation | String | "Bilinear" |
wrap_mode | String | "Clamp" |
opacity | Number | 1 |
sequence | OneOf([RasterArray]) | — |
reload | OneOf([Boolean, Number]) | — |
position | Vec3 | (0, 0, 0) |
rotation | Vec3 | (0, 0, 0) |
scale | Vec3 | (1, 1, 1) |
anchor | Vec3 | (0, 0, 0) |
Gotchas
Playback runs from a background decode thread and normally refreshes itself when the source file's modification time changes on disk. Trigger Reload to force a reload immediately rather than waiting on that automatic check, for example after overwriting the file at the same path.
Custom Frame only has an effect when Frame Mode is set to Custom. Otherwise the timeline drives which frame is shown.
Connecting Sequence overrides File Path completely, which is why a node with an image array wired in stops reading the file.
Negative Speed values play the clip in reverse. Combined with Ping Pong loop mode and a Start Offset, the frame maths gets hard to follow. Test with Speed at 1.0 first, then adjust.
Worked example
Add a Video node and set File Path to your clip.
Leave Frame Mode on Timeline so playback follows the project timeline, or switch to Custom and set Custom Frame to freeze on one frame.
Set Loop Mode to Loop for continuous playback, or Ping Pong to bounce back and forth at the ends.
Use Start Offset to shift where in the source clip playback begins.
Take Frame into your compositing chain; take Audio into an audio output if you need sound.
See also
Audio File · Gaussian Splat · Camera Input · Rasters (images)