MKVToolNix is a set of tools that include mkvmerge, mkvinfo, mkvextract, mkvpropedit and mmg, which allow you to to create, manipulate and inspect Matroska (.MKV) files in several ways. With MKVToolNix you can create, split, edit, mux, demux, merge, extract or inspect Matroska files.
Supported formats include:
- Video formats: AVI, MPEG, MP4, MPEG, Ogg/OGM, RealVideo, MPEG1/2, h264/AVC, Dirac, VC1. Supported video codecs include VP9.
- Audio formats: AAC, FLAC, MP2, MP3, (E)AC3, DTS/DTS-HD, Vorbis, RealAudio.
- Subtitle formats: SRT, PGS/SUP, VobSub, ASS and SSA.
MKVToolNix is a cross platform application, which is also available for Windows and Linux.
System Requirements: Mountain Lion (10.8) and Mavericks (10.9).
New features and enhancements:
Mkvmerge: track statistics tags: the TagDefault element will not be written anymore as it was always set to the default value 1 anyway.
Mkvmerge, MKVToolNix GUI: JSON files can now contain C++-style line comments outside of strings (e.g. something like this: // this is ignored). Such comments, even though not part of the official JSON specifications, are now ignored when reading JSON files.
MKVToolNix GUI: chapter editor: opening a Matroska file without chapters in it will now open the file in an empty chapter editor instead of showing an error message.
MKVToolNix GUI: an "info" tool has been added, replacing the functionality of mkvinfo’s GUI. The functionality is not on par yet but will be for release v22.
Build system: configure was treating --disable-ubsan and --disable-addrsan the same as --enable-ubsan and --enable-addrsan.
Build system: an error message is output if a command to execute is not found instead of silently failing.
Build system: in addition to looking for the gettext C function and library, configure now also verifies the presence of the msgfmt program instead of simply relying on it.
Mkvmerge: appending files with additional parts at the same time was broken if more than one additional part was appended (e.g. when appending files from DVDs with something like '(' VTS_01_1.VOB VTS_01_2.VOB ')' + '(' VTS_02_1.VOB VTS_02_2.VOB ')'). In such a situation the content from files VTS_02_1.VOB and VTS_02_2.VOB where laid out in parallel to the content from the earlier files.
Mkvmerge: FLV reader: a single invalid AAC frame was written for AAC audio tracks with codec initialization data longer than five bytes.
Mkvmerge: FLV reader: timestamps will be normalized down to 0.
Mkvmerge: MP4 reader: if an AAC track doesn’t contain an AAC-specific decoder configuration in the ESDS portion, then a default decoder configuration will be generated based on the track’s header data instead of skipping the track.
Mkvmerge: MP4 reader: fixed reading HEVC/h.265 video tracks if they’re stored as Annex B byte streams inside MP4.
Mkvmerge: Ogg Opus reader: mkvmerge will now emit a warning instead of aborting when it encounters an Ogg Opus page with no data in the packet.
Mkvmerge, mkvextract: Matroska parser: fixed a segmentation fault that occurred whenever the first level 1 element after resyncing after an error in the file structure isn’t a cluster.
Mkvmerge, MKVToolNix GUI multiplexer & header editor: fixed a crash during file type detection for attachments if MKVToolNix is installed in a path with non-ASCII characters (e.g. German Umlauts).
Mkvinfo: the --hex-positions parameter did nothing in summary mode.
Mkvinfo: Windows: line endings will be written as \r (carriage return & line feed) again instead of just (line feed).
Mkvpropedit: adding track statistics tags: for tracks with content encoding (compression) mkvpropedit is now accounting the uncompressed number of bytes, not the encoded (compressed) number of bytes.
MKVToolNix GUI: multiplexer: the subtitle character set can now be set for appended subtitle files, too.
MKVToolNix GUI: multiplexer: when appending, all tracks appended to disabled tracks will start out disabled, too.
Build system changes:
Mkvinfo: the GUI portion has been removed. mkvinfo is now a pure command-line program again.