VRGDG_CreateFinalVideo_SRT
The final-assembly node that also handles redo runs without clobbering your good take
- trigger
- audio
VRGDG_CreateFinalVideo concatenates all the set videos and glues the original audio back on. This is that node, plus two things that matter once you're actually iterating: it won't overwrite your previous final, and it has a rerun mode that waits for a redo queue to finish before assembling. If you've ever re-generated a couple of scenes and then lost the good version of the full video, you'll understand why the "REDO" handling exists.
The core assembly is identical: triggered by a VHS_FILENAMES input, guarded by threshold, it collects the -audio.mp4 files in video_folder, concatenates them with ffmpeg (-c:v copy, -an), then muxes the original audio back as AAC and writes the result. The differences are in the naming and the rerun logic.
The two modes
group_list is the mode switch. Leave it at -1 and you get normal mode: same as the base node, output named FINAL_VIDEO.mp4 (well, the next available number - if FINAL_VIDEO.mp4 exists it becomes FINAL_VIDEO2.mp4, then FINAL_VIDEO3.mp4, so a good take never gets silently destroyed).
Set group_list to something else and you enter rerun mode. The node checks a per-folder state file (vrgdg_temp/vrgdg_override_queue.json) - if there are still reruns queued, it returns immediately and waits, so the redo passes finish before the final assembly. When it does run, the output is named FINAL_VIDEO_REDO.mp4 (again numbered if it exists). That's the "I re-rendered scenes 4 and 11, let me see a fresh full video without touching my first take" workflow.
Inputs
trigger(VHS_FILENAMES) - from VHS Combine Video, sets execution order.audio(AUDIO) - the clean original track to lay over the concatenation.threshold- minimum-audio.mp4count to proceed (normal mode only).group_list--1for normal, anything else arms rerun mode.video_folder- where the set videos live (relative = ComfyUI output dir).
Gotchas
The filename filter is -audio.mp4 - the rerun logic also matches those, so if your redo videos carry the same suffix they get swept into the concat too, and the threshold check is skipped in rerun mode entirely (it trusts the override queue instead). That's deliberate but easy to misread: a rerun with an empty override queue and zero videos will still try to assemble, so keep the queue file honest. And remember the audio input replaces all per-set audio - feed it the clean, frame-aligned original.
Install
ComfyUI Manager → search "vrgamedev", or git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl into ComfyUI/custom_nodes, restart. Pack requirements plus ffmpeg (system or the imageio fallback). This is the node to use if your workflow ever re-renders scenes - the numbered outputs alone are worth it.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| trigger | VHS_FILENAMES | — | |
| audio | AUDIO | — | |
| threshold | INT | 3 | — |
| group_list | STRING | -1 | — |
| video_folder | STRING | video_output | — |
Outputs (0)
No outputs