⭐ Star Video Loader
Frames, audio, fps and the file path
- video
- images
- audio
- fps
- frames
- info
- video_native
The annoying part of starting a video workflow isn't the model - it's that ComfyUI doesn't ship a decent "load a video and give me everything" node. The usual fix is Video Helper Suite, which is great but drags a whole suite of nodes in for the one you actually use. ⭐ Star Video Loader is the no-frills version: pick a file from your input folder and it spits out the decoded frames, the audio track, the real fps, the frame count, and the file path itself, all from one node in the StarNodes pack.
It's part of the StarNodes collection (search star in the node menu), the ~100-node swiss-army pack that one r/comfyui regular keeps building "for myself but maybe some of you can use them too." That's the vibe here - utility-first, no ceremony.
What comes out
The six outputs are what make this useful without extra plumbing:
- video - a
STAR_FILENAMESreference to the source file. This is the interesting one: it's meant to feed the Star Video Compressor so you can re-encode the original file, not your re-decoded frames. - images - the frames as an
IMAGEbatch ([N, H, W, 3]), ready to drop into any image node or sampler. - audio - the soundtrack as an
AUDIOdict (orNoneif the file has no audio track). - fps - the effective frame rate after your frame tweaks, as a float.
- frames - how many frames actually came back.
- info - a text summary: file, resolution, loaded frames, effective fps, audio rate, path. Handy for debugging.
The few inputs that matter
The dropdown is just the video picker (drag a file onto the widget and it uploads to your input folder). Of the numeric knobs, you'll actually touch two:
- force_rate - resample to this fps.
0keeps the source rate. Good for forcing 24fps before feeding a video model or combining. - select_every_kth - keep only every k-th frame, which also divides the output fps. Handy for thinning 60fps source down to a sampler-friendly 30.
- frame_load_cap - max frames to load. This is your RAM guardrail: a long 4K clip decoded fully will eat system memory, not just VRAM.
How it works
Under the hood it's ffmpeg through a pipe. The loader resolves an ffmpeg binary in this order: a binary bundled in the pack, then imageio-ffmpeg (installed via the pack's requirements.txt), then a system ffmpeg on PATH. It decodes to raw rgb24 frames, stacks them into a torch tensor, and separately pipes the audio to WAV before converting it to the standard ComfyUI AUDIO dict. Nothing exotic, which is exactly why it doesn't need a node suite to exist.
Installing it
ComfyUI Manager, search Starnodes, install, restart - done. Manual, it's the usual:
cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt
Then restart ComfyUI and find it under the ⭐StarNodes category.
Where people get burned
- If it throws "ffmpeg was not found", the
imageio-ffmpegpip package isn't installed.pip install imageio-ffmpeg(or install system ffmpeg) fixes it. - A long 1080p clip decodes into RAM - that's what
frame_load_capis for. If you're working with genuinely long videos, this loader's sibling, Star Video Loader (Low RAM), loads only a window at a time and is the better call. - Missing node in the menu? Restart ComfyUI after install, and check the console - StarNodes prints exactly which dependency a node needs if it failed to load.
The name is a bit of a giveaway: it loads. Frames, audio, fps, file - one grab, no suite required.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| video | COMBO | 0 options: | |
| force_rate | FLOAT | 0.000–240 | Resample to this fps. 0 = keep the video's original frame rate. |
| skip_first_frames | INT | 00–1000000 | Drop this many frames from the start (applied after force_rate / every-kth). |
| select_every_kth | INT | 11–1000 | Keep only every k-th frame (1 = keep all). Also divides the output fps. |
| frame_load_cap | INT | 00–1000000 | Maximum number of frames to load (0 = all). Use this to protect your RAM with long videos. |
| start_frame | INT | 00–1000000 | First frame to keep (0 = start of the video). Click the Load button to probe the video and preview the cut point. |
| end_frame | INT | 00–1000000 | End frame (exclusive, 0 = to the end). Click the Load button to probe the video and preview the cut point. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| video | STAR_FILENAMES | — |
| images | IMAGE | — |
| audio | AUDIO | — |
| fps | FLOAT | — |
| frames | INT | — |
| info | STRING | — |
| video_native | VIDEO | — |