AfterDawn: Software downloads

Versie historie van MKVToolNix (Portable)

<<Terug naar software beschrijving

Veranderingen voor v14.0.0 - v15.0.0

  • ## Important notes
  • * mkvmerge, mkvpropedit, GUI's header and chapter editors: the programs will no longer add most missing Matroska elements that are mandatory but have a default value in the Matroska specification (e.g. the `TagLanguage` element with a value of `und` if it isn't present in its `SimpleTag` parent). Due to this change libEBML v1.3.5 is now required.
  • ## New features and enhancements
  • * MKVToolNix GUI: multiplex tool: added a new entry to the "source files" context menu labeled "Set destination file name from selected file's name". It will force the GUI to consider the selected file to be the reference for automatically setting the file name, no matter which file was originally added as the first file. It will also force setting the destination file name once if automatic destination file name generation is turned off in the preferences. Implements part of #2058.
  • * MKVToolNix GUI: multiplex tool: added an option in the preferences on "Multiplexer" ? "Output" labeled "Only use the first source file that contains a video track". If enabled, only source files containing video tracks will be used for setting the destination file name. Other files that are added are ignore. Implements the rest of #2058.
  • * MKVToolNix GUI: header editor: added support for editing the video colour attributes. Implements the second half of #2038.
  • * MKVToolNix GUI: header editor: added support for the "video projection" track header attributes. Part of the implementation of #2064.
  • * MKVToolNix GUI: job queue: selected jobs can now be move up and down by pressing the `Ctrl+Up` and `Ctrl+Down` keys. Additionally, push buttons to move them up & down are shown if the corresponding option is enabled in the preferences. Implements #2060.
  • * mkvmerge: added support for the "video projection" track header attributes. Part of the implementation of #2064.
  • * mkvinfo: added support for the "video projection" track header attributes. Part of the implementation of #2064.
  • * mkvpropedit: added support for editing the video colour attributes. Implements one half of #2038.
  • * mkvpropedit: added support for the "video projection" track header attributes. Part of the implementation of #2064.
  • ## Bug fixes
  • * all: selecting the program's language (e.g. via the `--ui-language` command-line option or via the GUI's preferences) did not work on Linux & Unix if the `LANGUAGE` environment variable was set and didn't include the desired language. Fixes #2070.
  • * MKVToolNix GUI: removed the keyboard shortcuts for switching between the different tools (e.g. `Ctrl+Alt+1` for the multiplexer). They overlapped with basic functionality on keyboards that use an `AltGr` key, e.g. German ones, where `AltGr+7` emits `{`. As `AltGr+key` is implemented as `Ctrl+Alt+key` under the hood, this means that `AltGr+7` is really `Ctrl+Alt+7` which the GUI now took to mean "switch to the job queue" instead of "insert `{`". Fixes #2056.
  • * MKVToolNix GUI: header editor: after saving the file the GUI wasn't updating its internal file modification timestamp. That lead to the GUI wrongfully claiming that the file had been modified externally when the user wanted to save the file once more, requiring a reload of the file losing all modifications made since saving the first time.
  • * mkvmerge: DTS handling: some source files provide timestamps for audio tracks only once every `n` audio frames. In such situations mkvmerge was buffering too much data resulting in a single gap in the timestamps of one frame duration after frame number `n - 1` (the second audio timestamp read from the source file was used one output frame too early). Fixes #2071.
  • * mkvinfo: fixed a null pointer dereference if an `EbmlBinary` element's data pointer is a null pointer. Fixes #2072.
  • ## Build system changes
  • * configure: added option `--disable-update-check`. If given, the code checking online for available updates will be disabled. The update check is enabled and included in the GUI by default.
  • * libEBML v1.3.5 is now required.
  • ## Other changes
  • * mkvmerge: the option `--colour-matrix` has been renamed to `--colour-matrix-coefficients` in order to match the specification more closely. The old option name will continue to be recognized as well.



