Jump to content

MKVToolNix 86.0 - 2024-07-13


draww

Recommended Posts

  • Administrator
Posted

MKVToolNix is a small collection of tools (mkvmerge, mkvinfo, mkvextract, mkvpropedit and mmg) that allows you to manipulate Matroska (MKV) files in several ways.

You can use MKVToolNix to create, split, edit, mux, demux, merge, extract or inspect Matroska files. The program will also work with other video formats (AVI, MPEG, MP4, MPEG, Ogg/OGM, RealVideo, MPEG1/2, h264/AVC, Dirac, VC1) including some video codecs (such as VP9 video codec support - reading from IVF/Matroska/WebM files, extract to IVF files). Audio formats (AAC, FLAC, MP2, MP3, (E)AC3, DTS/DTS-HD, Vorbis, RealAudio) and also most subtitle formats (SRT, PGS/SUP, VobSub, a$#, SSA, etc.). MKVToolNix is a cross-platform application that will work on Windows® (both 32 and 64-bit versions).

 

Homepage

Hidden Content

    Give reaction to this post to see the hidden content.

 

Downloads

Hidden Content

    Give reaction to this post to see the hidden content.

 

  • Like 6
  • Thanks 4
  • Administrator
Posted

# Version 75.0.0 "Goliath" 2023-03-26

Hidden Content

    Give reaction to this post to see the hidden content.

Hidden Content

    Give reaction to this post to see the hidden content.

 

  • Thanks 1
  • Administrator
Posted

# Version 77.0 "Elemental" 2023-06-04

Hidden Content

    Give reaction to this post to see the hidden content.

Hidden Content

    Give reaction to this post to see the hidden content.

 

  • Thanks 2
Posted (edited)
# Version 80.0 "Roundabout" 2023-10-29

## New features and enhancements

* MKVToolNix GUI: if the system's locale uses one of the Han scripts, the GUI
  will force Arabic numerals to be used in spin boxes. This prevents Suzhou
  numerals from being used which seems to be the default on Windows systems
  sold in China. Implements #3624.

## Bug fixes

* build system: fixed detection of Qt6 if `clang` is used for compilation on
  Linux. In that case Qt's `qmake` added a `gcc`-specific option that `clang`
  doesn't understand, `-mno-direct-extern-access`. `configure` will now pass
  the parameter `-spec linux-clang` to `qmake` so that it uses the correct
  compiler flags.
* build system: fixed the use of `mktemp` to be more portable to
  e.g. macOS. Fixes #3608.
* mkvmerge: if a video aspect ratio was given with `--aspect-ratio-factor`,
  the code would apply a second factor based on the pixel resolution,
  resulting in much too large values for the `DisplayWidth` element. For
  example, with a pixel resolution of 720x520 & an aspect ratio factor of 1/1
  the result should be 720x520, but instead it was 900x520. Up until release
  76.0 this has only happened when a track order was given (which
  unfortunately includes all invocations with MKVToolNix GUI as it always
  includes the track order). Starting with release 77.0 this has always
  happened due to the automatic sorting of tracks implicitly creating a track

 

Info:
Quote

Hidden Content

    Give reaction to this post to see the hidden content.

 

Link:

Quote

Hidden Content

    Give reaction to this post to see the hidden content.

 

Edited by FunkyBuddha
  • Like 2
  • Thanks 2
Posted
# Version 81.0 "Milliontown" 2023-12-02

## New features and enhancements

* mkvmerge: MPEG transport stream reader: HEVC/H.265: added support for
  reading single-layer Dolby Vision from Annex B type bitstream read from MPEG
  transport streams. Partially implements #3113.
* mkvmerge: MPEG transport stream reader, HEVC/H.265 elementary stream reader:
  added support for reading dual-layer Dolby Vision with both the base &
  enhancement layers in the same track from Annex B type bitstreams in MPEG
  transport files & elementary stream files. Implements #3126.
* mkvmerge: MPEG transport stream reader: HEVC/H.265: implemented combining
  dual-layer Dolby Vision with base & enhancement layers in different
  tracks. Implements #3127.
* MKVToolNix GUI: multiplexer: added a new option in the preferences for
  always enabling 'forced' subtitle tracks. A subtitle track is considered to
  be 'forced' if: the corresponding property is set in the source file; the
  track's name contains the word 'forced' (in English); deriving the 'forced
  display' flag from file names is active & the file name matches the
  corresponding pattern. The option is disabled by default. Implements #3627.
* MKVToolNix GUI: multiplexer: the functionality for detecting file name
  sequences when adding files can now recognize the patterns used by GoPro's
  cameras for chaptered video files. Implements #3633.
* xyzvc_dump: the end position of the current NALU will be output in
  non-portable format as well.
* xyzvc_dump: HEVC: the tool will now also output the inner NALU type of Dolby
  Vision NALUs (`unspec62` and `unspec63`).

## Bug fixes

* mkvmerge: when the user requests processing be stopped after the video ends
  `mkvmerge` will now take appending files into account properly. It won't
  stop processing unconditionally after the first file ends anymore. Fixes
  #3618.
* mkvmerge: AV1 handling in readers: the readers will now provide the pixel
  dimensions to the AV1 packetizer as early as possible, just like for other
  video packetizers. That way the pixel dimensions are available for
  calculating the display dimensions when command-line options such as
  `--aspect-ratio` & `--aspect-ratio-factor` are used. Before the change the
  calculation was done based on initial pixel dimension values of 0x0,
  resulting in display dimensions of 0x0, too. Fixes #3611.
* mkvmerge: HEVC/H.265 packetizer: when reading & appending HEVC/H.265 from
  Matroska, MP4/MOV or FLV files the first frame of all the appended files was
  sometimes dropped, resulting in broken video at the point where video is
  appended. Fixes #3479.
* mkvmerge: MPEG transport stream reader: when reading MPEG transport streams
  from Blu-rays the four-byte long `TP_extra_header` structure in front of the
  transport packets are now skipped properly. Before the fix a stray byte with
  value of `0x47` inside that `TP_extra_header` structure could have thrown
  off the detection of where the transport packets start, leading to mkvmerge
  dropping a few audio and/or video frames at the start of the file. Fixes
  #3632.
* mkvextract: AAC extractor: when an invalid program config element in the
  GA-specific config element is encountered, the program config element will
  be disregarded, which avoids mkvextract aborting with an exception. Fixes
  #3606.
* xyzvc_dump: fixed the tool aborting with an exception when the last NALU in
  an Annex B type file was shorter than four bytes.

## Other changes

* AVC & HEVC dumper development tool: the tool has been renamed from
  `xvc_dump` to `xyzvc_dump` as `xvc` is an abbreviation for an existing video
  codec (Extreme Video Coding), and the tool has nothing to do with that
  codec.

 

Info:

Quote

Hidden Content

    Give reaction to this post to see the hidden content.

 

Link:

Quote

Hidden Content

    Give reaction to this post to see the hidden content.

 

  • Thanks 1
Posted
# Version 82.0 "I'm The President" 2024-01-02

## New features and enhancements

* mkvmerge: Matroska reader: the "video alpha mode" track header property will
  be copied to the output file if present. Part of the implementation of
  #3643.
* mkvmerge: Matroska reader: the "video alpha mode" track header property will
  be reported in JSON identification mode as the track property
  `alpha_mode`. Part of the implementation of #3643.
* mkvmerge: Matroska reader: the file's timestamp scaling factor will be
  reported in JSON identification mode as the container property
  `timestamp_scale`.
* mkvmerge: MPEG transport stream reader: teletext subtitles intended for
  hearing impaired people (type 0x05) are now marked as such via the
  appropriate flag in the track headers.
* mkvmerge: file identification: the JSON identification output schema version
  has been bumped to 19.
* mkvmerge: added a new hack `always_write_block_add_ids` that can be used as
  a workaround for players that don't support the handling of missing "Block
  Addition ID" sub-elements of "Block More" elements in block additions
  properly. These are used for e.g. alpha channel data in VP9 with a "Block
  Addition ID" value of 1, which is also its default value. Workaround for the
  player issues listed in #3643.
* mkvinfo: added support for the "video alpha mode" track header element. Part
  of the implementation of #3643.
* mkvpropedit, MKVToolNix GUI's header editor: added support for the "video
  alpha mode" track header property. In `mkvpropedit` it's called
  `alpha-mode`. Part of the implementation of #3643.
* MKVToolNix GUI: multiplexer: when adding files the GUI can automatically
  enable the "hearing impaired" flag for audio and subtitle tracks if the file
  name contains the word "cc" or "sdh" delimited by certain characters
  (configurable). This feature is turned on by default. Implements #3648.
* MKVToolNix GUI: multiplexer: when scanning for Blu-ray playlists the GUI
  will now ignore playlists that are likely meant for menus. Currently the GUI
  considers this to be the case when a playlist contains the same item at
  least five times. This behavior can be turned off in the
  preferences. Implements #3658.

## Bug fixes

* mkvmerge: MPEG transport stream reader: fixed a crash introduced in v81 that
  occurred when there was at least one PCM track that wasn't copied from the
  transport stream file. Fixes #3645.
* mkvmerge: when reading data from Matroska files damaged in a specific way,
  mkvmerge ended up trying to write various types of elements that aren't
  allowed to be written (so-called `EbmlDummy` elements as well as elements
  that don't have a value set) to the output file, which caused the underlying
  `libebml` library to abort. These types of broken elements are now filtered
  out.

## Build system changes

* Qt 5 is no longer supported. Qt 6 is now required for building
  MKVToolNix. This implies that the options to `configure` revolving around
  configuring Qt 5 or choosing between the two have been removed
  (e.g. `--disable-qt6`).
* Qt 6 detection: if detection fails, error messages from `qmake` can now be
  found in `config.log`. See #3649.
* Qt 6 detection: `configure` will only consider Qt 6.2.0 or newer, not 6.0.x
  or 6.1.y anymore, due to the lack of support for the multimedia module.
* Qt 6 detection: `configure` will now fail to detect Qt 6 if the 'multimedia'
  module is not found by `qmake` (e.g. due to development packages not being
  installed). See #3649.
* The bundled `fmt` library was updated to v10.1.1.

Info:

Quote

Hidden Content

    Give reaction to this post to see the hidden content.

Link:

Quote

Hidden Content

    Give reaction to this post to see the hidden content.

 

  • Thanks 1
Posted
# Version 84.0 "Sleeper" 2024-04-28

## New features and enhancements

* mkvmerge: added a new file-specific option `--regenerate-track-uids`. When
  used for Matroska files, `mkvmerge` will generate new random track UIDs
  instead of keeping existing track UIDs. This is done automatically when a
  Matroska file was created by MakeMKV.
* mkvmerge: MP4 reader: added support for FLAC in MP4. Implements #3692.
* MKVToolNix GUI: multiplexer: the "Attachments" tab's title will now include
  the total number of attachments (both from source files & to newly
  attach). Implements #3693.
* translations: added a Norwegian Bokmål translation of the programs by Roger
  Knutsen (see `AUTHORS`).

## Bug fixes

* configure: when called with `--disable-gui` the build system still ran the
  check for the GUI libraries & failed if they weren't found. This check is
  now skipped when the option is given. Fixes #3680.
* mkvmerge: several color-related track header properties were parsed into &
  stored as a wrong integer type internally. This could result in wrong values
  being copied when very large values were present in source files, or in
  error messages when very large values were used as command-line parameters.
* MKVToolNix GUI: multiplexer: the keyboard shortcuts from the "modify
  selected tracks" sub-menu didn't work right after opening a file. They only
  started working after opening the "multiplexer" menu. Fixes #3681.

## Build system changes

* Release v8.0.0 of the `fmt` library is now required. If not found, the
  bundled copy will be used.
* A C++20 compatible compiler is now required for several but certainly not
  all C++20 features. g++ v10 & clang++ v10 should suffice.

Link:

Quote

Hidden Content

    Give reaction to this post to see the hidden content.

 

  • Thanks 1
Posted
# Version 85.0 "Shame For You" 2024-06-02

## Bug fixes

* fixed compilation of `src/common/sorting.h` with certain compilers due to
  the deprecation & removal of `std::result_of<>` in C++20. Fixes #3695.
* fixed compilation with the `gtest` library when `gtest` requires additional
  libraries by querying `pkg-config` for the correct flags & libraries to
  build with. See #3696.
* MKVToolNix GUI: multiplexer: restored the keyboard shortcut for switching to
  the "Attachments" tab (Alt+C for the English interface). Fixes #3702.
* MKVToolNix GUI: multiplexer: fixed several cases when the keyboard shortcuts
  for copying the first source file's name/the destination file's name to the
  title (Ctrl+F & Ctrl+D) and the one for copying the title to the destination
  file name (Ctrl+T) were not enabled. Fixes #3705.


# Version 84.0 "Sleeper" 2024-04-28

## New features and enhancements

* mkvmerge: added a new file-specific option `--regenerate-track-uids`. When
  used for Matroska files, `mkvmerge` will generate new random track UIDs
  instead of keeping existing track UIDs. This is done automatically when a
  Matroska file was created by MakeMKV.
* mkvmerge: MP4 reader: added support for FLAC in MP4. Implements #3692.
* MKVToolNix GUI: multiplexer: the "Attachments" tab's title will now include
  the total number of attachments (both from source files & to newly
  attach). Implements #3693.
* translations: added a Norwegian Bokmål translation of the programs by Roger
  Knutsen (see `AUTHORS`).

## Bug fixes

* configure: when called with `--disable-gui` the build system still ran the
  check for the GUI libraries & failed if they weren't found. This check is
  now skipped when the option is given. Fixes #3680.
* mkvmerge: several color-related track header properties were parsed into &
  stored as a wrong integer type internally. This could result in wrong values
  being copied when very large values were present in source files, or in
  error messages when very large values were used as command-line parameters.
* MKVToolNix GUI: multiplexer: the keyboard shortcuts from the "modify
  selected tracks" sub-menu didn't work right after opening a file. They only
  started working after opening the "multiplexer" menu. Fixes #3681.

## Build system changes

* Release v8.0.0 of the `fmt` library is now required. If not found, the
  bundled copy will be used.
* A C++20 compatible compiler is now required for several but certainly not
  all C++20 features. g++ v10 & clang++ v10 should suffice.

 

Link:

Quote

Hidden Content

    Give reaction to this post to see the hidden content.

 

  • Like 1
  • Thanks 1
Posted
# Version 86.0 "Winter" 2024-07-13

## New features and enhancements

* mkvmerge: Matroska reader: track statistics tags are included in the JSON
  identification output just like other tags had already been included: as
  part of the track properties, prefixed with `tag_`. Implements #3714.
* mkvmerge: MPEG TS reader: mkvmerge will now detect teletext subtitle tracks
  even if they're not listed in the PMT as long as it can find teletext pages
  flagged as subtitles in the header within the probed ranged of the
  file. Implements #3650.
* MKVToolNix GUI: multiplexer: the default mode for escaping the arguments in
  the "Show command line" dialog can now be set in the preferences. Partially
  implements #3709.
* MKVToolNix GUI: multiplexer: the "Show command line" dialog now includes the
  command lines for all currently open multiplex settings, switchable with a
  combo box. Partially implements #3709.
* MKVToolNix GUI: multiplexer: some users add the option
  `--regenerate-track-uids` to the "additional options", even though
  `--regenerate-track-uids` is a file-specific option, and you can only use
  global options in the "additional options". However, the GUI currently
  doesn't have an option for specifying additional file-specific options. The
  GUI now detects the use of this option in the "additional options" & adds it
  for each of the source files instead. Implements #3707.
* MKVToolNix GUI: multiplexer: the option `--regenerate-track-uids` has been
  added to the "additional command line options" dialog. See #3703.
* translations: added a Norwegian Bokmål translation of the man pages by Roger
  Knutsen (see `AUTHORS`).

## Bug fixes

* mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will no
  longer set a default duration for the track. Partially fixes #3711.
* mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will no
  longer queue frames longer than necessary, which resulted in the frames
  sometimes being written much later than they should have been according to
  their timestamps. Partially fixes #3711.
* mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will now
  write the packets' duration properly. Partially fixes #3711.
* MKVToolNix GUI: job queue: the shortcut from the "Job queue" menu are now
  enabled correctly whenever the number of jobs in the queue changes (e.g. by
  adding new jobs). Fixes #3720.

Link:

Quote

Hidden Content

    Give reaction to this post to see the hidden content.

 

  • Thanks 1

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...