MKVToolNix 5.6.0 released

Hey,

I’ve released v5.6.0. It fixes a couple of important issues with the new --split parts: functionality. Other bugs were fixed as well. A Polish translation of the programs has been added as well as a Spanish translation of mmg’s guide.

Here are the usual links: the home page, the source code and the Windows installer and 7zip archive.

All of the binaries that I provide myself are already available.

Here’s the full ChangeLog since release 5.5.0:

  • 2012-05-27 Moritz Bunkus <moritz@bunkus.org>
    • Released v5.6.0.
    • documentation: Added Spanish translation of mmg’s guide by Israel Lucas Torrijos (see AUTHORS).
  • 2012-05-20 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: SRT subtitle entries with colons as the decimal separator are accepted. Fix for issue 754.
  • 2012-05-13 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: XML tag files with <Simple> tags that only contained a name and nested <Simple> were wrongfully rejected as invalid. Fixes issue 752.
    • mkvmerge: enhancement: mkvmerge was optimizied to keep cluster timecodes strictly increasing in most situations.
  • 2012-04-24 Moritz Bunkus <moritz@bunkus.org>
    • all: Added a translation to Polish by Daniel (see AUTHORS).
  • 2012-04-16 Moritz Bunkus <moritz@bunkus.org>
    • mkvextract: bug fix: Extraction of AVC/h.264 was completely broken after 2012-04-09 resulting in files with a length of 0 bytes.
  • 2012-04-09 Moritz Bunkus <moritz@bunkus.org>
    • mmg: new feature: When adding a Matroska file that has either the "previous segment UID" or the "next segment UID" set then mmg will copy those two and the source file’s segment UID into the corresponding controls on the "globla" tab if they haven’t been set before. Implements ticket 733.
    • mkvmerge: new feature: The verbose identification mode for Matroska files will now includes the "segment UID", the "next segment UID" and "previous segment UID" elements.
    • mkvmerge: enhancement: In "–split parts:" mode mkvmerge will use the output file name as it is instead of adding a running number to it if all the ranges to be kept are to be written into a single output file. Implements ticket 743.
    • mkvextract: bug fix: mkvextract will no longer abort extracing h.264 tracks if it encounters a NAL smaller than its size field. Instead it will warn about it and drop the NAL.
  • 2012-04-08 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: Writing more than two parts into the same file with "–split parts:" resulted in the timecodes of the third and all following parts to be wrong. Fixes ticket 740.
    • mkvmerge: bug fix: The "–split parts:" functionality was not taking dropped ranges into account when calculating the segment duration for files that more than one range was written to. Fixes ticket 738.
    • mkvmerge: bug fix: The "–split parts:" functionality was producing a small gap between the first part’s last packet’s timecode and the second part’s first packet’s timecode if two parts are written to the same file. Fixes ticket 742.
  • 2012-04-07 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: The "–split parts:" functionality was writing a superfluous and empty first part if the first range starts at 00:00:00. Fixes ticket 737.
  • 2012-04-07 Moritz Bunkus <moritz@bunkus.org>
    • mmg, build system: Fixed building with wxWidgets 2.9.3.