Veranderingen voor v13.0.0 - v14.0.0

  • ## New features and enhancements
  • * mkvmerge: AAC: implemented support for AAC with 960 samples per
  • frame. Implements #2031.
  • * mkvmerge: identification: if the encoding/character set of a text subtitle
  • track is known (e.g. because a byte order mark is present in the file), then
  • it will be output during identification as the `encoding`
  • property. Implements mkvmerge's part of #2053.
  • * mkvmerge: WAV reader: added support for Wave64 files. Implements #2042.
  • * mkvmerge, mkvpropedit, MKVToolNix GUI (chapter editor): added support for
  • chapters in WebM files that is spec-compliant by removing all tag elements
  • not supported by the WebM spec. Implements #2002.
  • * mkvpropedit: added support for tags in WebM files that is spec-compliant by
  • removing all tag elements not supported by the WebM spec.
  • * MKVToolNix GUI: multiplexer: if the encoding/character set of a subtitle
  • track cannot be changed, the GUI will deactivate the "subtitle character
  • set" drop-down box and ignore changes to it when multiple tracks are
  • selected. Additionally, if the track's encoding is known and cannot be
  • changed (e.g. due to a byte order mark in the file), that encoding will be
  • selected in the drop-down box automatically. Both changes signal to the user
  • that she doesn't have to take care of the encoding herself. Implements the
  • GUI's part of
  • #2053.
  • * MKVToolNix GUI: chapter editor: added a function to the "additional
  • modifications" dialog for calculating and setting the end
  • timestamps. Implements #1887.
  • * MKVToolNix GUI: changed the shortcuts for switching between the various
  • tools from `Alt+number` (e.g. `Alt+1` for the multiplexer tool) to
  • `Ctrl+Alt+number` in order to avoid clashing with Windows' input method for
  • arbitrary characters (pressing and holding `Alt` and typing the codepoint on
  • the number pad). Implements #2034.
  • * MKVToolNix GUI: added a "Window" menu and entries with shortcuts for
  • selecting the next (`Ctrl+F6`) respectively previous tab (`Ctrl+Shift+F6`)
  • in the current tool. Implements #1972, #2032.
  • * MKVToolNix GUI: on Windows the GUI will now determine the default font to
  • use by querying Windows for the default UI/message box font instead of using
  • the hardcoded `Segoe UI`. This might fix issues such as #2003 (unverified).
  • * translations: added a Romanian translation of the programs by Daniel (see
  • AUTHORS).
  • ## Bug fixes
  • * mkvmerge: AVC/h.264 parser: fixed wrong frame order & timestamp calculation
  • in certain situations when SPS (sequence parameter sets) or PPS (picture
  • parameter sets) change mid-stream. Fixes #2028.
  • * mkvmerge: HEVC/h.265 parser: fixed wrong frame order & timestamp calculation
  • in certain situations when SPS (sequence parameter sets) or PPS (picture
  • parameter sets) change mid-stream. This is the HEVC/h.265 equivalent of
  • #2028.
  • * mkvmerge: MPEG-1/-2 video: the "remove stuffing bytes" feature introduced in
  • v5.8.0 (feature request #734) was broken. In a lot of situations it did not
  • detect the end of a slice correctly and removed 0 bytes that were actually
  • part of the slice structure. Often there were no visual problems as decoders
  • were able to ignore such errors, but in other cases there are visual
  • artifacts upon decoding. As detecting the slice end properly requires
  • parsing the whole slice structure, this feature has been removed
  • again. Fixes #2045.
  • * mkvmerge: MPEG PS reader: fixed mkvmerge trying to handle an "end" code the
  • same way as a "program stream map" code.
  • * mkvmerge: MPEG TS reader: mkvmerge won't emit warnings if the system's
  • `iconv` library doesn't support the ISO 6937 character set. Fixes #2023.
  • * mkvmerge: when appending fails the error message details (e.g. "the number
  • of channels differs: 1 and 2") were often not output. Fixes #2046.
  • * MKVToolNix GUI: multiplex tool: implemented a workaround for a crash that
  • could occur during drag & drop if at least one of the columns is
  • hidden. Fixes #2009.
  • * MKVToolNix GUI: multiplex tool: appended tracks can no longer be enabled
  • (selected for multiplexing) if the track they're going to be appended to is
  • not enabled. Fixes #2039.
  • * MKVToolNix GUI: multiplex tool: if the GUI is set to ensure unique output
  • file names, it will now verify that right before starting to
  • multiplex/adding the job to the queue, too. Fixes #2052.
  • * MKVToolNix GUI: fixed the total progress reverting to 0% instead of staying
  • at 100% when all jobs have finished. This was introduced by the attempt at
  • fixing the computation of the value of total progress bar for multiple jobs
  • running. Fixes #2005.
  • * configure: fixed DocBook detection if `/bin/sh` is `dash`. Patch by Steve
  • Dibb. Fixes #2054.
  • ## Build system changes
  • * Boost: the minimum required version has been bumped to 1.49.0. Earlier
  • releases fail to build on my current systems and will therefore not be
  • supported anymore.
  • * configure: when looking for the "nlohnmann JSON" include files configure
  • will now try the path "nlohmann/json.hpp" first, "json.hpp" second (only
  • "json.hpp" was tried before). If neither is found, the copy included in the
  • MKVToolNix sources will be used. Fixes #2048.



Veranderingen voor v12.0.0 - v13.0.0

  • ## New features and enhancements
  • * mkvmerge: MPEG TS reader: information about multiple programs will be output
  • as container properties during verbose/JSON identification. See #1990 for
  • the use case.
  • * MKVToolNix GUI: multiplex tool: added a column "program" to the tracks
  • list. Certain container types such as MPEG transport streams can contain
  • multiple programs. The new column will contain the service name (think TV
  • station names such as "arte HD") for such streams. Implements the GUI part
  • of #1990.
  • * MKVToolNix GUI: multiplex tool: the dialog asking the user what to do with
  • dropped files (add to current settings, add to new settings etc.) now
  • remembers the previous decision and defaults to it the next time it's
  • shown. Implements #1997.
  • * MKVToolNix GUI: tabs can now be closed by pressing the middle mouse
  • button. Implements #1998.
  • ## Bug fixes
  • * mkvmerge: MP4 reader: MPEG-1/2 video read from MP4 files was written with an
  • invalid codec ID (e.g. `V_MPEG7`) in certain cases. Fixes #1995.
  • * mkvmerge: MPEG PS reader: made the file type detection less strict so that
  • garbage at the start of the file doesn't prevent detection. Fixes #2008.
  • * mkvmerge: MPEG PS reader: (E-)AC-3 tracks were not detected if the very
  • first packet for that track didn't contain a full (E-)AC-3 frame. Fixes
  • #2016.
  • * mkvmerge: MPEG TS reader: fixed mkvmerge not detecting all tracks in MPEG
  • transport streams containing multiple programs. Fixes one part of #1990.
  • * mkvmerge: MPEG TS reader: fixed track content being broken for some tracks
  • read from MPEG transport streams containing multiple programs. Fixes another
  • part of #1990.
  • * mkvmerge: JSON identification: the `stream_id` and `sub_stream_id` track
  • properties were output as hexadecimal strings instead of unsigned
  • integers. As the `ts_pid` track property was only used for MPEG transport
  • streams, its value is now output as `stream_id` instead, and the `ts_pid`
  • property has been removed. The JSON schema version has been bumped to 8 due
  • to this change.
  • * mkvmerge: fixed a crash when appending video tracks where one track has a
  • CodecPrivate member and the other one doesn't.
  • * mkvmerge: track statistics tags: the `NUMBER_OF_BYTES` tag is supposed to
  • contain the number of bytes in a track before any of the content encoding
  • schemes such as lossless compression is applied; however, mkvmerge was
  • wrongfully using the number of bytes after the schemes had been
  • applied. Fixes #2022.
  • * mkvmerge: CLPI & MPLS parsers: MPLS and CLPI files with version number
  • `0300` as used on Ultra HD Blu-ray Discs are now accepted as well. Fixes
  • #2010.
  • * mkvpropedit: fixed a crash when the selector used for `--tags` is invalid.
  • * MKVToolNix GUI: fixed computation of value of total progress bar for multiple
  • jobs running. Fixes #2005.
  • * MKVToolNix GUI: multiplexer, adding new attachments: when the GUI checks if
  • there's an attachment with the same name it will now disregard disabled
  • attached files. Fixes #2001.
  • * Debian/Ubuntu packaging: during a `dpkg-buildpackage` run the test suite was
  • failing when a non-English locale was active and MKVToolNix packages had
  • already been installed. Fixes #2011.



Veranderingen voor v11.0.0 - v12.0.0

  • ## New features and enhancements
  • * MKVToolNix GUI: the key combination Ctrl+Shift+Space will now toggle the selection of the current item in all tree views where multiple selections are allowed. Implements #1983.
  • * MKVToolNix GUI: chapter editor: added the extension `*.cue` (for cue sheet files) to the "open chapter file" dialog.
  • * mkvmerge: cue sheet parser: if the cue sheet contains a non-empty `TITLE` entry and if no other segment title has been set yet, then the segment title will be set to the cue sheet's `TITLE` value. Implements #1977.
  • * mkvmerge, MKVToolNix GUI (multiplexer): added an option `--no-date` that prevents the "date" field from being written to the segment information headers. Implements one half of #1964.
  • * mkvpropedit, MKVToolNix GUI: header editor: added support for editing the "date" segment information field. Implements the other half of #1964.
  • ## Bug fixes
  • * MKVToolNix GUI: preferences ? job actions, type "play audio file": the GUI will no longer clear the audio file name input if the user aborts the audio file selection dialog.
  • * MKVToolNix GUI: preferences ? job actions, type "play audio file", on Windows: the default "play audio" action was pointing to the wrong directory. Existing configurations with such a wrong path will be fixed automatically upon starting the GUI. Fixes #1956.
  • * mkvmerge: HEVC/h.265 parser: fixed the superfluous copying of the `bitstream_restriction_flag` and its dependent flags in the VUI parameters of the sequence parameter sets if the timing information is present, too. This fixes #1924 properly, and it also fixes #1958.
  • * mkvmerge: MPEG TS reader, AAC parser: the MPEG TS reader will now force the AAC parser to use the multiplex mode that the MPEG TS reader has detected (e.g. LOAS/LATM). This prevents the AAC packetizer from mis-detecting it in its own attempt to identify the mode. Fixes #1957.
  • * mkvmerge: MPEG TS reader: valid MPEG transport streams that start with an h.264/h.265 start code (e.g. a file created by cutting at an arbitrary position) were not recognized as a supported file type.
  • * mkvmerge: MPEG TS reader: fixed a potential read access from invalid memory addresses in the code parsing the program map table (PMT).
  • * mkvmerge: MPEG TS reader: if packets are encountered that belong to a PID not listed in the program map table (PMT), mkvmerge will attempt to determine their type and codec from the content. This supported content types are AAC (ADTS only) and AC-3. Fixes #1980.
  • * mkvmerge: MP4 reader: fixed finding and parsing the `colr` atom if there are more than one video extension atoms and the `colr` atom is not the first one.
  • * mkvmerge: MP4 reader: the `nclx` colour type of the `colr` atom is now recognized, too (as defined by ISO/IEC 14496-12, "ISO base media format").
  • * configure: fixed configure aborting if a `moc`, `uic`, `rcc` or `qmake` binary is found, but the binary's version is too old. Fixes #1979.



Veranderingen voor v10.0.0 - v11.0.0

  • ## New features and enhancements
  • * mkvmerge: FLAC reader: added support for handling embedded pictures as attachments. Implements #1942.
  • * mkvmerge: MP4 reader: merged pull request #1804 adding support for parsing the "COLR" atom and including its values as track headers.
  • * MKVToolNix GUI: watch jobs: the user can now have the GUI execute an action once as soon as the current job or the whole queue finishes. The actions are the same ones that can be configured to be run automatically after job or queue completion.
  • * MKVToolNix GUI: implemented several built-in actions that can be executed either on special events or once via the "watch jobs" tool. These are: playing an audio file (implemented for all operating systems); hibernating, sleeping and shutting down the computer (only implemented for Windows and for Linux systems using systemd).
  • * MKVToolNix GUI: multiplex tool: added a new option for what to do after starting to multiplex/adding to the job queue: "close current settings" will close the current multiplex settings without opening new ones.
  • ## Bug fixes
  • * mkvmerge: AAC parser: fixed mis-detection of certain data as valid ADTS AAC headers resulting in memory allocation failures. Fixes #1941.
  • * mkvmerge: AVC/h.264 parser: mkvmerge will now ignore bogus timing information in the sequence parameter sets (values indicating more than 100000 progressive frames per second). Fixes #1946.
  • * mkvmerge: AVC/h.264 & HEVC/h.265 parsers: all trailing zero bytes will now be removed from NALUs. Fixes #1952.
  • * mkvmerge: HEVC/h.265 parser: fixed copying the `bitstream_restriction_flag` and all dependent fields in the VUI parameters of the sequence parameter sets. Fixes #1924.
  • * mkvmerge: HEVC/h.265 parser: fixed the calculation of the number of parameter set arrays in the HEVCC data structure stored in CodecPrivate. Fixes the video-related part of #1938.
  • * mkvmerge: HEVC/h.265 parser: fixed writing superfluous and uninitialized bytes at the end of the HEVCC data structure stored in CodecPrivate. Another fix for the video-related part of #1938.
  • * mkvmerge: HEVC/h.265 parser: fixed the assumption that the HEVCC data structure always includes arrays for all parameter set types (VPS, SPS, PPS and SEI), and that the order is always VPS ? SPS ? PPS ? SEI. Instead now only the arrays actually present are parsed, and they can be in any order. This fixes mkvinfo's output for Matroska files created from files such as the one from #1938.
  • * mkvmerge: AVC/h.264 packetizer: when reading a framed track (e.g. from Matroska or MP4 files), specifying a default duration as fields (e.g. `50i`) would result in double the actual duration for each frame and the track's default duration header field. Fixes #1916.
  • * mkvmerge: Matroska reader: invalid track language elements are now treated as if they were set to `und` = "undetermined". See #1929 for context.
  • * mkvmerge: MPEG TS reader, AAC: mkvmerge will now require five consecutive AAC headers with identical parameters before track type determination is considered valid. This avoids false positives and consequently wrong track parameters. Fixes the audio-related part of #1938.
  • * mkvmerge: fixed an endless loop in certain circumstances when splitting by `parts` or `parts-frames` and the start of the file is discarded. Fixes #1944.
  • * MKVToolNix GUI: multiplexer tool: the "show command line" dialog will no longer include the mkvmerge executable's location as the first argument for the two "MKVToolNix option files" escape modes. Fixes #1949.
  • * MKVToolNix GUI, header editor: empty track language elements are now treated the same as those set to invalid ISO 639-2 codes: as if they were set to `und` = "undetermined". See #1929 for context.
  • ## Build system changes
  • * bug fix: configure now looks for the `strings` binary by using the `AC_CHECK_TOOL()` autoconf macro. That way it will be found in multiarch setups, too. Fixes #1923.
  • * bug fix: the environment variable USER_CXXFLAGS was accidentally removed from the compiler flags in release 9.8.0. It's been re-added. Fixes #1925.
  • * The `.desktop` files have been renamed to `org.bunkus.mkvtoolnix-gui.desktop` and `org.bunkus.mkvinfo.desktop`. This allows Wayland compositors to associate the correct icons with running applications for e.g. task switchers. Fixes #1948.
  • * Qt's multimedia component is required for compilation of the GUIs since version 11.



Veranderingen voor v9.9.0 - v10.0.0

  • ## New features and enhancements
  • * mkvmerge: AVC/h.264 parser: mkvmerge will now drop all frames before the
  • first key frame as they cannot be decoded properly anyway. See #1908.
  • * mkvmerge: HEVC/h.265 parser: mkvmerge will now drop all frames before the
  • first key frame as they cannot be decoded properly anyway. See #1908.
  • * mkvmerge: HEVC/h.265 parser: added a workaround for invalid values for the
  • "default display window" in the VUI parameters of sequence parameter
  • sets. Fixes #1907.
  • ## Bug fixes
  • * mkvmerge: MP4 reader: fixed track offsets being wrong in certain situations
  • regarding the presence or absence of edit lists ('elst' atoms) & composition
  • timestamps ('ctts' atoms). Fixes #1889.
  • * mkvmerge: MP4 reader: offsets in "ctts" are now always treated as signed
  • integers, even with version 0 atoms.
  • * mkvinfo: the timestamps of SimpleBlocks with negative timestamps are now
  • shown correctly.
  • * mkvmerge: Matroska reader: fixed handling BlockGroups and SimpleBlocks with
  • negative timestamps.
  • * mkvmerge: MP3 packetizer: the MP3 packetizer will no longer drop timestamps
  • from source containers if they go backwards. This keeps A/V in sync for
  • files where the source was in sync even though their timestamps aren't
  • monotonic increasing. Fixes #1909.
  • * mkvmerge: AVC/h.264 parser: mkvmerge will now drop timestamps from the
  • source container if no frame is emitted for that timestamp. Fixes #1908.
  • * mkvmerge: HEVC/h.265 parser: mkvmerge will now drop timestamps from the
  • source container if no frame is emitted for that timestamp. Fixes the HEVC
  • equivalent of the problem with AVC described in #1908.
  • * mkvextract: SSA/ASS: fixed extraction when the "Format" line in the
  • "[Events]" section contains less fields than the default for SSA/ASS would
  • indicate. Fixes #1913.



Veranderingen voor v9.8.0 - v9.9.0

  • New features and enhancements
  • GUI: chapter editor: added a character set selection in the preferences for text files. If a character set is selected there, it will be used instead of asking the user when opening text chapter files. Implements #1874.
  • GUI: multiplexer: added a column "character set" to the "tracks, chapters and tags" list view showing the currently selected character set for that track. Implements #1873.
  • mkvmerge: added an –engage option "all_i_slices_are_key_frames" for treating all I slices of an h.264/AVC stream as key frames in pathological streams that lack real key frames. Implements #1876.
  • GUI: running programs after jobs: added a new variable for the directory the MKVToolNix GUI executable is located in.
  • mkvmerge: DVB subtitle tracks whose CodecPrivate data is only four bytes long will now be fixed up to the proper five bytes by adding the subtitling type byte.
  • mkvmerge: MP4 reader: "ctts" version 1 atoms are now supported.
  • Bug fixes
  • mkvmerge: AC-3 handling: some source files provide timestamps for audio tracks only once every n audio frames. In such situations mkvmerge was buffering too much data resulting in a single gap in the timestamps of one frame duration after frame number n – 1 (the second audio timestamp read from the source file was used one output frame too early). Fixes #1864.
  • mkvmerge: MP4 reader: mkvmerge was only reading a small part of MP4 DASH files where the first "moov" "mdat" atoms occur before the first "moof" atom. This is part of the fix for #1867.
  • mkvmerge: MP4 reader: edit list ("edts" atoms) that are part of the "moof" atoms used in MP4 DASH files weren’t parsed. Instead the edit lists from the main track headers inside the "moov" atom were used. This is part of the fix for #1867.
  • mkvmerge: MP4 reader: when an MP4 DASH file contained both normal chunk offset table ("stco"/"co64" atoms) in their regular "moov" atoms, a sample-to-chunk table ("stsc" atom) whose last entry had a "samples per chunk" count greater than 1 and DASH "trun" atoms, then mkvmerge was calculating wrong positions the frame content. This is part of the fix for #1867.
  • mkvmerge: MP4 reader: mkvmerge couldn’t deal with the key frame index table having duplicate entries. The result was that only key frames up to and including the first duplicate entry were marked as key frames in the output file. All other frames weren’t, even though some of them were referenced from the key frame table after the first duplicate entry. This is part of the fix for #1867.
  • mkvmerge: MP4 reader: when an MP4 file contained more than one copy of the "moov" atom (the track headers etc.), mkvmerge was parsing them all adding tracks multiple times. Fix for #1877.
  • mkvmerge: MP4 reader: fixed an integer overflow during the timestamp calculation leading to files with wrong timestamps. Such files could not be played back properly by most players. Fixes #1883.
  • mkvmerge: MPEG TS reader: if the PMT lists a DVBSUB track, mkvmerge will now recognize it without having to find a packet for it within the probed range.
  • mkvmerge: splitting by parts (both the "timestamps" and the "frames" variants): fixed the calculation of track statistics tags. When calculating the duration the skipped portions weren’t taken into account leading to a too-high duration. As a consequence the BPS tag (bits per second) was wrong, too. Fixes #1885.
  • mkvmerge: reading files with DVB/HDMV TextSV subtitle tracks with invalid CodecPrivate caused mkvmerge to abort with an error from boost::format about the format string not having enough arguments. Fixes #1894.
  • mkvmerge: fixed misdetection of certain AC-3 files as MP3 files which led to an error message that "the demultiplexer could not be initialized".
  • mkvmerge: fixed huge memory consumption when appending big Matroska files with sparse tracks (e.g. forced subtitle tracks). The Matroska reader will now queue at most 128 MB of data. Fixes #1893.
  • mkvmerge: MP4 reader: the timestamps of all multiplexed tracks will now be 0-based properly.
  • mkvmerge: MP4 reader: the DTS-to-PTS offsets given by the "ctts" atoms are now applied for all tracks containing a "ctts" atom, not just h.264 & h.265 tracks.
  • Build system changes
  • Up to and including release 9.8.0 the man pages and their translations came pre-built and bundled with the source code. Those pre-built files have now been removed and must be built during the build process. Therefore the tool "xsltproc" and the DocBook XSL stylesheets for man pages are now required dependencies. Additionally the tool "po4a" must be installed for the translated man pages to be built and installed, though this is optional. In order to facilitate finding the new requirements new options have been added to confiure: "–with-xsltproc=prog", "–with-docbook-xsl-root=dir", "–with-po4a=prog" and "–with-po4a-translate=prog.
  • pugixml detection will be attempted via "pkg-config" first. If that fails, "configure" will fall back to the previous method of trying just to compile and link a test program with the standard include and library locations. Implements #1891.



Veranderingen voor v9.7.1 - v9.8.0

  • ## Important notes
  • * build system: the included version of the "drake" build tool has been removed. Since Ruby 2.1 rake has supported parallel builds, too. The MKVToolNix build system has been adjusted to enable parallel builds by default.
  • ## New features and enhancements
  • * mkvmerge: VobSub in Matroska: mkvmerge will now create and use a default index for VobSub tracks read from Matroska files that are missing their CodecPrivate element (which normally contains said index). Implements #1854.
  • * GUI: added checks for several common problems with the installation. These checks will be executed when the GUI starts, and any problems will be reported to the user.
  • * mkvmerge: added the ISO 639-2 language codes "qaa" and "qad" (both are titled "reserved for local use") as both are used often in France. See #1848 for more information.
  • * mkvmerge: the JSON identification result now includes a track's codec delay if set (only for Matroska source files). The JSON schema version has been bumped to 6.
  • * mkvmerge: MPEG TS: added a workaround for files where the subtitle packets are multiplexed properly, but where their timestamps are way off from the audio and video timestamps. Implements #1841.
  • * mkvmerge: added support for Digital Video Broadcasting (DVB) subtitles (CodecID `S_DVBSUB`). They can be read from MPEG transport streams and from Matroska files. Implements #1843.
  • ## Bug fixes
  • * mkvmerge: MP4 reader: when an MP4 file contained fewer entries for timestamps than frames (which they never should), mkvmerge would use 0 as the timestamp for all the other frames. This resulted in effects such as the last frame of an output file having a timestamp of 0 and in split files having a much longer duration than they should have. Fixes #1847.
  • * GUI: the cache cleanup process that's run automatically when the GUI starts no longer blocks file identification until it is finished. Additionally the process will only be run once per release of MKVToolNix. Fixes #1860.
  • * GUI: certain failures during file identification that can be traced to broken installations (e.g. mkvmerge being too old) won't be stored in the cache anymore. Without this fix the GUI would still use the cached failed identification result even though the underlying might have already been fixed.
  • * mkvmerge: fixed that the error message "not enough space on disk" was shown twice on some operating systems. Fixes #1850.
  • * mkvmerge, Matroska: if a codec delay is set for a track in the input file, it is kept. Fixes #1849.
  • * GUI: multiplexer: changing default values in the preferences (e.g. the default track language to set) did not affect files whose identification results had already been cached.
  • * mkvmerge, MP4: fixed detection of MP3 audio when the object type ID in the ESDS signals MP2 and the track headers have invalid values for number of channels or sampling frequency. Fixes #1844.
  • ## Build system changes
  • * nlohman json-cpp: configure now looks for a system-wide installed version of the nlohmann json-cpp header-only library. If one is found, it is used; otherwise the included version will be used. Implements #1858.
  • * If MKVToolNix is built with rake v10.0.0 or newer, its "multitask" feature will be turned on allowing automatic parallel builds.
  • * CURL is no longer used by MKVToolNix and is therefore not required for building anymore.
  • ## Other changes
  • * GUI: the update check now uses Qt's networking classes instead of CURL.
  • * The command line option "--check-for-updates" has been removed, even though the deprecation warning in release 9.7.0 stated that it would be removed in 2018.



Veranderingen voor v9.4.1 - v9.4.2

  • * mkvmerge: bug fix: AVC & HEVC readers: release v9.4.1 contains a change to both readers so that they will refuse to handle files where the detected pixel width or height is equal to or less than 0. This check was wrong in certain cases causing mkvmerge to reject a file as an unsupported file type. This has been fixed while keeping the constraints on width & height having to be positive.



Veranderingen voor v9.0.1 - v9.1.0

  • * mkvmerge: MPEG TS/teletext enhancement: included the teletext page number in the JSON/verbose identification output as track property "teletext_page".
  • * mkvmerge: MPEG TS bug fix: the "text_subtitles" property of the JSON/verbose identification modes was always set to true for all subtitle tracks, even for those that aren't text subtitles (VobSub, PG).
  • * mkvmerge: MPEG TS/teletext enhancement: if a teletext track contains multiple teletext pages then mkvmerge will now recognize all of those pages as separate tracks to merge instead of only merging the first page. See #1662.



Veranderingen voor v9.0.0 - v9.0.1

  • * mkvmerge: bug fix: regression in v9.0.0: the text subtitle packetizer was wrongfully assuming an encoding of UTF-8 if none was given instead of assuming the system's encoding. Fixes #1639.
  • * mkvmerge: bug fix: if too many chapters had been generated with--generate-chapters then mkvmerge created a bogus entry in the meta seek element and did not actually write the chapters to the file.
  • * mkvmerge: bug fix: the DTS packetizer was setting the number of channels wrong sometimes when reducing to the DTS core. It was using the number of channels including the extensions instead of the channels of the core only.



Veranderingen voor v8.9.0 - v9.0.0

  • 2016-03-26 Moritz Bunkus
  • * Released v9.0.0 "Power to progress".
  • 2016-03-25 Mike
  • * build system: implemented support for explicit pre-compiled headers for Linux and Mac OS.
  • 2016-03-25 Moritz Bunkus
  • * Installer: fixed support for silent installation and uninstallation.
  • 2016-03-24 Moritz Bunkus
  • * mkvmerge: bug fix: fixed two more issues in the conversion of teletext subtitles to SRT subtitles:
  • 1. Packets belonging to pages that don't contain subtitles were used as valid end points for subtitles causing entries to become very short (e.g. 40ms).
  • 2. Sometimes the timestamps of wrong packets were used as entry's start and end points causing start timestamps and durations that were slightly off.
  • Second part of the fix for #1623.
  • 2016-03-22 Moritz Bunkus
  • * mkvmerge: MP4/QuickTime reader: audio tracks with the FourCC 'lpcm' are muxed as A_PCM/INT/LIT instead of A_QUICKTIME.
  • * mkvmerge: bug fix: MP4/QuickTime reader: audio tracks can contain two instances of certain header fields (channel count, bits/sample & channel, sample rate) in the STSD atom: one instance in the version 0 header and one in the version 2 header parts. So far mkvmerge has used those from the version 0 header only and ignored the ones from the version 2 header.
  • This has been changed to match the behavior of other players and MP4 readers like ffmpeg. If the STSD atom contains a version 2 structure then the fields from it will be used. Otherwise the fields from the version 0 part will be used.
  • Fixes #1633.
  • 2016-03-21 Moritz Bunkus
  • * all: new feature: added a new translation of both the programs and the man pages to Korean by Potato (see AUTHORS).
  • * MKVToolNix GUI: chapter editor enhancement: added a button next to the 'segment UID' controls that enable the user to select a Matroska file. The GUI reads that file's segment UID and enters its value into the input field.
  • 2016-03-20 Moritz Bunkus
  • * build system: added an option to configure »--without-qt-pkg-config«. Normally configure uses pkg-config for detecting Qt and setting QT_CFLAGS and QT_LIBS. With this option configure won't use pkg-config and rely on the user having set both variables before running configure. This enables using Qt on systems where no pkg-config files are generated (e.g. Qt 5.6.0 on MacOS with frameworks enabled).
  • 2016-03-18 Moritz Bunkus
  • * mkvinfo: change: on Windows and Mac OS mkvinfo will now launch the GUI by default unless the option »--no-gui« (or »-G«) has been given. This is due to the fact that on both OS users often use portable versions respectively disk images and launch the executable directly and not via start menu entries. In those situations adding command line options for launching the GUI is unnecessarily difficult.
  • 2016-03-16 Moritz Bunkus
  • * mkvmerge: bug fix: fixed two issues in the conversion of teletext subtitles to SRT subtitles:
  • 1. Consecutive teletext packets with the same content are now merged into a single entry instead of resulting in multiple entries.
  • 2. The calculation of a packet's duration was wrong in certain situations.
  • Part of the fix for #1623.
  • 2016-03-14 Moritz Bunkus
  • * MKVToolNix GUI: merge tool (playlist selection dialog) enhancement: the playlist items are sorted by their position within the playlist by default.
  • * MKVToolNix GUI: merge tool (playlist selection dialog) enhancement: double-clicking on a playlist will select and add that playlist.
  • 2016-03-12 Moritz Bunkus
  • * mkvmerge: enhancement: added the number of bits per sample to the verbose/JSON identification output for FLAC files.
  • 2016-03-11 Moritz Bunkus
  • * mkvextract: bug fix: fixed the duplication of VPS, SPS, PPS and SEI NALUs when extracting h.265/HEVC tracks. See #1076 and #1621.
  • * mkvmerge: bug fix: reverted the patch by Vladimír Pilný that made the h.265/HEVC not store SEI NALUs with the frames during muxing. It was supposed to prevent having the SEI NALUs present twice when extracting HEVC due to some SEI information also being stored in the codec private data, but it dropped a lot of other SEI NALUs irrevocably. Fixes #1621.
  • 2016-03-09 Moritz Bunkus
  • * mkvmerge: bug fix: the --sub-charset option is now ignored for text subtitle files that start with a byte-order mark (BOM) bringing the behavior in line with the documentation. Fixes #1620.
  • 2016-03-07 Moritz Bunkus
  • * mkvextract: new feature: implemented the extraction of Big Endian PCM (codec ID A_PCM/INT/BIG) to WAV files. The content will be byte-swapped into Little Endian PCM in the process.
  • * mkvmerge: enhancement: Big Endian PCM tracks will now be byte-swapped into Little Endian PCM, and the codec ID A_PCM/INT/LIT will be used. This was done due to a lot of players not supporting Big Endian PCM inside Matroska.
  • 2016-03-01 Moritz Bunkus
  • * mkvmerge, MKVToolNix GUI: new feature: added switches (»--generate-chapters« and »--generate-chapter-name-template«) and their corresponding UI items for generating chapters while muxing. Two modes are currently supported: »when-appending« which creates one chapter at the beginning and an additional one each time a file is appended and »interval:…« which generates chapters in fixed intervals.
  • Implements mkvmerge's and the GUI's part of #1586.
  • 2016-02-28 Moritz Bunkus
  • * MKVToolNix GUI: job queue enhancement: completed jobs will now be removed from the queue automatically on exit if the job has been added more than 14 days ago in order not to let the queue grow arbitrarily large. This feature can be turned off and the number of days can be adjusted in the preferences.
  • 2016-02-27 Moritz Bunkus
  • * mkvpropedit, MKVToolNix GUI's header editor: bug fix: fixed the handling of files where the last level 1 element has an unknown size. The programs will now either fix this element to have a known size or abort the process with an appropriate error message but without modifying the file. Fixes #1601.
  • 2016-02-25 Moritz Bunkus
  • * mkvextract: enhancement: when extracting chapters in the simple format the user can use the new option »--simple-language …« for selecting the chapter names that are output. Normally the first chapter name found in each atom is used. With this option mkvextract looks for a chapter name whose language matches the specified one.
  • Implements the feature enhancement part of #1610.
  • * mkvextract: several issues regarding the extraction of chapters in the simple format have been fixed: if multiple names with different languages were present then an entry had been written for each name; the total number of entries written was wrong; the wrong entries were written.
  • The new code only writes the first name found from the top-most chapter atoms of all editions. Chapters flagged as hidden or as not enabled are not extracted at all.
  • Fixes the bug part of #1610.
  • 2016-02-24 Moritz Bunkus
  • * MKVToolNix GUI: new chapter editor feature: added an option to multiply all chapter timecodes by a factor to the "additional modifications" dialog. Implements #1609.



Veranderingen voor v8.8.0 - v8.9.0

  • * MKVToolNix GUI: the default font size adjustment has been deactivated for the time being as it causes problems on high DPI displays. See #1602.
  • * MKVToolNix GUI: bug fix: ampersands (&) in file names were shown as keyboard shortcuts in tab titles in various tools (merge tool, chapter and header editors, job output tool). Fixes #1603.
  • 2016-02-20 Moritz Bunkus
  • * MKVToolNix GUI: header editor enhancement: when the user drags & drops files on an open header editor tab the GUI will ask the user what to do with them: either open the files as new header editor tabs or add the files as new attachments to the current tab. The action can also be set as the default. Implements #1585.
  • * MKVToolNix GUI: chapter & header editor enhancement: Matroska files are initially opened in read-only mode and only later re-opened in read/write mode in order to enable reading from write-protected files. Part of the implementation of #1594.
  • * MKVToolNix GUI: chapter & header enhancement: the error messages shown when a Matroska file could not be parsed have been improved to include the most likely reasons. Part of the implementation of #1594.
  • * MKVToolNix GUI: chapter editor enhancement: added a menu entry for removing chapters from an existing Matroska file. Inspired by #1593.
  • * MKVToolNix GUI: chapter editor enhancement: it is now possible to save chapters to Matroska files after having removed all entries (editions and chapter atoms). This effectively removes the chapters from the file. Implements #1593.
  • 2016-02-18 Moritz Bunkus
  • * MKVToolNix GUI: job queue enhancement: added keyboard shortcuts for removing all completed jobs and for removing successfully completed jobs. Implements #1599.
  • * MKVToolNix GUI: merge tool enhancement: added icons to the context menu actions in the "attachments" sub-tab. Implements #1596.
  • * MKVToolNix GUI: merge tool enhancement: made the context menu entries in the "attachments" sub-tab clearer. Implements #1597.
  • 2016-02-10 Moritz Bunkus
  • * mkvmerge: bug fix: fixed the handling of AVIs with a negative video height (which signals that the rows are arranged top-to-bottom).
  • 2016-01-31 Moritz Bunkus
  • * MKVToolNix GUI: job queue bug fix: fixed an invalid memory access in the "edit in corresponding tool and remove from queue" functionality.
  • * MKVToolNix GUI: re-write, merge tool bug fix: the file identification is now based on mkvmerge's JSON output instead of its verbose output. This also fixes the merge tool not showing names of attachments inside Matroska files properly if those names contain spaces (#1583).
  • * MKVToolNix GUI: merge tool bug fix: the "mux this" combo box was disabled if a single attachment was selected.
  • * mkvmerge: bug fix: removed spurious output generated during file identification in the HEVC detection code (e.g. "Error No Error").
  • * mkvmerge: bug fix: fixed the output of the "playlist_file" and "other_file" properties of the "container" entity in the JSON identification format from a single string to an array of strings. The format version has been bumped to 3 due to this change.
  • 2016-01-30 Moritz Bunkus
  • * docs: added a Polish translation of the man pages by Daniel Kluz (see AUTHORS).
  • * MKVToolNix GUI: "run program after XYZ" enhancement: configurations can now be deactivated without having to change them. Implements #1581.
  • 2016-01-24 Moritz Bunkus
  • * mkvmerge: bug fix: fixed parsing of AAC in MP4 with a program config element with an empty comment field at the end of the GA specific config. Fixes #1578.
  • 2016-01-19 Moritz Bunkus
  • * mkvmerge: enhancement: when reading Matroska files created by HandBrake that contain chapters the existing edition UIDs and chapter UIDs are removed and random ones created. This is necessary as HandBrake assigns sequential numbers starting at 1 for each file. Therefore there are two chapter entries with the UID 1, two with the UID 2 etc. and those should, strictly speaking, be treated as if they were a single chapter whereas the user expects those entries to stay separate entries. Implements an improvement for issues such as #1561.
  • * MKVToolNix GUI: merge tool bug fix: the GUI no longer requires at least one source file to be present before muxing can start in order to allow creation of track-less files. Fixes #1576.
  • 2016-01-16 Moritz Bunkus
  • * MKVToolNix GUI: enhancement: the "escape for Windows' cmd.exe" mechanism will only escape arguments that actually need escaping in order to produce easier to read command lines.
  • 2016-01-15 Moritz Bunkus
  • * mkvmerge: QuickTime/MP4 reader: fix a division by zero in the index generation for certain old audio codecs that have certain header fields (bytes_per_frame, samples_per_packet) set to 0.
  • 2016-01-13 Moritz Bunkus
  • * mkvinfo: bug fix: global elements (EBML void and CRC-32 elements) are now handled correctly if they're located inside the segment info or the chapter translate parents



Veranderingen voor v8.5.1 - v8.5.2

  • 2015-11-04 Moritz Bunkus
  • * Released v8.5.2.
  • 2015-11-03 Moritz Bunkus
  • * MKVToolNix GUI: bug fix: the file/track columns aren't resized to fit their content when expanding/collapsing tree nodes anymore. Such expansion also happened when moving entries with the "move up/down" buttons. Fixes #1492.
  • * mkvmerge: bug fix: fixed the values of the "previous/next segment UID" elements when splitting by parts with segment linking enabled. Fixes #1497.
  • * mkvmerge: bug fix: mkvmerge no longer creates a "next segment UID" field in the last file when splitting and segment linking is active.
  • 2015-10-22 Moritz Bunkus
  • * mkvpropedit, MKVToolNix GUI header editor: enhancement: added the "codec delay" track header field as an editable property.
  • * mkvmerge: bug fix: fixed an endless loop when updating track headers caused by the fix for "Re-rendering track headers: data_size != 0 not implemented yet". Fixes #1485.



Veranderingen voor v8.2.0 - v8.3.0

  • * MKVToolNix GUI: chapter editor enhancement: pressing return will cause the next appropriate chapter control to be selected depending on where the focus currently is: from a chapter input to the first chapter name, from a chapter name to the next chapter name and from the last chapter name to the next chapter entry's start time. Implements #1358.



Veranderingen voor v8.0.0 - v8.1.0

  • * mmg: bug fix: fixed handling of the characters [ and ] in container and track properties.
  • * MKVToolNix GUI: merge tool enhancement: moved the »output filename« controls below the three tabs so they're always visible. Also added an option in the preferences to move them back inside the »output« tab. Implements.



Veranderingen voor v7.9.0 - v8.0.0

  • * MKVToolNix GUI: improved locating the mkvmerge executable on non-Windows systems. Fixes #1246.



Veranderingen voor v7.8.0 - v7.9.0

  • * build system: configure will now check for Qt by default. If at least v5.2.0 is found then the Qt versions of mkvinfo's GUI and the new mkvtoolnix-gui will be enabled. You can affect this detection with the options --disable-gui (turns off all GUIs; works the same as before), --disable-qt (will compile thewxWidgets GUI for mkvinfo and mmg) and --without-mkvtoolnix-gui (will compile the Qt version of mkvinfo's GUI but no mkvtoolnix-gui).



Veranderingen voor v7.6.0 - v7.7.0

  • 2015-02-08 Moritz Bunkus
  • Released v7.6.0.
  • 2015-02-03 Moritz Bunkus
  • all programs: bug fix: Since release 7.0.0 the wrong exit code was used when warnings were finished (0 instead of 1). Fixes #1101.
  • 2015-02-02 Moritz Bunkus
  • mkvmerge: bug fix: Appending chapters with the same chapter UID was dropping all sub-chapters from the one of the two merged chapters. Now the sub-chapters are merged recursively as well.
  • mkvmerge: bug fix: The wrong Codec ID was written when reading PCM tracks from Matroska files in Big Endian byte order. Fixes #1113.
  • 2015-01-23 Moritz Bunkus
  • all: new feature: added a Serbian (Latin) translation of the programs by Danko (see AUTHORS).
  • 2015-01-17 Moritz Bunkus
  • mkvmerge: bug fix: If splitting was active and AC3 tracks read from Matroska files were shorter than a split point then the following output file would contain an AC3 packet with the timecode of 00:00:00 somewhere in the middle. Fixes #1104.
  • 2015-01-14 Moritz Bunkus
  • mmg: bug fix: If a chapter track from a Matroska file is selected then the »language« drop-down box is disabled. Fixes #1105.
  • 2015-01-05 Moritz Bunkus
  • mkvmerge: bug fix: On Windows the end-of-file-reached status wasn't tracked correctly for certain file operations. This could manifest in e.g. mkvmerge not finding tracks in MPEG transport streams when probing MPLS playlist files. Fixes #1100.
  • mmg: bug fix: When scanning for play lists the window presenting the results listed some properties in an unescaped way (e.g. »\s« instead of spaces).
  • mmg: bug fix: When adding MPLS files mmg was only offering to scan for more playlists if there were at least two additional MPLS files present. This has been fixed to one MPLS file (in addition to the one just added).



Veranderingen voor v7.5.0 - v7.6.0

  • 2015-02-08 Moritz Bunkus
  • Released v7.6.0.
  • 2015-02-03 Moritz Bunkus
  • all programs: bug fix: Since release 7.0.0 the wrong exit code was used when warnings were finished (0 instead of 1). Fixes #1101.
  • 2015-02-02 Moritz Bunkus
  • mkvmerge: bug fix: Appending chapters with the same chapter UID was dropping all sub-chapters from the one of the two merged chapters. Now the sub-chapters are merged recursively as well.
  • mkvmerge: bug fix: The wrong Codec ID was written when reading PCM tracks from Matroska files in Big Endian byte order. Fixes #1113.
  • 2015-01-23 Moritz Bunkus
  • all: new feature: added a Serbian (Latin) translation of the programs by Danko (see AUTHORS).
  • 2015-01-17 Moritz Bunkus
  • mkvmerge: bug fix: If splitting was active and AC3 tracks read from Matroska files were shorter than a split point then the following output file would contain an AC3 packet with the timecode of 00:00:00 somewhere in the middle. Fixes #1104.
  • 2015-01-14 Moritz Bunkus
  • mmg: bug fix: If a chapter track from a Matroska file is selected then the »language« drop-down box is disabled. Fixes #1105.
  • 2015-01-05 Moritz Bunkus
  • mkvmerge: bug fix: On Windows the end-of-file-reached status wasn't tracked correctly for certain file operations. This could manifest in e.g. mkvmerge not finding tracks in MPEG transport streams when probing MPLS playlist files. Fixes #1100.
  • mmg: bug fix: When scanning for play lists the window presenting the results listed some properties in an unescaped way (e.g. »\s« instead of spaces).
  • mmg: bug fix: When adding MPLS files mmg was only offering to scan for more playlists if there were at least two additional MPLS files present. This has been fixed to one MPLS file (in addition to the one just added).



Veranderingen voor v7.4.0 - v7.5.0

  • 2015-01-04 Moritz Bunkus
  • Released v7.5.0.
  • mkvmerge: bug fix: If the target drive is full then a nicer error message is output instead of simply crashing due to an uncaught exception.
  • mkvmerge: bug fix: Fixed reading MPEG transport streams in which all PATs and/or PMTs have CRC errors. Fixes #1100.
  • 2015-01-03 Moritz Bunkus
  • all: bug fix: Re-wrote the whole checksum calculation code. This lead to a fix for the Adler32 checksum algorithm that was triggered under certain circumstances. Adler32 is used in mkvinfo's output (e.g. in summary mode or if checksums are activated), in the h.265/HEVC bitstream and TrueAudio (TTA) file headers.
  • 2015-01-01 Moritz Bunkus
  • mkvmerge: bug fix: fixed handling of HE-AACv2 with object type »parametric stereo«.
  • mkvmerge: new feature: implemented support for MP4 DASH files. Implements #1038.
  • 2014-12-31 Moritz Bunkus
  • mkvmerge: new feature: implemented reading MPEG-H p2/HEVC video tracks from MP4 files. Implements #996.
  • 2014-12-30 Moritz Bunkus
  • mkvinfo: bug fix: track statistics: the duration (and therefore the estimated bitrate) was wrong for files in which the frame with the maximum timecode wasn't the last frame in the file. Fixes #1092.
  • mkvmerge: new feature: implemented support for AAC in LOAS/LATM multiplex if read from MPEG transport streams or raw LOAS/LATM AAC files. Implements #877 and fixes the underlying issue in #832.
  • 2014-12-21 Moritz Bunkus
  • build system: libEBML and libMatroska have been changed to provide pkg-config configuration files. Therefore MKVToolNix' build system has been switched to look for both libraries via pkg-config.
  • 2014-12-20 Moritz Bunkus
  • all: bug fix: several fixes have gone into libEBML and libMatroska that prevent illegal memory access (both reading from and writing to unallocated addresses). The bugs #1089 and #1096 have thus been fixed.
  • 2014-12-19 Moritz Bunkus
  • build system: libMatroska v1.4.2 is now required as part of a fix for #1096.
  • 2014-12-18 Moritz Bunkus
  • build system: libEBML v1.3.1 is now required as a part of a fix for #1089.
  • mkvinfo: bug fix: mkvinfo will abort with a proper error message if the first element found is not an EBML head element. See #1089.
  • all: enhancement: improved exception messages that can occur when reading damaged Matroska files to make it clearer for the user what's happening. See #1089.
  • 2014-12-16 Moritz Bunkus
  • mkvmerge: new feature: Added support for reading h.265/HEVC video tracks from MPEG transport streams. Implements #995.
  • mkvinfo: bug fix: Timecodes output with ms resolution are now rounded to ms instead of simply cut off. Fixes #1093.



Veranderingen voor v7.3.0 - v7.4.0

  • Released v7.4.0.
  • 2014-12-10 Moritz Bunkus
  • mkvmerge: bug fix: mkvmerge was sometimes dropping lines from teletext subtitles read from MPEG transport streams. See #773.
  • 2014-12-05 Moritz Bunkus
  • mkvmerge: bug fix: The PCM packetizer was producing wrong track statistics by disregarding the last packet's duration when reading PCM data from packaged sources (Matroska, MP4 files). Fixes #1075.
  • build system: enhancement: configure will look for a system version of the pugixml library and use that instead of the bundled version if it is found. Fixes #1090.
  • mkvextract: bug fix for chapter & tag extraction: If locale is set to a non-UTF locale (including C or POSIX) then no XML data was output at all even if the XML data contained ASCII characters only. Fixes #1086. This also fixes mkvextract writing two BOMs when extracting tags with the »--redirect-output« option on Windows.
  • 2014-11-19 Moritz Bunkus
  • mkvinfo: bug fix: summary mode: reported frame types in block groups are now derived from the number of references found and not by the references' values.
  • 2014-11-16 Moritz Bunkus
  • mkvmerge: bug fix: Fixed muxing open GOPs after I frames in MPEG-1/2 video (patch by Stefan Pöschel). Fixes #1084.
  • 2014-11-15 Moritz Bunkus
  • mmg: bug fix: VP9 video tracks are accepted in WebM mode.
  • 2014-11-05 Moritz Bunkus
  • mkvmerge: bug fix: Cherry-picked several commits from DivX' mkvmerge fork for improved HEVC handling. Fixes #1076.
  • all: new feature: added a Catalan translation of the programs by Antoni Bella Pérez (see AUTHORS).
  • 2014-11-04 Moritz Bunkus
  • mkvmerge: bug fix: Fixed the handling of Big Endian PCM tracks read from MP4 files. Fixes #1078.
  • 2014-10-22 Moritz Bunkus



Veranderingen voor v7.2.0 - v7.3.0

  • mkvmerge: new feature: implemented support for reading teletext subtitles from MPEG transport streams. They're converted to SRT-style subtitles (CodecID S_TEXT/UTF8). Implements #773.
  • mkvmerge: bug fix: probing MPEG transport streams with certain types of broken MPEG-2 inside caused mkvmerge to exit with an error message. Such tracks are now ignored instead.
  • mkvmerge, mmg's chapter editor: fixed the default value for the »language« element if it isn't present in a chapter XML file.
  • MKVToolNix GUI: implemented drag & drop in the files pane.
  • mkvinfo (Qt version on Windows): bug fix: the console window is closed if the GUI is launched.
  • mkvmerge: bug fix: Reading tracks from MPEG transport streams resulted in the track being cut off at points with a five minute gap in between frames. It is due to timecode wrap detection introduced in v6.9.0. As it affects subtitles the most the wrap detection has been relaxed for them.
  • MKVToolNix GUI: implemented drag & drop in the track pane.
  • mkvmerge: new feature: added support for PCM in MPEG program streams (.vob – DVDs) and transport streams (.ts, .m2ts – Blu-rays). Implements #763.
  • MKVToolNix GUI: fixed missing command line switch for audio sync/stretch.
  • MKVToolNix GUI: implemented drag & drop in the job queue.
  • MKVToolNix GUI: implemented storing the job queue when the application exits and retrieving it when it starts again.
  • Installer: bug fix: the shortcut for the GUI preview on the desktop is removed upon uninstallation. If the user opts not to have shortcuts on the desktop then no shortcut is created for the GUI preview either.
  • MKVToolNix GUI: fixed clearing the file/track/attachment lists when starting a new config or when loading an existing one.
  • MKVToolNix GUI: implemented setting the output file name automatically in four different modes (don't set at all; place in previous output directory; place in fixed output directory; place in parent directory of first source file) with an option to make them unique by appending a running number.
  • MKVToolNix GUI: implemented setting the file title automatically from added files that already have a title.



Veranderingen voor v7.1.0 - v7.2.0

  • 2014-09-13 Moritz Bunkus
  • Released v7.2.0.
  • MKVToolNix GUI: included a first preview version in the Windows installer and portable releases.
  • 2014-09-08 Moritz Bunkus
  • mkvmerge: bug fix: Fixed calculating AC3 delay from garbage data when reading AC3 from AVIs. This stopped working in release 5.4.0 due to commit 97cc2121.
  • 2014-09-06 Moritz Bunkus
  • mkvextract: bug fix: SSA/ASS files with sections after "[Events]" in their CodecPrivate are now handled correctly. Fixes #1057.
  • 2014-09-05 Moritz Bunkus
  • mkvmerge: bug fix: Fixed handling certain edit list types in MP4 files that are used for positive track delays. Fixes #1059.
  • 2014-08-09 Moritz Bunkus
  • source: Fixed compilation with Boost 1.56.0 which changed the»indexed« range adaptor in an incompatible way.
  • mkvpropedit, mmg’s header editor: bug fix: when editing files with missing track UID elements such an element will be generated automatically instead of crashing and leaving the file in an unplayable state. Part of a fix for #1050.
  • mkvmerge: bug fix: Reading Matroska files with missing track UID elements will no longer cause mkvmerge to abort with an error. A warning is printed and a new unique track ID generated instead. Part of a fix for #1050.



Veranderingen voor v7.0.0 - v7.1.0

  • * all: bug fix: Fixed file seeking code for »seek relative to endof file « case.
  • * mmg: bug fix: Selecting the root of the chapter editor tree will disable the language/country inputs properly as changing those fields doesn't make sense for the root.



Veranderingen voor v6.9.1 - v7.0.0

  • mkvmerge: enhancement: In addition to the track statistics tags »BPS«, »DURATION«, »NUMBER_OF_BYTES« and »NUMBER_OF_FRAMES« mkvmerge will write two more tags identifying which application wrote the statistics (»_STATISTICS_WRITING_APP«) and when the file in question was written: »_STATISTICS_WRITING_DATE_UTC«. »_STATISTICS_WRITING_APP« will always contain the same string contained in the segment info header element »WritingApp«. »_STATISTICS_WRITING_DATE_UTC« will contain the same timestamp as in the segment info header element »Date«, though »_STATISTICS_WRITING_DATE_UTC« is actually a string representation instead of an integer value.
  • Additionally a tag named »_STATISTICS_TAGS« is written containing the names of the tags that mkvmerge has set automatically. It equals the following currently: »BPS DURATION NUMBER_OF_BYTES NUMBER_OF_FRAMES«.
  • build system: Boost's "date/time" library is now required.
  • mkvmerge: bug fix: If a single subtitle track contains two or more entries at the same timecode then the cue duration and cue relative position elements written were wrong.
  • mkvinfo: bug fix: fixed wrong progress percentage shown during saving the information to text files. Fixes #1016.
  • mkvmerge: new feature: Added a global option for disabling writing the tags with statistics for each track: --disable-track-specific-tags.
  • mkvmerge: new feature: When identifying a Matroska file in verbose identification mode track-specific tags will be output as well. The format is »tag_:», e.g. for a tag named »BPS« with the value »224000« the output would be »tag_bps:224000«. Enhancement for #1021.
  • mkvmerge: new feature: mkvmerge will write track-specific tags with statistics (»BPS« for the average number of bits per second, »DURATION« for the duration, »NUMBER_OF_BYTES« and »NUMBER_OF_FRAMES« for the track's size in bytes and its number of frames/packets). Implements #1021.
  • mkvmerge: bug fix: Changed the file type detection order again. The text subtitle formats are now probed after those binary formats that can be detected quickly and unambiguously. This avoids some mis-detection if e.g. Matroska files as ASS text subtitles if they do contain such a track.
  • mmg: enhancement: The chapter editor will only use fast-mode parsing when loading chapters from Matroska files.
  • all: bug fix: fixed invalid memory access in the cleanup procedures which only occurred if the output was redirected with the »--redirect-output« command line parameter.
  • mkvmerge: enhancement: The last chapter entry read from MPLS files is removed if it is at most five seconds long. Patch by Andrew Dvorak (see AUTHORS).
  • mkvmerge: enhancement: added the attachment UID to the verbose identification output of Matroska files.
  • mmg: bug fix: Selecting a subtitle track correctly sets the »character set« drop-down box if no character set was set for this track. Fixes #1008.
  • mmg: enhancement: the subtitle character set cannot be set anymore for subtitle tracks read from Matroska files as mkvmerge ignores that setting for said container anyway (text subs are always encoded in UTF-8 in Matroska).
  • mmg: enhancement: mmg will look for the »mkvmerge« executable in the same directory as the »mmg« executable is located it if the location hasn't been set by the user on all operating systems (before: only on Windows). Improves detection if »mkvmerge« is not in the $PATH.



Veranderingen voor v6.9.0 - v6.9.1

  • fixed a severe bug that wasn’t present in 6.8.0



Veranderingen voor v6.7.0 - v6.8.0

  • 2014-03-02 Moritz Bunkus
  • Released v6.8.0.
  • 2014-02-28 Moritz Bunkus
  • mkvmerge, mkvextract: new feature: added support for h.265/HEVC by merging the patches from DivX/Rovi Corp. So far HEVC is only supported as elementary streams and read from other Matroska files.
  • 2014-02-22 Moritz Bunkus
  • mkvmerge: enhancement: The deprecated ISO 639-1 code "iw" is now recognized for Hebrew.
  • 2014-02-15 Moritz Bunkus
  • mkvmerge: bug fix: The AC3 packetizer will re-derive the sampling frequency and the number of channels from the bitstream. This way obviously invalid information from the source container like a sampling frequency of 0 Hz will be fixed.
  • 2014-02-05 Moritz Bunkus
  • mkvmerge: enhancements: AVI reader: audio chunks with obvious wrong size information (bigger than 10 MB) will be skipped.
  • 2014-02-03 Moritz Bunkus
  • mkvmerge: bug fix: When reading M2TS files belonging to an MPLS playlist mkvmerge will now only copy packets whose timestamps lie between the »in time« and »out time« restrictions from the playlist's entry corresponding to that M2TS file. Fixes #985.
  • 2014-01-22 Moritz Bunkus
  • all: Windows 64bit: fixed return value checks for opening files. Fixes #972.
  • 2014-01-21 Moritz Bunkus
  • all: Windows: when redirecting the program's output with cmd.exe (e.g. »mkvinfo file.mkv > info.txt«) the programs will no longer write two line feed characters (\r) per carriage return character (\n). Fixes #970.
  • all: Windows: the default charset for the files created with »--redirect-output« has been changed from the system's local charset to UTF-8. Just like before it can be changed with »--output-charset«. See #970.
  • all: bug fix: Windows: messages written to the console (cmd.exe) are not re-encoded to the local charset and back to UTF-16 before they're handed over to ConsoleWriteW(). This fixes outputting Unicode characters to the console that are not part of the local charset. Fixes #971.
  • 2014-01-18 Moritz Bunkus
  • extract: bug fix: using names of non-existing files in »attachments«, »chapters«, »cuesheet« or »tags« mode caused mkvextract to crash instead of emitting a proper error message. Fixes #964.
  • 2014-01-17 Moritz Bunkus
  • mmg: bug fix: fixed the check for WebM-compatible track types for Opus.
  • 2014-01-12 Moritz Bunkus
  • mkvmerge: bug fix: fixed muxing Sorenson v3 (SVQ3) video from QuickTime files.
  • 2014-01-11 Moritz Bunkus
  • mkvmerge, mkvextract, mkvpropedit: enhancement: attachments in Matroska files with a missing FileUID element are not ignored anymore even though they violate the specs. mkvmerge generates a new FileUID instead.
  • 2014-01-10 Moritz Bunkus
  • mkvmerge: re-built with the 64bit build for Windows with a newer compiler version in order to fix #957. It was due to a bug in gcc: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56742
  • mmg: bug fix: mkvmerge's file identification is written to a temporary file with --redirect-output and from there into mmg instead of directly from mkvmerge. This prevents from character re-coding done by wxWidgets 3.0.0 on Windows. Fixes #959.
  • 2014-01-09 Moritz Bunkus
  • installer: enhancement: the architecture (32bit vs 64bit) is mentioned in the interface.
  • installer: bug fix: the installation directory for 64bit builds will default to the proper directory (»C:\Program Files« instead of »C:\Program Files (x86)«). Fixes #956.



Veranderingen voor v6.4.1 - v6.5.0

  • * mkvmerge: enhancement: filler NALUs will now be removed from framed h.264/AVC tracks (such as the ones read from Matroska/MP4 files) just like they have already been when handling unframed tracks.
  • * mkvextract: new feature: implemented support for extracting VP9 tracks into IVF files.
  • * mkvmerge: new feature: implemented support for VP9 read from IVF and Matroska/WebM files. Implements #899.
  • * mkvextract: enhancement: using the same track/attachment ID multiple times in "tracks", "attachments" or "timecodes_v2" mode will result in an error message instead of one empty file. Implements #914.
  • * mmg: bug fix: With wxWidgets 2.9.x/3.0.x debug message will no longer appear as modal dialogs but only go to the log window.
  • * mkvmerge: bug fix: fixed a crash when reading empty global tag files.
  • * build system: bug fix: fix autodetection of Boost's library path if it is installed in the multiarch directories (e.g. /usr/lib/i386-linux-gnu or /usr/lib/x86_64-linux-gnu).
  • * mmg: bug fix: saved window widths were growing by 1 pixel each time mmg was exited.
  • * documentation: Added a German translation of the man pages
  • * mkvmerge: bug fix: Reading OGM files with chapter entries not encoded in the system's local character set has been fixed. During identification the number of chapter entries is still output by removing any non-ASCII characters from the chapter entries. When muxing an additional warning is output if parsing those chapter entries fails, e.g. due to the format being wrong or due to the charset guessed wrongly.
  • * mkvmerge: bug fix: The "duration" element was calculated wrong if the first element in the file wasn't the one with the smallest timestamp. To be precise, it was too short by the difference between the first timestamp and the smallest one (e.g with video sequences timestamped 80ms, 0ms, 40ms, 120ms... the duration was 80ms too short).



Veranderingen voor v6.4.0 - v6.4.1

  • mkvmerge: bug fix: fixed packet ordering regression introduced in 6.4.0 if --default-duration is used for a track.



Veranderingen voor v6.3.0-1 - v6.4.0

  • mkvextract: new feature: Implemented extraction of Opus tracks into OggOpus files.
  • mkvinfo: bug fix: The track information summary enabled with -t/--track-info counted bytes in SimpleBlocks twice.
  • mkvmerge: bug fix: CueRelativePosition was wrong for BlockGroups: it pointed to the Block inside the group instead of the BlockGroup itself. CueRelativePosition elements for SimpleBlock elements are not affected. Fixes #903.
  • mkvmerge: new feature: Implemented final Opus muxing.
  • mmg: bug fix: The "jobs" folder will be created in the same mmg.exe is located in for the portable version. The installed version will still keep the folder where has already been (%APP_DATA%\mkvtoolnix\jobs).
  • mmg: bug fix: Closing mmg's window while it was minimized caused mmg to appear hidden and unmovable when started the next time.
  • mmg: bug fix: Fixed overly long startup time with wxWidgets 2.9.x (especially on Windows) by using alternative methods for initializing certain controls. Makes startup time on par with wxWidgets 2.8. See #893.
  • mkvinfo: new feature: Added support for the new Matroska elements DiscardPadding, CodecDelay and SeekPreRoll.
  • build system: libMatroska 1.4.1 is now required for building.



Veranderingen voor v6.3.0 - v6.3.0-1

  • Added new builds for Windows (6.3.0-1): same source, but built against a different version of the wxWidgets library in order to circumvent a bug in the library.



Veranderingen voor v6.2.0 - v6.3.0

  • mkvmerge: bug fix: When appending unframed AVC/h.264 tracks and setting the default duration the second and all following source parts will use the same default duration as set for the first part. Fixes #889.
  • all: enhancement (Windows only): mmg will store its settings in a file "mkvtoolnix.ini" in the same folder mmg.exe is located in if MKVToolNix hasn't been installed via its installer. If it has been installed then the settings are stored in the Windows registry. This way MKVToolNix is truly portable.
  • mmg: new feature: mmg's windows and dialogs will remember and restore their positions and sizes. Implements #878.
  • mkvmerge: bug fix: AVC/h.264 output module: fixed writing the wrong values if --fix-bitstream-timing-information is used. Fixes #888.
  • mkvmerge: bug fix: FLV reader: Implemented deriving the video dimensions for FLV1 type tracks from the frame content if they're not given within a script tag. Fixes #880.
  • mkvmerge: bug fix: Fixed handling MPEG transport streams with broken PES packet streams. Fixes #879 and #887.
  • mkvextract: bug fix: mkvextract writes the correct value for the "block alignment" value in the header of WAV files (mostly affects mono PCM audio tracks). Fixes #883.
  • all: new feature: added a Portuguese translation of the programs by Ricardo PerdigĂŁo (see AUTHORS).



<<Terug naar software beschrijving