小珠光视频加载器
The 1GB-friendly video loader with frame caps and aspect presets
- 图像
- 音频
- 视频信息
Every video-to-video workflow starts by dragging a clip in and letting ComfyUI chew it into frames. The stock loader is fine for short clips, but the moment you drop in a 700MB file or a long video you'll hit its limits - either the browser upload chokes or you're stuck with whatever resolution the source happens to be. XiaozhuguangVideoLoader (小珠光视频加载器) is the pack's answer: a video loader built for big files (up to 1GB via chunked, resumable upload), with a full playback preview, frame caps, skip settings, and aspect-ratio presets so you can pull in video sized exactly the way your pipeline wants.
How it works: FFmpeg (via the pack's imageio-ffmpeg) decodes the video into a frame sequence, and the frontend gives you a real player to scrub through it. Uploads are handled in 20MB chunks with 3-way concurrency and retries - that's the 1GB story, and it's why this loader survives files that make a plain HTML upload time out. The node's own changelog is a decade of edge-case fixes in miniature: preview videos resetting to the source, skip-frames alignment, aspect widgets not clobbering your custom resolution on workflow reload. It's clearly a node that's had a lot of real use.
Inputs that matter (all Chinese-labeled, pack i18n):
- 视频 (video) - the file picker; also supports drag-and-drop upload.
- 强制帧率 (force fps) - 0 = keep source, otherwise remap to this fps. Use it to normalize a 30fps clip down to 24 for a video model that expects it.
- 视频比例 (aspect) - presets: 原始比例 (original), 竖屏9:16, 竖屏3:4, 横屏16:9, 横屏4:3, 等比1:1, or 自定义比例.
- 自定义宽度 / 自定义高度 - manual dimensions (steps of 8, multiples that diffusion models like).
- 跳过帧数 (skip frames) - drop the first N frames.
- 帧数上限 (frame cap) - load at most N frames; 0 = all. This is your VRAM governor - most video models can't take a 3000-frame batch, so cap to your model's window and loop or extend from there.
Three outputs:
- 图像 (IMAGE) - the decoded frames as a tensor batch, for your sampler/upscaler.
- 音频 (AUDIO) - the audio track, if present. This is why the pack can do video+TTS pipelines end to end: the source audio comes out as data, ready to be replaced, mixed, or muxed back at combine time.
- 视频信息 (VHS_VIDEOINFO) - metadata structure for the pack's info reader (fps, frame count, dimensions, skip offset), which turns those into plain numbers.
The traps are the usual video-model ones: forget the frame cap on a long clip and you'll OOM; mismatch the aspect and the loader crops/re-frames in a way you didn't expect. And note the audio output only carries what's in the source - a silent clip gives you an empty AUDIO, not a synthesized one (for that, pair with the pack's TTS nodes and mux in at combine).
Install: ComfyUI Manager → ComfyUI-xiaozhuguang → restart, or git clone https://github.com/xiaozhuguang/ComfyUI-xiaozhuguang into custom_nodes. imageio-ffmpeg installs with the pack; no separate FFmpeg needed. The author's Bilibili tutorial shows the full load → process → combine loop. It's the front door to the pack's video pipeline, and it's built for the files that break lesser loaders.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| 视频 | COMBO | 0 options: | |
| 强制帧率 | FLOAT | 0.0000–240 | — |
| 视频比例 | COMBO | 自定义比例 | 7 options: 自定义比例, 原始比例, 竖屏9:16, 竖屏3:4, 横屏16:9, 横屏4:3, +1 |
| 自定义宽度 | INT | 00–16384 | — |
| 自定义高度 | INT | 00–16384 | — |
| 跳过帧数 | INT | 00–1000000000 | — |
| 帧数上限 | INT | 00–1000000000 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| 图像 | IMAGE | — |
| 音频 | AUDIO | — |
| 视频信息 | VHS_VIDEOINFO | — |