EA Video Load
Load a video as frames with all the metadata you forgot to write down
- images
- fps
- frame_count
- width
- height
- duration_s
- fullpath
- filename
- stem
- parent
- ext
Every video pipeline needs a loader, and stock ComfyUI's is thin on metadata - it gives you frames and maybe a frame count, and makes you remember the rest. EA Video Load hands you the frames and the full facts: fps, dimensions, duration, and every piece of the path (full path, filename, stem, parent, extension). That metadata is what lets the rest of this pack build filenames and loops without string-slicing gymnastics.
It's the load end of the pack's batch-video trio (List → Pick → Load), and it accepts an absolute path - including one straight from EA Manifest Pick - or a path you type/browse with the folder widget.
How it works
It reads the file with OpenCV (ComfyUI ships it, so this usually just works) and falls back to imageio if cv2 chokes on an exotic container. Frames come out as a standard IMAGE tensor in 0–1 float range, BGR→RGB converted, ready for anything downstream. You get controls over how much you load:
every_n(default 1) - decimation. Set to 2 to keep every other frame, 4 for a quarter, and so on. The classic move for long clips you only want to sample.max_frames(default 0 = unlimited) - a hard cap. Essential when you're poking a 10,000-frame file and only want the first 100.to_float(default on) - frames as 0–1 floats (what ComfyUI expects). Flip it off if you specifically want raw uint8.
The outputs
images (the frames), fps, frame_count (after decimation), width, height, and duration_s. Then the path parts: fullpath, filename, stem, parent, ext - all exactly what the pack's other nodes consume. stem is the one you'll lean on: it's the natural input to EA Filename → Combine and EA Video Save (Idempotent), which is how batch loops name their outputs after their inputs.
A missing or unreadable path returns an empty tensor and zeroed metadata rather than erroring. Forgiving, but it means a typo'd path shows up as "nothing loaded" - check frame_count if your pipeline goes mysteriously dark.
Install
Part of comfyui-ea-nodes: ComfyUI Manager → search comfyui-ea-nodes, or git clone https://github.com/ExoticArts/comfyui-ea-nodes into custom_nodes/, restart, hard-refresh. The pack's requirements.txt is empty; the node lazy-imports opencv-python and imageio. ComfyUI bundles both in practice - but if you've pruned your environment and see an import cv2 error from this node, pip install opencv-python imageio is the fix.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| path | STRING | — | |
| every_nopt | INT | 11–1000 | — |
| max_framesopt | INT | 00–100000 | — |
| to_floatopt | BOOLEAN | true | — |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| fps | FLOAT | — |
| frame_count | INT | — |
| width | INT | — |
| height | INT | — |
| duration_s | FLOAT | — |
| fullpath | STRING | — |
| filename | STRING | — |
| stem | STRING | — |
| parent | STRING | — |
| ext | STRING | — |