Smart Load Video
The video loader that fixes your color shift
- images
- frame_count
- fps
Load a video into ComfyUI with the usual OpenCV-based loaders and, on HD or 4K footage, you might notice the colors look slightly red and oversaturated compared to the file. That's not your monitor - it's a real bug in how those loaders convert video color. Smart Load Video is built to avoid exactly that: it shells out to FFmpeg, which reads the video's color metadata and applies the correct conversion matrix instead of assuming one.
How it works
Most video loaders (including the popular VHS "Load Video Path") decode with OpenCV, which converts YUV to RGB using the BT.601 matrix regardless of what the video actually is. That's correct for old SD content but wrong for HD/4K, which is BT.709 - the mismatch produces that visible red push and over-saturation. This node runs FFmpeg instead, probes the stream's color-space and range metadata, and lets FFmpeg's decoder handle the conversion properly. Same frames, correct colors, no post-hoc hue correction needed.
Once decoded, it gives you the usual frame-batch controls:
force_rate- resample to a target fps (0 = keep the source rate).frame_load_cap- stop after N frames; vital for not loading a 10-minute clip into VRAM.skip_first_frames- drop N frames from the start.select_every_nth- keep every Nth frame (decimation).
It probes the file for width, height, and fps automatically and reports frame_count and fps as outputs you can wire onward.
Inputs and outputs
video- an absolute path to the video file.force_rate,frame_load_cap,skip_first_frames,select_every_nth- the trimming/decimation controls.
Outputs: images (frame batch), frame_count, fps.
Installing it - the ffmpeg caveat
This is the one node in the pack with a real external requirement. It needs an ffmpeg binary, and the pack's requirements.txt does not include one. The node looks, in order: the VHS_FORCE_FFMPEG_PATH environment variable, imageio-ffmpeg's bundled binary, then system PATH. The straightforward fix:
cd ComfyUI/custom_nodes
git clone https://github.com/slvslvslv/ComfyUI-SmartImageTools
pip install -r ComfyUI-SmartImageTools/requirements.txt
pip install imageio-ffmpeg # provides a bundled ffmpeg the node can find
Restart ComfyUI afterward (or use ComfyUI Manager for the pack itself). If you already have ffmpeg on PATH or VHS installed, you're fine as-is.
The honest verdict
If your footage is SD, 24fps, or you don't care about a slight color shift, the built-in loaders work fine and this node's advantage is invisible. But the moment you feed it BT.709 HD footage and compare frames side by side with an OpenCV loader, you'll see the difference - and for video-to-video work where color consistency matters, that's worth an install all by itself.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| video | STRING | — | |
| force_rate | FLOAT | 0.000–60 | — |
| frame_load_cap | INT | 00–999999 | — |
| skip_first_frames | INT | 00–999999 | — |
| select_every_nth | INT | 11–999999 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| frame_count | INT | — |
| fps | FLOAT | — |