ComfyUI Node

VRGDG_CombinevideosV5

The combine node that knows which set it's on — and labels each scene for you

By vrgamegirl19·Created about a year ago·Updated about 20 hours ago· 682
VRGDG_CombinevideosV5
  • audio_meta
  • video_1
  • video_2
  • video_3
  • video_4
  • video_5
  • video_6
  • video_7
  • video_8
  • video_9
  • video_10
  • video_11
  • video_12
  • video_13
  • video_14
  • video_15
  • video_16
  • blended_video_frames
fps25.00
duration4.00
index0
total_sets1
groups_in_last_set16
folder_path./output_videos
with_labelstrue

If VRGDG_CombinevideosV2 is the barebones set assembler, V5 is the version that actually runs the queue workflow: it knows which set you're on, how many sets there are, how many scenes the ragged last set has, and it can save its output straight to disk - with or without label bars on every frame. It's the combine node you'd pick when you're churning through a full song, not assembling one set in isolation.

Everything from V2 is here - up to 16 optional IMAGE video_1video_16 inputs, an fps (default 25), and the required audio_meta DICT that drives per-scene trimming. On top of that it adds the set-scheduling context: index (which set you're on), total_sets, and groups_in_last_set (so the final partial set doesn't pad empty slots into the timeline). duration (default 4.0) acts as a fallback per-scene duration when audio_meta doesn't supply one.

The outputs that aren't outputs

The important difference from V2 is folder_path and with_labels. With with_labels on, the node draws a black bar with a white label under each frame (using the scene number), saves that labeled version into a WithLabels/ subfolder, and writes the plain version to folder_path - all via OpenCV's VideoWriter as mp4v. folder_path is resolved against ComfyUI's output directory unless it's an absolute path. So the node both returns blended_video_frames and writes files, which is how the queue workflow collects a per-set MP4 per run without you wiring up extra save nodes.

Those labeled videos are the debugging gift nobody expects: run once with labels on and you get a grid-able record of exactly which scene each segment is, which makes "scene 7 is wrong" a five-second diagnosis instead of a guessing game.

Gotchas

The per-scene trimming here treats audio_meta durations as frame counts when that's what the dict carries (the queue node emits frame-based durations), and it only pads - it never trims short videos up. That asymmetry with V2 matters: V2 will trim an over-long clip to its target; V5 will happily ship an over-long clip. So generate to length first. And note groups_in_last_set is clamped at 16, so an out-of-range value silently becomes "a full set" - keep it fed from CalculateSetsFromAudio_Queue.

Install

ComfyUI Manager → search "vrgamedev", or git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl into ComfyUI/custom_nodes, restart. Needs the pack requirements (kornia, librosa, imageio) plus OpenCV, which is bundled with ComfyUI. It's the workhorse of the combine stage - V2 for a quick single assembly, V5 for the real run.

CategoryVideo

Inputs (24)

NameTypeDefaultDescription
fpsFLOAT25.00
durationFLOAT4.00
audio_metaDICT
indexINT0
total_setsINT1
groups_in_last_setINT160–16
folder_pathSTRING./output_videos
with_labelsBOOLEANtrueIf enabled, adds label bars and saves labeled video to WithLabels/.
video_1optIMAGE
video_2optIMAGE
video_3optIMAGE
video_4optIMAGE
video_5optIMAGE
video_6optIMAGE
video_7optIMAGE
video_8optIMAGE
video_9optIMAGE
video_10optIMAGE
video_11optIMAGE
video_12optIMAGE
video_13optIMAGE
video_14optIMAGE
video_15optIMAGE
video_16optIMAGE

Outputs (1)

NameTypeDescription
blended_video_framesIMAGE