Video Sources
Video sources let you play back clips as a source in your chain — loop them, trim them, blend them with anything else. This guide covers what files work, what to do when a file won’t play, and how to prepare clips for best results.
What works out of the box
Lightbridge uses the system’s built-in video decoder, which works great with the common web-friendly formats:
- MP4 with H.264 — the safest choice. Nearly every camera, phone, screen recorder, and editor exports this. If in doubt, use this.
- WebM with VP9 — smaller file sizes, supports transparency (alpha channel) if the file was exported with it.
- MP4 with AV1 — newer, smaller files, a bit slower to decode. Good on recent Macs.
What usually doesn’t work
Files from editing suites and broadcast workflows. These are designed for editing quality, not playback:
- ProRes (any variant — 422, 422 HQ, 4444) — common output from Final Cut, Premiere, DaVinci Resolve.
- DNxHD / DNxHR — Avid and Resolve editing codecs.
- Uncompressed or “RGB” movies — huge files from screen recorders and motion graphics apps.
- 10-bit 4:2:2 or 4:4:4 video — high-end codec settings used in color grading.
- HEVC / H.265 — sometimes works, sometimes doesn’t, depending on your Mac.
If you try to load one of these, Lightbridge will pop a red notification saying the video codec isn’t supported. That means the file needs to be converted first.
Converting a file that won’t play
The easiest tools for most people:
- HandBrake — free, open source, Mac/Windows. Drag your file in, pick the “Fast 1080p30” or “Fast 4K60” preset, click Start. The output will play fine in Lightbridge.
- QuickTime Player — on Mac, open the file and choose File > Export As > 1080p (or 4K). Writes a compatible MP4.
- CloudConvert — in the browser, no install. Good for one-off clips under a few hundred MB.
- Adobe Media Encoder / DaVinci Resolve export — choose the “H.264” preset, set “YUV 4:2:0 8-bit” if offered.
File size and resolution
There’s no hard file-size limit — Lightbridge streams video directly, so even multi-gigabyte files work as long as they’re in a format the decoder understands.
Resolution:
- 1080p (1920×1080) — smooth on any Mac, plenty sharp for most venues.
- 4K (3840×2160) — great on Apple Silicon (M1/M2/M3/M4), hardware-accelerated.
- Above 4K — works, but decoding moves to software, which can drop frames. Downscale to 4K before importing.
Frame rate: 24, 30, and 60fps all work. Match the frame rate of your content; don’t “upgrade” a 30fps clip to 60fps — it just makes the file bigger without adding smoothness.
In / Out points
Every video source has In Point and Out Point sliders in the Playback group:
- The readout shows seconds once the video has loaded (e.g.
12.34 s). - Drag to set the trim range — the video will loop (or bounce / play-once) within that range.
- Both points respect the Play Mode: Loop, Bounce, or Once.
Transparency (alpha channel)
If you want to stack a video on top of other sources and have parts be see-through:
- Export as WebM VP9 with alpha from After Effects, Blender, or similar.
- Drop it in like any other video — Lightbridge will composite the transparent regions correctly.
- Note: regular MP4/H.264 files don’t support transparency. The file has to be WebM VP9 with an alpha channel baked in at export.
Playback controls
- Transport — play / pause.
- Direction — forward / reverse.
- Speed — 0× to 4× playback rate.
- Play Mode — Loop (wrap back to in-point), Bounce (flip direction at out-point), Once (freeze on last frame).
- Retrigger — bind this to a button or LFO to jump back to the in-point on demand.
- Position — the playhead, as a normalized 0-1 value across the trim range (0 = in-point, 1 = out-point). Shown in seconds once metadata loads.
All of these are bindable to MIDI, modulation, or action buttons like any other parameter.
Position: time as a parameter
Position is where video sources become genuinely different from any other VJ tool. Instead of video time being locked to a playback clock, you can drive it with anything — an LFO, an audio band, a MIDI knob, a button macro.
- Scrub with a sine LFO — the playhead rocks back and forth within your trim range. Cycle length sets the wobble speed.
- Freeze on a single frame — set an LFO at 0Hz, or bind Position to a static MIDI value.
- Jump-cut on the beat — use a beat-synced LFO with a stepped curve.
- Audio-reactive stutter — bind a transient-detector band to Position.
When you add modulation to Position, the popup shows a 1× (X.Xs) button. Click it to set the LFO cycle length to exactly the length of your trim range — a saw LFO at that rate reproduces normal playback speed. Tune up/down from there for faster-than-life or ultra-slow drift.
Performance note
Seeking the video between keyframes forces a re-decode from the prior keyframe. For H.264 that’s usually fine at up to ~30Hz, but very fast modulation on a keyframe-sparse file can stutter. If you plan to scrub aggressively, re-encode the clip with a tighter keyframe interval (HandBrake: Video > Advanced Options > keyint=15 gives a keyframe every half-second at 30fps). WebM VP9 generally scrubs smoother than H.264.
Troubleshooting
Nothing shows up after I drop the file in. Check for the red notification — if the codec isn’t supported, it’ll say so. Convert the file with HandBrake and try again.
Video plays but is very laggy. The clip is probably too large — try exporting at 1080p or 4K, not above. Also check that your Mac isn’t thermal-throttled during performance.
Colors look wrong. Try the Color Space control in the Display group — it switches between sRGB and Rec.709 interpretation.
The file is huge.
Use the CRF 20 setting in HandBrake (or the default “Fast 1080p30” preset). A 10-minute 1080p clip should land around 200-500 MB.