Decode Video Stream
The one mock that lies about its output type
- images
Decode Video Stream is the most dangerous node in ComfyUI Core Video Nodes (Immac/ComfyUI-CoreVideoMocks), because it's the one that lies about its output type. In a real video pipeline, decoding is where a stream finally becomes something you can touch: a batch of actual image frames you can send to an img2vid model, an upscaler, a frame interpolator. This node's output port claims to be IMAGE - the type ComfyUI uses for real image tensors - so you can wire it straight into a sampler or an upscaler. Do that, and here's what arrives downstream: the Python list ["Mock Frame 1", "Mock Frame 2", "Mock Frame 3"]. Three strings, not three tensors.
ComfyUI doesn't check that a node's return value matches its declared type. It just passes whatever it gets. So this is the node most likely to make your whole workflow blow up somewhere far away from the actual problem, with a cryptic error about shapes or tensors in a node you didn't suspect. If you're using this pack, this is the trap.
The inputs it would use
Three knobs, all genuinely sensible for a real decoder:
- frame_interval -
INT, default1, tooltip "Decode every nth frame." Set it to2to grab every other frame and cut decoding cost in half. - start_frame -
INT, default0, "The first frame to decode." - end_frame -
INT, default-1, "The last frame to decode (-1 for all frames)."
Plus stream (force-input string) for the stream itself. The ranges and tooltips are the real part of this node - they're the author's own design for what a core decoder API should look like. The output is the fake part.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Immac/ComfyUI-CoreVideoMocks
Restart ComfyUI. No pip packages, no models, no ffmpeg. Or ComfyUI Manager → "ComfyUI Core Video Nodes."
The bottom line
Treat this node as a spec for a decoder interface, not as something to execute. The pack is an RFC with two GitHub stars and no community footprint, and this node's fake IMAGE output is the strongest argument for leaving it on the shelf until the real thing ships. Need actual frames today? VideoHelperSuite (VHS) decodes real video to real tensors. Just don't let this one's friendly-looking IMAGE port talk you into wiring it into a working pipeline.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| stream | STRING | — | |
| frame_interval | INT | 11–1000 | Decode every nth frame. |
| start_frame | INT | 0 | The first frame to decode. |
| end_frame | INT | -1 | The last frame to decode (-1 for all frames). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |