12 releases
Uses new Rust 2024
| 0.15.0 | Sep 27, 2025 |
|---|---|
| 0.14.3 | Aug 18, 2025 |
| 0.13.6 | Jul 24, 2025 |
#665 in Video
1,108 downloads per month
1.5MB
35K
SLoC
mux-media
A simple automated utility for muxing media (e.g. video, audio, subtitles).
Quick Start
Windows
-
Download the full archive for your Windows system (
mux-media-win64-full.zip). -
Unpack it.
-
Run the unpacked
mux-media.exein a media directory.
Other Systems
-
Install MKVToolNix.
-
Download the archive for your system.
-
Unpack it.
-
Run the unpacked
mux-mediain a media directory.
Notices
-
Output muxed files are saved in the
muxedsubdirectory. -
Input media files must share the same filename prefix. (eg., Death Note - 01.mkv and Death Note - 01.eng.aac)
-
Media is searched in:
- the start directory
- all its subdirectories up to the given depth (default: 16)
Advanced Use 🤓
Run mux-media -h to display help.
Custom settings can be specified:
-
via CLI arguments
-
by configuring a JSON file in a media directory.
Windows
-
The full version for Windows includes bundled
mkvmerge,ffmpegandffprobe. -
Use its system's versions by running
mux-media --user-tools. -
The non-full version for Windows requires manually installing MKVToolNix and FFmpeg (for custom containers or retiming).
Custom Output Containers
-
The default container is Matroska (.mkv).
-
Other supported containers:
.avi,.mp4,.webm. -
Install FFmpeg to use a custom container if you are use not using the full version.
-
Custom containers may require reencoding of unsupported tracks - use only if necessary, as this can significantly degrade quality.
Reencoding
-
By default, no reencoding is performed.
-
When using a custom container, reencoding is automatically performed if needed.
-
Use
mux-media --reencodewith a custom container to force reencoding.
Retiming
-
By default, retiming is performed only for Matroska linked videos.
-
Use
mux-media --rm-segments ..to remove segments with name patterns (only Matroska with chapters). -
Install FFmpeg to use it if you are use not using the full version.
Manual Build 🤓
-
Install Rust
-
Clone the repo:
git clone https://github.com/nujievik/mux-media
- Enter the project directory:
cd mux-media
- Build:
cargo build --release
- On success, the binary will be in
target/release/mux-media
Features with_embedded_bins
Available only for Windows builds (x86_64-pc-windows). Embeds
ffmpeg.exe, ffprobe.exe and mkvmerge.exe into the binary.
- Ensure that its are available in
mux-media/assets/win64/:
-
Automatic (from system PATH):
-
Make sure its are available in your system's PATH.
-
The
mux-media/build.rsscript will automatically copy the required binaries from PATH.
-
-
Manually copy binaries to
mux-media/assets/win64/.
-
Follow steps 1–3 from Manual Build.
-
Build with the feature:
cargo build --release --features with_embedded_bins
- On success, the binary will be in
target/release/mux-media.
Alternative GUI Utilities
There are alternative utilities with user-friendly GUI interfaces, though they offer less automation:
-
mkv-muxing-batch-gui - advanced GUI
-
py-mkvmerger-auto - simple GUI
Dependencies
~9–14MB
~229K SLoC