14 thoughts on “MKVToolNix 5.6.0 released

  1. mieze

    Thanks a lot! The links to “the source code and the Windows installer and 7zip archive” point to v5.5.0, you should update them.

    1. mosu Post author

      Thanks for noticing. You were right, of course — Stupid Mistakes Part 2 — Copy & Paste Strikes Back. Corrected.

  2. Henrik Jensen

    Hey mosu
    I’ve tried (an partially succeded) to cross compile to a i686-pc-mingw32 target through MXE on ubuntu 12.04 and even on cygwin as host for MXE through some hacks :-). But I don’t seem to get passed wxWidget or more precise its dependency SDL 1.2.15 to get a MMG executable. Get an “undefined reference to `WinMain@16′” build error. I know it’s probably an upstream bug MXE or SDL (or more likely a PEBKAC http://en.wikipedia.org/wiki/PEBKAC ) but I wonder if you have had any trouble with this?
    Promise I’ll compile a full bug report later on the bug tracker. There are some futher problems with some of the m4 macros checking the native host systems capabilities instead of MXE so you have to source the CC=i686-pc-mingw32-gcc CPP=… enviroment vars. etc. to get through a mkvtoolnix build after completing the MXE build.

    –Henrik

    1. mosu Post author

      I don’t have any such issues with building. I’m still on Ubuntu 11.10, though I highly doubt that this makes any kind of difference.

      The only problem I have with current (about three weeks ago) MXE is that gcc 4.7.0, wxWidgets 2.8.x and MKVToolNix do not play nice together — probably because wxWidgets is compiled in C++98 mode while MKVToolNix is compiled in C++11 mode. That’s why I’ve patched my MXE installation to use gcc 4.6.3. However, even with gcc 4.7.0 compilation runs just fine the way I’ve described it in README.Windows.txt — those problems only occur when actually running MKVToolNix.

      Note that I don’t have to set any environment variable before compiling MXE. I strongly advise you to check whether or not you have set any of CC, CXX, CPP, CFLAGS, CXXFLAGS, LDFLAGS, LIBS and unset them all before doing anything with MXE. It might also shed some light on the problem if you created a new Linux user from scratch and tried cloning & compiling MXE with that user (pay attention not to leak environment variables from your current environment e.g. by using ‘su’, ‘sudo’ or ‘ssh’ in order to access that user).

      1. Henrik Jensen

        Arh, I’ll bet it’s a gcc 4.7 vs 4.63 problem with SDL.
        I’ll try your github.com/mbunkus/mxe.git fork and see how it goes.

        Btw. my enviroment is clean of any CC CFLAGS INCLUDE LIB vars., tested with printenv, and MXE builds fine (except SDL) but it is when running the ./run_configure in mkvtoolnix that I get the problems. ./configure detected the old gcc 4.4x (I started out building MXE/mkvtoolnix on ubuntu 10.10 thats how I notised it). Of cource after upgrading to 11.10 and then 12.04 configure succeded on the gcc compiler but, I guess, that is because the native compiler on 11.10 and 12.04 is >= 4.6. I still had to force the CC=i686-pc-mingw32-gcc etc. and INCLUDE and LIB path otherwise, especially, the boost libs don’t get detected.

        Anyway I’ll try as you suggest with a new user.

        Thanks for the advices.
        –Henrik

  3. mosu Post author

    Like I said, I don’t have any problems compiling with 4.7.0. However, I just remembered that I actually disabled SDL in my MXE clone — simply because I don’t need it. I’ve also disabled several other libraries/features.

    Ah your problem is with MKVToolNix’ configure/build process? Then I suggest you don’t set any env var and use what I’m using:

    host=i686-pc-mingw32
    crossbase=$HOME/prog/video/mingw/cross/usr
    crossbin=${crossbase}/${host}/bin

    export PKG_CONFIG_LIBDIR=${crossbase}/${host}/lib/pkgconfig
    export CFLAGS=-Wno-strict-aliasing
    export CXXFLAGS=-Wno-strict-aliasing
    ./configure
    –host=i868-pc-mingw32
    –build=x86_64-unknown-linux-gnu
    –cache-file=config.cache
    –with-boost=${crossbase}/i686-pc-mingw32
    –with-wx-config=${crossbase}/i686-pc-mingw32/bin/i686-pc-mingw32-wx-config

    The warning flags are used in order to silence issues in wxWidgets.

    Anyway, this is (mostly) 1:1 from README.Windows.txt…

    Like I said, don’t set CC/CXX! If configure seems to find the wrong gcc then you didn’t use –host=… properly.

    BTW: You can see my patches to MXE here: https://github.com/mbunkus/mxe

    1. mosu Post author

      Ah well… WordPress doesn’t like to keep stuff intact. There are supposed to be double dashes in front of the option names.

    2. Henrik Jensen

      The line:
      “export PKG_CONFIG_LIBDIR=${crossbase}/${host}/lib/pkgconfig”
      is not created by ‘winbuild/setup_cross_compilation_env.sh’
      as well as ‘–build=x86_64-unknown-linux-gnu’, when it creates the ‘./run_configure’.
      Other than that my ./run_configure is roughly the same.
      I’ll try with your suggestions.

      Thanks
      –Henrik

      1. mosu Post author

        PKG_CONFIG_LIBDIR is only required for building the Qt components. As those are not done yet you can omit that line.

        –build=… only silences certain warnings in configure. It should work without it as well (and it depends on you system architecture, obviously).

  4. Henrik Jensen

    Oh my reply to
    “Ah well… WordPress doesn’t like to keep stuff intact. There are supposed to be double dashes in front of the option names.”
    seems to have disapeared.
    I guess you mean double back slashes after the ‘./configure’ options (when created by setup_cross_compilation_env.sh (to create ./run_configure) and single when executed from commandline)?
    –Henrik

    1. mosu Post author

      No? I meant double dashes as in ‘-‘ followed by ‘-‘ followed by e.g. ‘build=i686-…’.

  5. Henrik Jensen

    Hey again mosu
    Shouldn’t
    “–with-wx-config=${crossbase}/i686-pc-mingw32/bin/i686-pc-mingw32-wx-config”
    be
    “–with-wx-config=${crossbase}/i686-pc-mingw32/bin/wx-config”
    as MXE (original) creates a symlink, ${crossbase}/i686-pc-mingw32/bin/wx-config
    to ${crossbase}/bin/i686-pc-mingw32-wx-config.
    Admitted, haven’t tried your fork yet but I’m in the process of setting it up.
    But the ‘./winbuild/setup_cross_compilation_env.sh’ in the git mkvtoolnix also does the same:
    “–with-wx-config=”${INSTALL_DIR}/usr/${TARGET}/bin/${TARGET}-wx-config”
    instead of
    “–with-wx-config=”${INSTALL_DIR}/usr/${TARGET}/bin/wx-config” ?

    –Henrik

    1. mosu Post author

      If you want to continue this discussion then please via email. I don’t like comment interfaces for such things (one of the reasons: the dash thingy above).

Comments are closed.