Nodes/ComfyUI-KYNode/KY_FFmpeg: Video to Image Sequence
ComfyUI Node

KY_FFmpeg: Video to Image Sequence

Video to Image Sequence — extract frames straight to disk

By yorkane·Created 2 years ago·Updated 6 months ago· 10
KY_FFmpeg: Video to Image Sequence
    • output_dir_path
    • frame_count
    • total_size_mb
    video_pathC:/path/to/input.mp4
    output_dirC:/path/to/output/frames
    output_fps30
    image_formatpng

    Where a stock video loader pulls frames into a ComfyUI IMAGE batch sitting in memory, this node dumps a video straight out to disk as individual frame files. That's the right call when the video is long - you don't want a thousand frames sitting in VRAM/RAM as a tensor batch just to extract them - or when you need the frames on disk for a tool outside ComfyUI entirely.

    How it works

    It's a thin ffmpeg wrapper: point it at video_path, tell it where to put the frames (output_dir), what frame rate to sample at (output_fps), and what image format to write (image_format). It runs the extraction and reports back what it did - output_dir_path (confirming where the files landed), frame_count (how many frames it wrote), and total_size_mb (how much disk it used).

    output_fps has a long list of common presets in its dropdown - everything from 2 fps up to 59.94 and beyond - matching the frame rates you'd actually target for different video-model or editing pipelines. image_format covers png, jpg, webp, and tiff, with PNG the default for lossless quality.

    Installing it

    ComfyUI Manager: search ComfyUI-KYNode, install, restart. Or:

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

    Restart ComfyUI. Like the rest of the KY_FFmpeg* family, this needs ffmpeg itself installed and reachable on your system PATH - the pack doesn't bundle a copy, and its own README doesn't call this dependency out explicitly (it's a bare feature list), so it's easy to miss until the node fails on first use.

    Common issues

    If nothing happens or the node errors immediately, check that ffmpeg -version actually works from wherever ComfyUI's process runs - a Windows portable/embedded Python setup especially can end up with a different PATH than your normal terminal.

    This node writes files, it doesn't hand you IMAGE tensors - its outputs are a directory path, a count, and a size, not pixels. If you need the extracted frames back inside ComfyUI as an image batch for further processing, load them back in with a folder-load node (this pack's KY_GetFromPath reads a single file, not a whole directory, so you'd want something built for batch-loading a folder) rather than expecting this node itself to hand you the images.

    Requesting an output_fps higher than your source video's actual frame rate doesn't create new information - it duplicates existing frames to hit the target rate rather than interpolating anything new, so don't expect smoother motion out of upsampling here.

    Finally, make sure output_dir exists before running, or is at least creatable by the process - the schema doesn't document whether the node auto-creates missing directories, so pre-creating the folder is the safe move.

    CategoryVideo/KY_FFmpeg

    Inputs (4)

    NameTypeDefaultDescription
    video_pathSTRINGC:/path/to/input.mp4
    output_dirSTRINGC:/path/to/output/frames
    output_fpsCOMBO3014 options: 2, 3, 6, 12, 15, 23.976, +8
    image_formatCOMBOpng4 options: png, jpg, webp, tiff

    Outputs (3)

    NameTypeDescription
    output_dir_pathSTRING
    frame_countINT
    total_size_mbFLOAT