Nodes/ComfyUI-MediaUtilities/MediaUtilities_VideoPreview
ComfyUI Node

MediaUtilities_VideoPreview

Watch your frame sequences play before you commit to an export

By ThanaritKanjanametawatAU·Created about a year ago·Updated about a year ago· 3
MediaUtilities_VideoPreview
  • frames
  • video_info
    fps8

    If you've ever rendered a batch of frames and had to assemble them mentally to judge the motion, this node is your upgrade. MediaUtilities_VideoPreview takes an IMAGE batch - a sequence of frames - and plays it back as an actual video in the ComfyUI interface, at the frame rate you set. It's the quick "does this actually move correctly?" check before you spend a minute exporting a final file.

    Why you'd reach for it

    Video work in ComfyUI is frame-grinding: you generate a sequence, you stare at it, you regenerate. Being able to hit play instead of eyeballing a strip of stills is a massive quality-of-life win, and it's the natural partner to this pack's Load Video From URL. That's the intended loop: pull a video in, work on its frames (img2vid conditioning, frame interpolation, whatever), and preview the result in place. It also works with any IMAGE batch, so you can preview frames that never touched a URL at all.

    How it works

    The mechanism is gloriously low-tech and robust. The node converts your frames tensor to a video file in ComfyUI's temp directory using OpenCV, then hands the file to the frontend player. The clever part is the fallback ladder - the author clearly got burned once and fixed it: it tries an H.264 (avc1) MP4 first, then MPEG-4 (mp4v), then Motion JPEG in an AVI, then a GIF, and finally, if everything video-related fails, it renders the first frame as a still PNG. That cascade is why the preview usually just works across browsers and platforms, even when your OpenCV build lacks the ideal encoder. Frames get registered with ComfyUI's temp file system so the UI can actually serve them.

    The three inputs

    All three inputs are required, which is the main thing to know:

    • frames (IMAGE) - your batch of frames.
    • fps (INT, default 8, range 1–60) - playback speed. Set it to match your source: if you loaded a video at a forced 24 fps, preview at 24, or the motion will look wrong even though the frames are right.
    • video_info (VHS_VIDEOINFO) - this is the interesting one. It's a metadata dict (fps, resolution, duration) in the VideoHelperSuite format, and the node wants it mandatorily even though it barely uses it.

    That required video_info is the gotcha. The pack's own VideoURLLoader outputs VHS_VIDEOINFO, so the self-contained workflow is seamless. But if you want to preview frames that came from somewhere else - say, straight out of a KSampler → VAE decode - you have nothing producing that type unless VideoHelperSuite is installed. That's a real friction point for a "simple" preview node, and the fix is either to install VideoHelperSuite or feed it through this pack's loader.

    Install

    Same pack, same drill - ComfyUI-MediaUtilities via ComfyUI Manager, or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ThanaritKanjanametawatAU/ComfyUI-MediaURLLoader
    cd ComfyUI-MediaURLLoader
    pip install -r requirements.txt
    

    Restart after. The heavy-ish dependency here is opencv-python, which does the actual encoding; most machines that already run video packs have it, so this is often a no-op install. No model downloads.

    Troubleshooting

    If you get a still image instead of a video player, that's the fallback ladder doing its job - every video encoder failed and it dropped to the PNG. Check the console: this pack logs each codec attempt (it has DEBUG = True hardcoded, so it's chatty). Usually it means your OpenCV lacks the right codecs; the GIF fallback at least proves the pipeline works.

    Other classic issues: wrong fps making the preview look janky or hyper-speed, and - again - that stale README. Its manual install URL is a placeholder (your-username), so copy the one above, not the pack's own. Small pack, single author, last released v1.1.1 in mid-2025: expect the node to work, and don't expect a community to fix it for you if it doesn't.

    CategoryMediaUtilities

    Inputs (3)

    NameTypeDefaultDescription
    framesIMAGE
    fpsINT81–60
    video_infoVHS_VIDEOINFO

    Outputs (0)

    No outputs