MKVToolNix Batch Tool
Batch video and subtitle processing program to help you add (merge) or remove subtitles from your video library. Allows you to process a directory, and/or all of its subdirectories, in a single batch.
💾 Downloads
MKVToolNix Batch Tool works on Windows 32-bit (x86) and Windows 64-bit (x64) operating systems, see the project's releases page for download links.
🔨 Merging subtitles
When there's only one video file per subdirectory, all subtitle files in that same subdirectory will be merged into the video, regardless of the subtitle file's name.
However, when there are multiple videos in a subdirectory, videos will only be merged with subtitle files that contain the video's full name within (or as) the subtitle file name, less the file extension and overrides (if included).
The language of each subtitle file is determined automatically by parsing through text in the files as they're being merged. If set, languages matching your Default language track in the settings page will be set as the default subtitle track on your merged video(s).
You also have the option to override these settings for individual subtitle files by updating in the subtitle file name(s) as shown in the override examples below.
Example (e.g., movies):
📂Movies
┣ 📂Resident Evil (2002)
┃ ┣ 📺Resident Evil (2002) [1080p].mp4
┃ ┣ 📜Resident Evil (2002) [1080p] English.srt
┃ ┣ 📜Resident Evil (2002) [1080p] Spanish.srt
┃ ┗ 📜Subtitles French.srt 👈 when only 1 video, all subtitles regardless of name, are merged
┣ 📂Resident Evil Afterlife (2010)
┃ ┣ 📺Resident Evil Afterlife (2010) [1080p].avi
┃ ┗ 📜Resident Evil Afterlife (2010) [1080p].pgs 👈 language is always determined automatically
┣ 📂Resident Evil Apocalypse (2004)
┃ ┣ 📺Resident Evil Apocalypse (2004) [1080p].mkv
┃ ┣ 📜Resident Evil Apocalypse (2004) [1080p].ass
┃ ┣ 📜Resident Evil Apocalypse (2004) [1080p] German.srt
┃ ┗ 🎨Movie poster.png 👈 extra non-video, non-subtitle files may exist
┣ 📂Resident Evil Extinction (2007)
┃ ┣ 📺Resident Evil Apocalypse (2004) [1080p].wmv
┃ ┗ 📜Resident Evil Apocalypse (2004) [1080p].ssa
┣ 📂Resident Evil Retribution (2012)
┃ ┣ 📺Resident Evil Retribution (2012) [1080p].ogg
┃ ┣ 📜Resident Evil Retribution (2012) [1080p] English.srt
┃ ┣ 📜Resident Evil Retribution (2012) [1080p] Italian.srt
┃ ┣ 📜Resident Evil Retribution (2012) [1080p] Japanese.srt
┃ ┗ 📜Resident Evil Retribution (2012) [1080p] Russian.srt
┣ 📂Resident Evil The Final Chapter (2016)
┃ ┣ 📺Resident Evil The Final Chapter (2016) [1080p].ogm
┃ ┣ 📜Resident Evil The Final Chapter (2016) [1080p] Dutch.srt
┃ ┣ 📜Resident Evil The Final Chapter (2016) [1080p] Swedish.srt
┃ ┗ 📜Resident Evil The Final Chapter (2016) [1080p] Portuguese.srt
Example (e.g., TV show):
📂Some TV Show
┣ 📂Season 01
┃ ┣ 📺Some TV Show S01E01.mp4
┃ ┣ 📜Some TV Show S01E01 English.srt 👈 with multiple videos, subtitle file name must include video's
┃ ┣ 📜Some TV Show S01E01 Spanish.srt
┃ ┣ 📺Some TV Show S01E02.avi
┃ ┣ 📜Some TV Show S01E02 English.srt
┃ ┣ 📜Some TV Show S01E02 Spanish.srt
┃ ┣ 📺Some TV Show S01E03.ogm
┃ ┣ 📜Some TV Show S01E03 English.srt
┃ ┣ 📜Some TV Show S01E03 Spanish.srt
┃ ┣ 📺Some TV Show S01E04.mp4
┃ ┣ 📜Some TV Show S01E04 English.srt
┃ ┣ 📜Some TV Show S01E04 Spanish.srt
┃ ┣ 📺Some TV Show S01E05.avi
┃ ┣ 📜Some TV Show S01E05 English.srt
┃ ┣ 📜Some TV Show S01E05 Spanish.srt
┃ ┗ 🎨Some TV Show Poster.png 👈 extra non-video, non-subtitle files may exist
┣ 📂Season 02
┃ ┣ 📺Some TV Show S02E01.mkv
┃ ┣ 📜Some TV Show S02E01 English.srt
┃ ┣ 📜Some TV Show S02E01 Spanish.srt
┃ ┣ 📺Some TV Show S02E02.mp4
┃ ┣ 📜Some TV Show S02E02 English.srt
┃ ┣ 📜Some TV Show S02E02 Spanish.srt
┃ ┣ 📺Some TV Show S02E03.avi
┃ ┣ 📜Some TV Show S02E03 English.srt
┃ ┣ 📜Some TV Show S02E03 Spanish.srt
┃ ┣ 📺Some TV Show S02E04.avi
┃ ┣ 📜Some TV Show S02E04 English.srt
┃ ┣ 📜Some TV Show S02E04 Spanish.srt
┃ ┣ 📺Some TV Show S02E04 Part 2.avi
┃ ┣ 📜Some TV Show S02E04 Part 2 English.srt 👈 This will only merge with "Part 2", as expected
┃ ┗ 📜Some TV Show S02E04 Part 2 Spanish.srt
Example (e.g., overrides):
📂Movies
┣ 📂Resident Evil (2002)
┃ ┣ 📺Resident Evil (2002) [1080p].mp4
┃ ┣ 📜Resident Evil (2002) [1080p].sdh.srt 👈 Set hearing impaired
┃ ┣ 📜Resident Evil (2002) [1080p].hearing-impaired.srt 👈 Set hearing impaired (alt option)
┃ ┣ 📜Resident Evil (2002) [1080p].forced.srt 👈 Set forced track
┃ ┣ 📜Resident Evil (2002) [1080p].default.srt 👈 Set default track
┃ ┗ 📜Subtitles Evil (2002) [1080p].nl.srt 👈 Override language using a supported ISO 639-1 language code
┃ ┗ 📜Subtitles Evil (2002) [1080p].default.forced.sdh.es.srt 👈 Set multiple overrides
🪓 Removing subtitles
When removing subtitles, each directory and/or subdirectory contain at least one video file will be processed, others will be skipped. Other non-video files may be included and will be ignored.
Example (e.g., movies):
📂Movies
┣ 📂Resident Evil (2002)
┃ ┗ 📺Resident Evil (2002) [1080p].mp4
┣ 📂Resident Evil Afterlife (2010)
┃ ┣ 📺Resident Evil Afterlife (2010) [1080p].avi
┃ ┗ 🎨Movie poster.png 👈 extra non-video files may exist
┣ 📂Resident Evil Apocalypse (2004)
┃ ┣ 📺Resident Evil Apocalypse (2004) [1080p].mkv
┃ ┗ 📜Resident Evil Apocalypse (2004) [1080p].srt 👈 extra non-video files may exist
┣ 📂Resident Evil Extinction (2007)
┃ ┗ 📺Resident Evil Apocalypse (2004) [1080p].wmv
┣ 📂Resident Evil Retribution (2012)
┃ ┗ 📺Resident Evil Retribution (2012) [1080p].ogg
┣ 📂Resident Evil The Final Chapter (2016)
┃ ┗ 📺Resident Evil The Final Chapter (2016) [1080p].ogm
Example (e.g., TV show):
📂Some TV Show
┣ 📂Season 01
┃ ┣ 📺Some TV Show S01E01.mp4
┃ ┣ 📺Some TV Show S01E02.avi
┃ ┣ 📺Some TV Show S01E03.ogm
┃ ┣ 📺Some TV Show S01E04.mp4
┃ ┣ 📺Some TV Show S01E05.avi
┃ ┗ 🎨Some TV Show Poster.png 👈 extra non-video, non-subtitle files may exist
┣ 📂Season 02
┃ ┣ 📺Some TV Show S02E01.mkv
┃ ┣ 📺Some TV Show S02E02.mp4
┃ ┣ 📺Some TV Show S02E03.avi
┃ ┣ 📺Some TV Show S02E04.avi
┃ ┗ 📺Some TV Show S02E04 Part 2.avi
🗃️ Supported files
The following file types are supported.
Video:
- AVI, M4V, MKV, MOV, MP4, MPG, MPEG, OGG, OGM, WEBM, WMV
Subtitle:
- ASS, IDX, PGS, SMI, SRT, SSA, SUB, SUP, VTT
🙏 Attribution
- MKV batch processing is powered by MKVToolNix
- SVG icons used are from Font Awesome
🐱👤 Develop
Code documentation for this project, created with JSDoc, can be found here:
MKVToolNix Batch Tool
For documentation on how this project uses Electron, React, and Python together, see:
Electron, React & Python
🦟 Software bugs
Bugs reported on the project's issues page will be exterminated as quickly as possible, be sure to include steps to reproduce and your error.log
file in %APPDATA%/MKVToolNix Batch Tool/
. You can also see the developer console data by enabling debug mode on the settings page.
🐱💻 Contribute
Contributions are welcomed! If you see an open issue you want to fix, here's how to contribute:
- Fork the repo.
- Create a feature branch.
- Make your changes locally.
- Create a pull request.
🏷️ License
GPLv2 © iPzard