Nodes/Framerate Converter/Remux Container
ComfyUI Node

Remux Container

Remux Container — swap .mp4 to .mov without re-encoding a single frame

By LaserDog80·Created 4 months ago·Updated 4 months ago· 0
Remux Container
  • input
    target_formatmov
    filename_prefixvideo/ComfyUI

    Here's the situation: your editor refuses to import the .mkv, or the client needs a .mov deliverable and Final Cut keeps rejecting your .mp4. The actual video and audio streams are fine - it's just the wrapper they're packed in. Re-encoding to fix that would take ten minutes, waste a generation's worth of quality, and solve nothing.

    Remux Container is the other flagship node in the Framerate Converter pack (Trope Tools, TropeMedia), and it does the one thing the name says: it changes the container format - mov, mp4, or mkv - by stream-copying every track with FFmpeg's -c copy. No decode, no re-encode, no quality loss, and near-instant even on long files. It's the same trick professional video folk use daily.

    The inputs

    Three required fields, all simple:

    • input - a VIDEO, typically from Load Video or chained off the pack's Convert Framerate node.
    • target_format - dropdown with mov, mp4, mkv. Default mov.
    • filename_prefix - controls where and how it's named, default video/ComfyUI (i.e. output/video/ComfyUI_00001.mov).

    That's it. There are no optional inputs and deliberately no output port.

    Why no output port? That's the interesting part

    Most nodes you meet pass data along. This one doesn't, and it's a deliberate design call. It writes the remuxed file straight to ComfyUI's output/ folder and returns an inline video preview so you can see the result in-graph. If it handed you a VIDEO and you piped it into Save Video, the built-in save node would re-encode and re-wrap it back to .mp4 - silently undoing the entire remux. The author hit that trap and just removed the escape hatch. Respect.

    Because it uses the VIDEO type on the input, it chains perfectly off Convert Framerate: "take this 24 fps .mp4 and give me a 25 fps .mov" - conversion then remux in one queue.

    Install

    ComfyUI Manager → search Trope Tools - Framerate Converter → Install, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/LaserDog80/ComfyUI-FramerateConverter
    

    Restart, then find it under Trope Tools / Framerate Converter / Remux Container. No pip packages - the whole pack is Python's standard library plus the system ffmpeg binary, which you must have installed separately (brew install ffmpeg, apt install ffmpeg, or gyan.dev on Windows). The pack warns at startup if it's missing.

    Gotchas

    • Don't wire its output into Save Video - there isn't one, which is the point. Set filename_prefix on the node instead.
    • Not every codec survives every container. Stream-copying is lossless, but if your video uses a codec the target container can't hold (say, certain audio codecs in a .mov), FFmpeg will fail with a somewhat cryptic error. The workaround is to re-encode that one stream - which means you've outgrown this node and want the full pipeline.
    • It has a 10-minute timeout, which for a stream-copy of basically anything is a lot of headroom.

    Remuxing is one of those tasks where people stubbornly keep re-encoding because they don't know the word "remux" exists. Now you do - and there's a node for it.

    CategoryTrope Tools/Framerate Converter

    Inputs (3)

    NameTypeDefaultDescription
    inputVIDEO
    target_formatCOMBOmov3 options: mov, mp4, mkv
    filename_prefixSTRINGvideo/ComfyUI

    Outputs (0)

    No outputs