Nodes/Dehypnotic/🧘 Load Video (Dehypnotic)
ComfyUI Node

🧘 Load Video (Dehypnotic)

A video loader that hands you the audio for free

By DehypnoticΒ·Created about a month agoΒ·Updated 9 days agoΒ· 4
🧘 Load Video (Dehypnotic)
    • images
    • audio
    • fps
    β—„videoβ–Ύβ–Ί

    Load Video (Dehypnotic) is a video-in node with a nicer frontend and a free bonus: it decodes a video into an IMAGE frame batch and extracts its audio track into ComfyUI's standard AUDIO format, plus the framerate, in one go. Drag a file in, pick it from the dropdown, and you get frames, sound, and fps out the other side.

    The niche it fills: ComfyUI's own Load Video has been historically clunky, and the community standard for serious video work is VideoHelperSuite. Load Video (Dehypnotic) isn't trying to out-VHS VHS for exotic codecs and format tricks - it's the friendly middle ground. The upload button and drag-and-drop go straight into ComfyUI/input/, there's a compact native player that previews on mouseover, and the dropdown lists your videos newest-first. For most frame-extraction and animation-remake work, that's all you need.

    How it works

    Under the hood it's two familiar tools doing what they do best. Frames are decoded with OpenCV (cv2.VideoCapture), converted BGR→RGB, and normalized into a float IMAGE tensor - the same shape every other image node in your graph expects. The audio is extracted by piping the file through FFmpeg (-vn video off, PCM float32, stereo, 44.1 kHz) and reshaping the output into ComfyUI's AUDIO dict. The node's IS_CHANGED returns the file's mtime, so ComfyUI re-reads the video whenever you replace the file on disk rather than caching stale frames forever.

    Inputs and outputs

    • video (required) - a dropdown of every supported file (mp4, mkv, webm, avi, mov, gif) in your input folder, sorted newest first. Upload via the button or just drop a file onto the node.
    • Output images (IMAGE) - the full frame sequence.
    • Output audio (AUDIO) - the extracted track, or None for a silent video.
    • Output fps (FLOAT) - the video's framerate, which you'll feed straight into anything that needs a target FPS.

    That trio - frames plus audio plus fps - is the whole reason to prefer this over a bare frame loader: it feeds both the video half and the audio half of a workflow from one source.

    Installing it

    ComfyUI Manager: search "Dehypnotic", install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Dehypnotic/ComfyUI-Dehypnotic
    

    Then restart. Delete any old Dehypnotic split-pack folders first (comfyui-aspect-ratio-advanced, comfyui-numbered-text, comfyui-range-to-string, comfyui-dehypnotic-save-nodes) - this is the merged "only repo now," and leftovers conflict.

    Here's the gotcha this node inherits from the whole pack: there is no requirements.txt, and Load Video specifically needs opencv-python (for cv2) plus an FFmpeg binary. The pack expects them already in your environment. ComfyUI's own venv often has OpenCV from other nodes, but if you get an import error on cv2, that's the cause:

    pip install opencv-python
    

    For audio, the node first tries imageio-ffmpeg's bundled binary and falls back to a system ffmpeg on your PATH. No FFmpeg at all means the frames still load but audio silently comes back as None - no error, just no sound.

    Common issues

    • Import error mentioning cv2. OpenCV isn't installed. See above.
    • Audio output is None on a video that clearly has sound. Either FFmpeg is missing entirely, or the pack's bundled binary didn't materialize. Check with ffmpeg -version in a terminal; install via your package manager if absent.
    • Long videos eat RAM. The whole frame sequence is decoded into one tensor in memory, so a 4K, five-minute clip can chew through several GB before you've done anything. Trim or transcode shorter sections first.
    • The dropdown looks stale. It only lists videos present in ComfyUI/input/ at node creation, newest-first. Drop your file there (or upload through the node), and refresh the node's value list if it doesn't appear.
    CategoryDehypnotic/πŸ’Ύ IO

    Inputs (1)

    NameTypeDefaultDescription
    videoCOMBO1 options: none

    Outputs (3)

    NameTypeDescription
    imagesIMAGEβ€”
    audioAUDIOβ€”
    fpsFLOATβ€”