Nodes/comfyui-AGSoft/🎬🪡AGSoft Video Concatenate Plus
ComfyUI Node

🎬🪡AGSoft Video Concatenate Plus

Concatenate without the 'everything must match' lecture

By Art-xmaster·Created about a year ago·Updated a day ago· 24
🎬🪡AGSoft Video Concatenate Plus
    • video_path
    • duration_seconds
    • duration_timecode
    • file_size_mb
    • width
    • height
    • fps
    • frames_est
    output_nameoutput_video_plus.mp4
    output_path
    inputs_count2
    transition_typefade
    transition_duration1.0
    audio_modeauto
    encoder_modeauto
    quality_presetbalanced
    output_fpsauto
    resize_modefirst_clip
    fit_modeletterbox
    custom_width0
    custom_height0
    auto_coloroff
    video_fade_in0.0
    video_fade_out0.0
    audio_fade_in0.0
    audio_fade_out0.0
    audio_loudnormoff

    🎬🪡AGSoft Video Concatenate Plus is the sibling that re-encodes. Where the plain Video Concatenate stream-copies clips and demands they all match, this one happily takes a pile of clips of different sizes, frame rates, and codecs, normalizes them, and produces a single consistent file - with transitions, fades, and audio handling on top. It's slower than a stream copy, obviously, but it's the "just make it work" node.

    Set inputs_count and the node grows that many video_N inputs. Then the fields that do the real work:

    • transition_type / transition_duration - a global transition between clips (default fade, duration 1s; 0 = hard cut). This is the biggest reason to pick Plus over the plain version.
    • resize_mode (default first_clip) - how the output resolution is chosen, with fit_mode (letterbox / crop / stretch) deciding how clips that don't match the target are fitted, plus custom_width/custom_height for hand-picked output.
    • output_fps - default auto uses the first clip's frame rate; pick a common one (24, 30, 60...) to force consistency.
    • audio_mode - default auto keeps each clip's original audio and pads missing audio with silence. The pack's fuller audio tools (loudnorm etc.) live on the audio concatenator.
    • auto_color - an experimental per-clip color normalization. It's labeled experimental for a reason; leave it off unless clips visibly clash.
    • video_fade_in / video_fade_out, audio_fade_in / audio_fade_out - global fades for the whole result, nice for a finished piece that should fade up from black.
    • audio_loudnorm - EBU R128 normalization on the final audio, if you want every clip's sound leveled too.
    • encoder_mode - auto uses NVENC when available, otherwise CPU; force nvenc or cpu when you know your hardware. quality_preset - fast / balanced / quality.

    Outputs

    The standard pack set: video_path (STRING), duration_seconds, duration_timecode, file_size_mb, width, height, fps, frames_est. If output_path is empty, the result lands in ComfyUI/output.

    Install

    Part of the comfyui-AGSoft pack. ComfyUI Manager → search "comfyui-AGSoft" → Install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Art-xmaster/comfyui-AGSoft
    

    Restart. No model downloads; the node drives the bundled FFmpeg (or a system ffmpeg on PATH).

    Where people get burned

    If you force nvenc on a machine without a working NVENC build, you'll get an encoder error - that's the classic one. Drop to auto or cpu and it recovers. Otherwise, this is a forgiving node: it's the one you reach for when clips were generated at different times and nothing matches, and you'd rather render once than hand-normalize six inputs.

    CategoryAGSoft/Video

    Inputs (19)

    NameTypeDefaultDescription
    output_nameSTRINGoutput_video_plus.mp4Output filename. The extension is kept as entered (.mp4 by default). --- Имя итогового файла. Расширение сохраняется как введено (по умолчанию .mp4).
    output_pathSTRINGOutput directory. If empty, ComfyUI/output is used. --- Папка сохранения. Если пусто, используется ComfyUI/output.
    inputs_countCOMBO2Number of video clips to concatenate. --- Количество клипов для склейки.
    transition_typeCOMBOfadeGlobal transition type. cut = no transition (hard cut). random = random transition at each junction. --- Глобальный тип перехода. cut = без перехода (жёсткая склейка). random = случайный переход на каждом стыке.
    transition_durationFLOAT1.00–10Global transition duration in seconds. 0 = cut mode. Automatically clamped if longer than a clip. --- Глобальная длительность перехода в секундах. 0 = режим cut. Автоматически ограничивается, если длиннее клипа.
    audio_modeCOMBOautoauto = keep original audio, fill missing audio with silence. mute = silent output. --- auto = сохранять оригинальный звук, отсутствующий заменять тишиной. mute = итоговое видео без звука.
    encoder_modeCOMBOautoauto = use NVENC if available, otherwise CPU. nvenc = force NVIDIA NVENC. cpu = force libx264. --- auto = NVENC, если доступен, иначе CPU. nvenc = принудительно NVIDIA NVENC. cpu = принудительно libx264.
    quality_presetCOMBObalancedEncoding quality preset (speed vs quality trade-off). --- Пресет качества кодирования (баланс скорости и качества).
    output_fpsCOMBOautoCommon output FPS. auto = use FPS from the first clip. --- Общий FPS результата. auto = FPS первого клипа.
    resize_modeCOMBOfirst_clipHow to choose the output resolution. first_clip = first clip size. max_size/min_size = extremes. custom = use custom_width/custom_height. --- Как выбирать разрешение результата. first_clip = по первому клипу. max_size/min_size = экстремумы. custom = использовать custom_width/custom_height.
    fit_modeCOMBOletterboxletterbox = fit with black bars. crop = fill and crop center. stretch = stretch to output size. --- letterbox = вписать с чёрными полосами. crop = заполнить и обрезать центр. stretch = растянуть.
    custom_widthINT00–8192Custom width, used only when resize_mode = custom. 0 = fallback. --- Кастомная ширина, только при resize_mode = custom. 0 = fallback.
    custom_heightINT00–8192Custom height, used only when resize_mode = custom. 0 = fallback. --- Кастомная высота, только при resize_mode = custom. 0 = fallback.
    auto_colorCOMBOoffExperimental auto color normalization per clip. --- Экспериментальная авто-нормализация цвета для каждого клипа.
    video_fade_inFLOAT0.00–60Global video fade-in duration in seconds (start of the result). --- Длительность глобального появления видео в секундах (начало результата).
    video_fade_outFLOAT0.00–60Global video fade-out duration in seconds (end of the result). --- Длительность глобального затухания видео в секундах (конец результата).
    audio_fade_inFLOAT0.00–60Global audio fade-in duration in seconds. --- Длительность глобального появления звука в секундах.
    audio_fade_outFLOAT0.00–60Global audio fade-out duration in seconds. --- Длительность глобального затухания звука в секундах.
    audio_loudnormCOMBOoffApply EBU R128 loudness normalization to the final audio. --- Применить нормализацию громкости EBU R128 к итоговому звуку.

    Outputs (8)

    NameTypeDescription
    video_pathSTRING
    duration_secondsFLOAT
    duration_timecodeSTRING
    file_size_mbFLOAT
    widthINT
    heightINT
    fpsFLOAT
    frames_estINT