Load Video (DEPRECATED, USE JNodes_LoadVisualMediaFromPath)
The deprecated video loader (use LoadVisualMediaFromPath instead)
- IMAGE
- out_video_info
Straight up: this node is deprecated, and it says so in its own display name - "Load Video (DEPRECATED, USE JNodes_LoadVisualMediaFromPath)." If you're building a new workflow, skip to JNodes_LoadVisualMediaFromPath, which handles both images and video and has a richer sampling model. You probably landed here because an older workflow referenced this node, so let's cover what it does and how to move off it.
JNodes_LoadVideo takes a path to a video file on disk and decodes it into a batch of frames as an IMAGE pin - the standard "video into frames" step so you can run vid2vid, ControlNet passes, or frame-by-frame processing. It's built on the same VideoHelperSuite lineage (Kosinkadink's VHS) as the rest of JNodes' media nodes, which is why the knobs look familiar if you've used VHS's own loaders.
How it works
Point it at a video path, and it reads frames out, optionally resampling the frame rate, capping how many frames it loads, skipping the start, or thinning the stream. Everything is about controlling how much of the video you pull in - decoding every frame of a long clip is a fast route to an out-of-memory error, so the sampling controls exist to keep it manageable.
The inputs and outputs that matter
video(STRING) - the path to the file. The defaultX://insert/path/here.mp4is a placeholder; replace it with a real, reachable path.frame_load_cap(default 0 = all) - the safety valve. Cap it to avoid loading thousands of frames at once.skip_first_framesandselect_every_nth- start later in the clip, and take every Nth frame to lighten the load.force_size- resize on load (Disabled,256x?,?x256,256x256,512x?,?x512,512x512).desired_frame_rate(default 0) anddiscard_transparency(default true) round it out.
Outputs are IMAGE (the frames) and out_video_info (JNODES_VIDEO_INFO), a bundle of the source video's properties you can break apart downstream.
How to install it
Via ComfyUI Manager: Install Custom Nodes, search "JNodes", install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/JaredTherriault/ComfyUI-JNodes
pip install -r ComfyUI-JNodes/requirements.txt
then restart ComfyUI. Don't skip requirements.txt, and note that decoding real video formats leans on ffmpeg being present on the machine.
Common issues & troubleshooting
It's deprecated - migrate to JNodes_LoadVisualMediaFromPath. This is the headline. The replacement does everything this does plus handles images, offers frame-vs-seconds sampling (grab "16 frames starting 3 seconds in"), and emits richer MediaInfo. There's no reason to build new graphs on JNodes_LoadVideo.
"Loaded nothing" usually means the path is wrong or unreachable. The placeholder default won't load anything. The path has to point at a real file the ComfyUI server can actually see - which, on a hosted or serverless setup, your local drive is not. Upload the file into the environment (or use an upload node) rather than referencing a path from your own machine.
Out-of-memory on a long clip. Decoding every frame of a multi-minute video will eat RAM fast. Set frame_load_cap, use select_every_nth to thin, and skip_first_frames to jump to the part you care about.
No video decodes at all - check ffmpeg. The VHS-style backend relies on ffmpeg for most formats. If nothing loads regardless of path, confirm ffmpeg is installed and on the path.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| video | STRING | X://insert/path/here.mp4 | — |
| desired_frame_rate | FLOAT | 0 | — |
| force_size | COMBO | 7 options: Disabled, 256x?, ?x256, 256x256, 512x?, ?x512, +1 | |
| frame_load_cap | INT | 0 | — |
| skip_first_frames | INT | 0 | — |
| select_every_nth | INT | 1 | — |
| discard_transparency | BOOLEAN | true | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| out_video_info | JNODES_VIDEO_INFO | — |