MKV Muxing Batch GUI is a powerful application designed for muxing videos with subtitles, audios, chapters, and attachments, offering extensive customization options. It enables users to merge multimedia elements into MKV files efficiently while preserving or modifying existing tracks.
Key Features:
Video Options: Monitor video media info, adjust default duration/FPS (with caution), and manage video tracks.
Subtitle & Audio Management: Add, reorder, or remove subtitles and audios; set delay, track names, languages, and default/forced settings for individual tracks.
Chapter Handling: Import chapters with flexible naming and ordering options.
Attachment Options: Attach files or folders to videos, prevent duplicates, and manage existing attachments.
Source File Customization: Discard or retain specific subtitle/audio tracks based on language or track ID; modify existing tracks individually.
Muxing Settings: Override global settings for subtitles/audios per file, save logs, set default directories, and optimize muxing processes.
Audience & Benefit:
Ideal for video editors, content creators, and media enthusiasts seeking precise control over their MKV files. The application streamlines complex muxing tasks, saving time while ensuring high-quality output in a user-friendly interface. It supports Windows 7/8/8.1/10/11 (32-bit/64-bit) and most Linux distributions, with installation via winget available.
README
MKV Muxing Batch GUI
A robust application for muxing(merging) videos with subtitles, audios, chapters, attachments alongside many customization options.
View media info of each file to monitor the video tracks
Change default video duration/FPS [use this feature cautiously]
Subtitle Options
Add new subtitles to each video file
Subtitles names don't have to match videos names
Reorder the subtitles to match the right video
Remove files from the subtitle tab
Set subtitles to be default/forced
Set subtitle delay, track name, language
Mux the new subtitle at any desired position in the output video
Add multiple subtitles to each video file with individual settings for each subtitle
Audio Options
Add new audios to each video file
Audios names don't have to match videos names
Reorder the audios to match the right video
Remove files from the audio tab
Set audios to be default/forced
Set audio delay, track name, language
Mux the new audio at any desired position in the output video
Add multiple audios to each video file with individual settings for each audio
Chapter Options
Add new chapters to each video file
Chapters names don't have to match videos names
Reorder the chapters to match the right video
Remove files from the chapter tab
Attachment Options
Add new attachments to all video files
Discard old attachments files from all videos
Ability to attach file/folder for each video separately [expert mode]
Option to prevent adding duplicate existing attachments [any existing attachment in source video will be skipped]
Source Files Options
Discard old subtitles
Keep subtitles with specific language(s) and/or track id(s) while discarding any other subtitle
Discard old audios
Keep audios with specific language(s) or track id(s) while discarding any other audio
Set an old subtitle track to be default/forced
Set an old audio track to be default/forced
Modify existing tracks (each track separately) like: track name,delete,set default,set forced and language, even you can change their order with shortcuts Ctrl + Up Arrow / Ctrl + Down Arrow
Muxing Options
Override global settings by changing subtitle/audio settings (delay, track name, language) for each subtitle/audio file
Save a log file
Set your default directories, languages, and file extensions to be remembered for future runs
Optimize your muxing by modifying the source file when feasible. A prompt will appear when this option is available
📝Notes
> [!NOTE]
>1. Leaving destination folder empty will lead to overwrite source videos a popup will shown to confirm this action.
>2. When the option [make this subtitle/audio default] is activated with language/track that does not exist in the source, then the option will be ignored.
>3. When the option [keep this subtitle/audio only] is activated with language/track that does not exist in the source video, then the option will lead to output video with only chosen language/track (even if it means to discard all subtitle/audio from the source).
>4. When using Modify Old Tracks in video tab, the following options: (make this subtitle/audio default, keep this subtitle/audio only, mux new subtitle/audio in desired position) will be disabled/limited.
>5. When using mux subtitle/audio at same position for the same track type, they will be added respecting to the order of all other new subtitles/audio.
>6. In every tab/dialog you can reorder tracks using shortcuts Ctrl + Up Arrow / Ctrl + Down Arrow except for: (Attachment/Muxing Tab).
The MKV Muxing Batch GUI is compatible with Windows 7/8/8.1/10/11 32-bit/64-bit and most Linux distributions.
You can download it from the project's releases page.
For Linux Users
The deployed app available in downloads only support glibc 2.35 and above like: Ubuntu 22.04/up , Mint 21.2/up, Fedora 38/up and others [i can't test them all]
Before starting the app, install the following libraries [not always needed as most of them included in the app]:
Clone the repository :git clone https://github.com/yaser01/mkv-muxing-batch-gui.git.
The main branch use PySide6 library on version 6.6.1 which is tested on python 3.10.8 working good and only supporting x64 systems.
If you want to use on x32 systems you should switch to branch develop-PySide2: git checkout develop-pyside2 which uses PySide2 v5.14.0 and tested in python 3.8.10.
After selecting the branch just make sure to use the mentioned python version as it's guaranteed to work perfect.
Just run pip install -r requirements.txt.
Then run python main.py and you are all good :D.
You may use python3/pip3 instead of python/pip depending on your system.
For linux users if you want to use another python version from the one that is already on your system it's recommended to use pyenv,if you didn't hear about it, you may read this.
Also, for linux users: as this app depends on mkvtoolnix it's very recommended to install it on your system before run the app from here.
Updating The MKVmerge version
You can manually update the mkvmerge version the app uses, but do this only if you're sure of what you're doing, as it may require a reinstallation:
# Navigate to the app's installation directory, e.g. on Windows:
"C:\\Program Files (x86)\\MKV Muxing Batch GUI"
# Go to Resources\\Tools\\ [your operating system], and replace mkvmerge.exe and mkvpropedit.exe with the newer version you have
> For linux users it's recommended to just clear Resources\\Tools\\ [your operating system] folder and then install mkvtoolnix on your system from here and the app will automatically detect it.
🙏Attribution
The application relies heavily on MKVToolNix, so a big thanks to them.
Thanks to my friends who helped test the app and offered numerous ideas.
🦟Report a Bug
Any software bugs can be reported on the project's issues page. Suggestions for future updates are also welcome.