๐ Select Video
Pick From a Dropdown Instead
- video_path
This is the most boring node in MediaForge, and it might be the one that saves you the most typos. Every file-eating node in this pack - TrimByRanges, BurnSubtitle, LoopVideo, all of them - wants a video_path string. You can type paths into each one, but that's how you get a workflow that silently reads input/clip.mp4 when you meant input/clip2.mp4. MF_SelectVideo is ComfyUI's core LoadImage dropdown, rebuilt for video: pick a file from a menu, and a clean absolute path comes out the other end.
It's also the polite way to build shared workflows. When you hand someone a template, they pick their file from a dropdown instead of hunting through workflow JSON for a path string. Small thing, real payoff.
How it works
When the node is created (or ComfyUI reloads), it walks ComfyUI/input/ recursively and lists every video file - .mp4, .mov, .mkv, .webm, .avi, .m4v, .mpg, .mpeg, .ts. You pick one, and at runtime the node resolves it to an absolute path through ComfyUI's input directory. It never decodes the video; it's a path picker, not a loader.
One detail worth knowing: the node reports the selected file's mtime as its change signal, the same trick core LoadImage uses. Replace input/foo.mp4 with a new file of the same name and ComfyUI automatically invalidates everything downstream. You don't have to clear caches manually.
The inputs and outputs that matter
There's exactly one widget and one output:
video- the dropdown of videos found underinput/.video_path(STRING) - the absolute path, ready to wire into anyMF_*node'svideo_pathinput (or any node that takes a path string).
That's the whole node. It's supposed to be this small.
Install
It ships in the MediaForge pack. ComfyUI Manager โ Install Custom Nodes โ search "MediaForge", or:
cd ComfyUI/custom_nodes
git clone https://github.com/leon80148/comfyui_MediaForge.git
Restart ComfyUI and the nodes appear under MediaForge/Video. The pack wants FFmpeg on your PATH (its requirements.txt also installs imageio-ffmpeg/static-ffmpeg binary fallbacks, but a real system ffmpeg is preferred). This node itself has no Python dependencies beyond that.
Common issues
- The dropdown is empty. There's no video in
input/(or you haven't refreshed). The node shows a placeholder option - note it's in Traditional Chinese, the author's language - and selecting it raises a clear error telling you to drop a file intoinput/and refresh the browser. The list is scanned when the node loads, so add the file then refresh, not before. - You picked a file and it says "not found." The file was removed or moved between node creation and run. Re-pick from the refreshed list.
- Expecting frames out of it. No. This node outputs a path. If you want the actual video as an IMAGE batch, wire
video_pathinto MF_LoadVideoFrames.
If you want the video as tensors, pair this with MF_LoadVideoFrames. If you just want to stop typing paths into six different nodes, this is the one you reach for.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| video | COMBO | 1 options: (input/ ็ฎ้ๆฒๆๅฝฑ็ๆช) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | โ |