KY_FFmpeg: Video to Image Sequence
Video to Image Sequence — extract frames straight to disk
- output_dir_path
- frame_count
- total_size_mb
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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| video_path | STRING | C:/path/to/input.mp4 | — |
| output_dir | STRING | C:/path/to/output/frames | — |
| output_fps | COMBO | 30 | 14 options: 2, 3, 6, 12, 15, 23.976, +8 |
| image_format | COMBO | png | 4 options: png, jpg, webp, tiff |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| output_dir_path | STRING | — |
| frame_count | INT | — |
| total_size_mb | FLOAT | — |