Nodes/ComfyUI_StarNodes/⭐ Star Video Loader
ComfyUI Node

⭐ Star Video Loader

Frames, audio, fps and the file path

By Starnodes2024·Created 2 years ago·Updated 2 days ago· 106
⭐ Star Video Loader
    • video
    • images
    • audio
    • fps
    • frames
    • info
    • video_native
    video
    force_rate0.00
    skip_first_frames0
    select_every_kth1
    frame_load_cap0
    start_frame0
    end_frame0

    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_FILENAMES reference 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 IMAGE batch ([N, H, W, 3]), ready to drop into any image node or sampler.
    • audio - the soundtrack as an AUDIO dict (or None if 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. 0 keeps 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-ffmpeg pip 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_cap is 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.

    Category⭐StarNodes/Video

    Inputs (7)

    NameTypeDefaultDescription
    videoCOMBO0 options:
    force_rateFLOAT0.000–240Resample to this fps. 0 = keep the video's original frame rate.
    skip_first_framesINT00–1000000Drop this many frames from the start (applied after force_rate / every-kth).
    select_every_kthINT11–1000Keep only every k-th frame (1 = keep all). Also divides the output fps.
    frame_load_capINT00–1000000Maximum number of frames to load (0 = all). Use this to protect your RAM with long videos.
    start_frameINT00–1000000First frame to keep (0 = start of the video). Click the Load button to probe the video and preview the cut point.
    end_frameINT00–1000000End frame (exclusive, 0 = to the end). Click the Load button to probe the video and preview the cut point.

    Outputs (7)

    NameTypeDescription
    videoSTAR_FILENAMES
    imagesIMAGE
    audioAUDIO
    fpsFLOAT
    framesINT
    infoSTRING
    video_nativeVIDEO