Nodes/Klinter_nodes/Load Video For Extending - Klinter
ComfyUI Node

Load Video For Extending - Klinter

Pull frames out of a clip and get the metadata to match

By klinter007·Created 3 years ago·Updated 9 months ago· 19
Load Video For Extending - Klinter
  • video
  • frames
  • video_info

This is the front end of a two-node video-extension pipeline in the Klinter pack. Load Video For Extending - Klinter takes a video file, converts it to frames, and hands you both the frame tensor and a metadata tuple - so the companion Prep Video For Extend node (and your own math) knows the fps, resolution, and duration without guessing.

The mechanism is worth understanding because it explains the constraints. The node shells out to ffprobe to read frame rate, width, height, and duration, then shells out to ffmpeg to dump the video as raw RGB frames at a forced 24 fps. That frame-rate normalization is the load-bearing decision here: everything downstream in the pack assumes 24 fps. Prep Video For Extend literally hardcodes "24 fps" in its math. If your source is 30 or 60 fps, this node will resample it to 24 on the way in - which is fine, but it means the fps in your metadata is the normalized value, not the source's.

Two hard constraints come straight from the code and will bite you if ignored: the video must be at least 5 seconds long, and it must decode cleanly with ffmpeg. Shorter clips just error out. Also note there's no audio handling and no resizing - you get frames at the source resolution, normalized to 24 fps.

Inputs: a single video input (upload a file via ComfyUI's video upload or reference one in your input folder). Outputs: frames (IMAGE tensor, one entry per frame) and video_info (a TUPLE of fps, width, height, duration). Wire frames into Prep Video For Extend or any frame-consuming node; the tuple is there for when you need real numbers for your own calculations.

Install is the pack standard: search "Klinter_nodes" in ComfyUI Manager, or cd ComfyUI/custom_nodes && git clone https://github.com/klinter007/klinter_nodes then restart. The real dependency here isn't pip-installed - it's ffmpeg and ffprobe on your PATH. ComfyUI installs usually have them, but if the node throws an "FFprobe error" or "FFmpeg error", that's your first suspect, not the node.

It's a focused tool: if your goal is video extension (the pack's namesake workflow), it does exactly the load-and-normalize step you need. If you just want frames from a video without the 24 fps policy, stock video loaders are less opinionated.

CategoryKlinter

Inputs (1)

NameTypeDefaultDescription
videoVIDEO

Outputs (2)

NameTypeDescription
framesIMAGE
video_infoTUPLE