videobeaux

Logo

The friendly multilateral video toolkit built for artists by artists.

View the Project on GitHub schwwaaa/videobeaux

convert_mux

Description

Rewraps or converts media streams while copying or re-encoding video/audio.
Useful for repairing containers, adjusting codecs, changing formats, resolving sync issues, or preparing files for specific platforms or pipelines.

Purpose

convert_mux is Videobeaux’s advanced container/codec remuxing and transcoding utility.
Compared to the simpler convert program, convert_mux offers:

This makes it ideal for delivery specifications, pipeline normalization, or technical media prep.

How It Works

  1. Container Selection (--format)
    Determines the output container/muxer hint (mp4, mov, webm, matroska, mxf, gif, image2, avi).
  2. Profile-Based Presets (--profile)
    Selecting a profile automatically applies a curated list of FFmpeg flags (codec, pix_fmt, bitrate/quality, audio format, etc.).
  3. Manual Codecs and Quality
    If --profile is not used, you can explicitly specify:
    • --vcodec, --acodec,
    • --crf, --bitrate, --maxrate, --bufsize, --preset,
    • --pix-fmt, --gop, -r, --vf, --tagv, etc.
  4. Stream Copy Mode
    --copy bypasses re-encoding and performs a container-level remux where streams are compatible.
  5. FFmpeg Passthrough
    Extra arguments after -- are passed directly to FFmpeg (ffmpeg_args).
  6. Execution
    A command is built and run through run_ffmpeg_with_progress, echoing the FFmpeg command for transparency.

Program Template

videobeaux -P convert_mux \
  -i input.mp4 \
  -o output.mp4 \
  --format VALUE \
  --profile VALUE \
  --vcodec VALUE \
  --acodec VALUE \
  --crf VALUE \
  --bitrate VALUE \
  --maxrate VALUE \
  --bufsize VALUE \
  --preset VALUE \
  --profile-v VALUE \
  --level VALUE \
  --pix-fmt VALUE \
  --gop VALUE \
  -r VALUE \
  --vf VALUE \
  --tagv VALUE \
  --abitrate VALUE \
  --ac VALUE \
  --ar VALUE \
  --copy \
  -- FFMPPEG_ARGS...

Arguments

Available Profiles

These are the curated --profile options defined in the code, with their intent:

Real World Example

videobeaux -P convert_mux \
  -i myvideo.mp4 \
  -o convert_mux_styled.mp4 \
  --format mp4 \
  --profile mp4_h264

Technical Notes

Quality Tips