Nodes/ComfyUI Ino Nodes/Ino Convert Video To MP4
ComfyUI Node

Ino Convert Video To MP4

Normalize any video to MP4 with FFmpeg, right in the graph

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino Convert Video To MP4
    • success
    • message
    • rel_path
    • abs_path
    enabledtrue
    input_parent_folder
    input_folder
    output_parent_folder
    output_folder
    change_fpstrue
    fps30
    change_resolutiontrue
    max_resolution2560

    Every video workflow eventually trips over the format problem. Your generator outputs a .webm or a raw frames folder, but the platform you're uploading to wants MP4 at a specific fps and resolution. Ino Convert Video To MP4 is the pack's answer: it converts a video in ComfyUI's file tree to MP4 via FFmpeg, with optional fps and resolution normalization, and reports the output path for the next step.

    It's the single node in the InoMediaHelper category of ComfyUI-InoNodes - a 125+ node automation pack where this one sits between "generate video" and "upload the result."

    The inputs

    It follows the pack's standard file-node pattern, doubled:

    • input_parent_folder / input_folder - where the source video lives. The parent is a dropdown of input, output, or temp; the folder is any subfolder.
    • output_parent_folder / output_folder - where the MP4 lands.

    Then the optional normalization controls, both on by default:

    • change_fps + fps (default 30) - retime the video to a target fps.
    • change_resolution + max_resolution (default 2560) - cap the longer side, preserving aspect ratio.

    Outputs are the pack standard: success, message, rel_path, and abs_path for the converted file. It's flagged as an output node, so it's a terminal side-effect step - you run it to make the file, not to feed pixels onward.

    How it works

    It hands the job to the shared inopyutils library's FFmpeg wrapper, pointing input and output at the resolved paths. FFmpeg does the transcode, with the fps and resolution flags applied only if you left those toggles on. If you don't want normalization - you just want a straight container conversion - flip change_fps and change_resolution off.

    One thing worth stating plainly: FFmpeg has to be present for this to work. The node is a wrapper, not a bundled encoder, so on a bare ComfyUI install without FFmpeg on the system you'll get a failure message rather than a video.

    Where it fits

    • Pre-upload normalization. The pack's S3 video upload node takes native video; convert first so what you upload is a predictable MP4.
    • Post-generation cleanup. Standardize the output of video models that emit varying containers or framerates.
    • Preparing for preview. Normalize to a size and fps that render smoothly in a video player before previewing.

    Because max_resolution preserves aspect ratio, a 2560 cap on a 9:16 video keeps it 9:16 - it just shrinks the long side to fit. That's the "optional resolution change" done sensibly rather than a blind resize.

    Gotchas

    The enabled toggle is the usual first suspect when nothing happens - an off node returns "Node is disabled" without converting. Missing FFmpeg is the second. And because it's an output node that writes to disk, make sure your output_folder exists or is creatable; the underlying helper creates parent folders, but if ComfyUI's temp/output tree is misconfigured, that's where you'll see it. Don't expect frame-perfect quality on heavy compression - this is a normalization tool, not a high-end encoder.

    Installation

    Ships with ComfyUI-InoNodes:

    • ComfyUI Manager: search "ComfyUI Ino Nodes", install, restart.
    • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/nobandegani/comfyui_ino_nodes && cd comfyui_ino_nodes && pip install -r requirements.txt, restart.

    Python 3.10+, ComfyUI 0.18.1+ (V3 schema), and a working FFmpeg on your system. No model downloads, no API keys.

    CategoryInoMediaHelper

    Inputs (9)

    NameTypeDefaultDescription
    enabledBOOLEANtrue
    input_parent_folderCOMBO3 options: input, output, temp
    input_folderSTRING
    output_parent_folderCOMBO3 options: input, output, temp
    output_folderSTRING
    change_fpsoptBOOLEANtrue
    fpsoptINT301–1000
    change_resolutionoptBOOLEANtrue
    max_resolutionoptINT2560

    Outputs (4)

    NameTypeDescription
    successBOOLEAN
    messageSTRING
    rel_pathSTRING
    abs_pathSTRING