View Full Version : MKVToolNix v24.0.0 released
SamKook
7th August 2013, 14:36
maybe i can help you.
i got the same issue one time by self creating the chapter.txt-file.
with the lines is allready fine, but you need at the end of the file an empty line.
jump to the last position of the text and hit ENTER, then safe the file.
I don't think that's right. The way I work, I never leave an empty line at the end and all my chapters work fine when I mux them with mkvmerge.
I don't actually use it's chapter editor though so maybe that's a contraint only for it.
I also usually do it via command line but I think I've done it a few times with the GUI, just not 100% sure about it.
Boulder
9th August 2013, 17:17
I'm having problems with appending linked mkv files and then extracting the FLAC audio track (using MKVExtractGUI-2) out of the resulting large mkv file. The reason why I'm doing this is that one of my HDs broke down and I need to recreate a part of my collection from backups which consist of linked mkv files (due to getting files to fit optimally on DVDs).
The troublesome file is in three parts. The whole file plays normally when the parts are in the same folder, but after appending the parts, the audio track is ruined. The playback length is incorrect and if I extract the FLAC track out of each part, the second and third parts are just static or complete silence.
I've also noticed that the merged file has incorrect chapters at least on the PC when using Media Player Classic (tried two different splitters), didn't test on my media player yet. MKVExtractGUI-2 shows the correct amount of chapters but it doesn't match with what MPC shows in the playback bar.
sneaker_ger
9th August 2013, 20:21
It could be because of the private data where Matroska stores the FLAC headers. If you have three different encodes they all have their own private data fields, but if you merge them into a single track/file only the first private data field is kept (more than one private data field is not possible in Matroska). It basically means that there can't be any fix from mkvmerge. What you can do however: reencode the three parts to a single new encode. Fortunately, since you are using a lossless codec, this only costs time.
/edit:
Tried reading up on it a bit and it seems that each FLAC frame should have its own header that make decoding it possible, so you probably shouldn't get static/silence, even if the duration is shown incorrectly. Maybe wait for Mosu to answer since I don't know if these individual frame headers are removed.
Boulder
10th August 2013, 10:54
The issue with the FLAC file seems to occur in this one only so there must be something specific in the linked files themselves. I tested another clip which was also in three segments but it worked just fine.
The chapter issue affects every file that has multiple segments. I can post screenshots if Mosu wants to see what MPC shows.
sneaker_ger
12th August 2013, 08:28
I've also noticed that the merged file has incorrect chapters at least on the PC when using Media Player Classic (tried two different splitters), didn't test on my media player yet. MKVExtractGUI-2 shows the correct amount of chapters but it doesn't match with what MPC shows in the playback bar.
The chapter issue affects every file that has multiple segments. I can post screenshots if Mosu wants to see what MPC shows.
So these are ordered chapters with segment linking of external files and the chapters don't work correctly on the merged file?
That would be expected as the segment UIDs those chapters link to do not exist anymore after the merge. You would have to manually edit the chapters since mkvmerge does not offer any "un-order" feature AFAIK.
Boulder
12th August 2013, 08:38
I kind of expected the append feature to automagically create correct chapters, but maybe it's not that simple. Though it shouldn't be complex since all the timecode information is there to use.
sneaker_ger
12th August 2013, 08:49
There was some kind of chapter magic for appending added not long ago, but I think it only works on "simple" chapters where each file had its own chapters to begin with. Ordered chapters use a single chapter info that describes the complete virtual timeline spanning over all files. As you say it probably is pretty simple to manually edit them since the times don't change and all you have to do is delete all the ordered chapter elements.
rhaz
15th August 2013, 11:39
Hi. Using latest mkvmerge GUI on Win8x64, when using .mkv file and selecting Open with mmg the progam launch but it stays minimized to taskbar and clicking it it won't open. It just stays forced in the taskbar.
Mosu
15th August 2013, 11:45
I kind of expected the append feature to automagically create correct chapters, but maybe it's not that simple. Though it shouldn't be complex since all the timecode information is there to use.
mkvmerge does indeed not contain such auto-un-linking-correction for chapters.
Mosu
15th August 2013, 11:47
Hi. Using latest mkvmerge GUI on Win8x64, when using .mkv file and selecting Open with mmg the progam launch but it stays minimized to taskbar and clicking it it won't open. It just stays forced in the taskbar.
This has been discussed (http://forum.doom9.org/showthread.php?p=1635328#post1635328) before and solved (http://forum.doom9.org/showthread.php?p=1635436#post1635436) in the meantime.
Boulder
15th August 2013, 16:07
mkvmerge does indeed not contain such auto-un-linking-correction for chapters.
Is there anything that could be done about the FLAC problem which I reported in my first post? I.e. the file was split into three linked segments but it is not possible to append them again or extract the audio track from the last two segments. If I play the individual segments in MPC-HC, there are no problems with the audio.
Mosu
15th August 2013, 16:09
Not really, no. Or maybe there could, but I'm definitely not willing to invest the time for it. Sorry.
Boulder
15th August 2013, 16:14
OK :( Is this behaviour encountered only with FLAC files or does it affect other ones too? I'd like to know which format I should use - FLAC consumes less disk space than the original DTS-HD MA or TrueHD.
Mosu
15th August 2013, 16:26
This particular problem applies to FLAC tracks, but not to any other (as far as I know).
Selur
16th August 2013, 08:14
Small question is there some sort of short cut when trying to append multiple files.
I have around 100 1min chunks named: chunks_1.mkv to chunks_100.mkv now I want do append them using mkvmerge.
writing: chunks_1.mkv + chunks_2.mkv + ... + chunks_100.mkv is kind of annoying :)
Cu Selur
Ps.: If this is not supported atm. would be nice if this could be added.
Mosu
16th August 2013, 09:03
In mmg you can select multiple files to append in the file dialog.
On the command line there's nothing trivial to achieve this, but it's not that difficult to script, e.g. with zsh (or equivalent bash syntax):
typeset -a args
for file (chunk*.mkv) {
if [[ ${#args} > 0 ]] args=($args +)
args=($args $file)
}
mkvmerge -o out.mkv $args
Selur
16th August 2013, 09:04
On the command line there's nothing trivial to achieve this,...
Okay, thanks. Just wanted to make sure I didn't miss something. :)
Cu Selur
sneaker_ger
18th August 2013, 23:38
Yes:
https://www.bunkus.org/videotools/mkvtoolnix/doc/mkvpropedit.html
Mosu
19th August 2013, 20:15
In case anyone's wondering what sneaker_ger's referring to: there had been a post (deleted since) asking if it's possible to add/remove attachments without remuxing.
mirek190
29th August 2013, 08:53
Hi Mosu
I can say really nice piece of work !
But I have one problem with mkvtoolnix ( mkvextract exactly ).
If I add opus audios into mkv I cannot extract them later from mkv file with the help mkvextract.
It happens just with opus audio.
Could you repair it?
Thanks for your work again !
Mosu
29th August 2013, 08:57
Opus extraction is not supported in mkvextract. I cannot tell you when it will be (that's more of a "when" than an "if").
hubblec4
29th August 2013, 16:05
hi Mosu
a question about the chaptereditor. for chapternaming it is possible more then one name to set. why? and what effect have it for the chapters?
in the chapter.xml i found more "nodes" "<chapterstring>" as one, but only the first "chapterstring-node" will be shown during playback. LAV and AVSplitter and Haali.
for what need more then one chapterstring-node?
Mosu
29th August 2013, 16:18
You can provide different names in different languages. The idea is that a player can show other languages based on the player's own interface language. Think of the strings more like elaborate descriptions than simple names. In Matroska not only can you number your chapters ("1", "2", ... "12") but you can provide descriptions if you want ("Chapter 03: Introduction of the thief character").
Now displaying such a description is of course a problem if it's written in a language the user doesn't understand. Therefore we decided to provide the option in the specs for providing the translations at the same time. For the prior example you could flag that description as the English one and provide another <chapterstring> entry flagged as German: "Kapitel 03: Einführung des Diebescharakters". If the OS's language (or the player's interface language) is set to German the player can show the German string. Otherwise it can show the English string (which is supposed to be the default/fallback). Both entries apply to the same chapter, of course.
I don't know if there's actually a player out there that makes use of this feature.
hubblec4
29th August 2013, 19:13
ok, i think i understand a little bit :-)
i'm sure there is no player (splitter) that can handle this feature.
thanks for the explanation.
atm: when i want two or more "language-chapters" i create two or more editons. so you can change the language of all chapters with two clicks in the player.
but its sound nice if the player can this by himself.
hubblec4
29th August 2013, 19:47
next question's :-)
chapter/edition -UID: your chaptereditor set 19 digits, i have used other proggs and there are 10 digits or 12 and so on.
with 20 digits works it to (i used your "verify-option")
what is the right number of digits?
segment UID: i.e.: is it ok when i use 32 digits of number 9? (99999999999999999999999999999999)
the format is hex. can i use chars like A or B (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)?
Mosu
30th August 2013, 17:08
The Matroska specs (http://www.matroska.org/technical/specs/index.html) tell you that both UIDs are Matroska unsigned integer: up to 64bits. mkvmerge choses one randomly. They have to be unique with the logical segment. When you merge (or append) two Matroska files then entries with the same UID are considered to belong to the same entry and will be merged, too, of course.
Chetwood
4th September 2013, 15:49
I thought that mmg would be capable of applying a command-line to an entire directory of files but Mosu pointed me at this FAQ entry (https://trac.bunkus.org/wiki/FAQ%3ABatchMuxingWithMMG) so I was wondering if anyone here can turn this commandline
"D:\Programme\MKVtoolnix\mkvmerge.exe" -o "e:\\remux ok\\Test S02E05.mkv" "--priority" "lower" "--default-track" "0:yes" "--forced-track" "0:no" "--display-dimensions" "0:1280x720" "--language" "1:ger" "--default-track" "1:yes" "--forced-track" "1:no" "--language" "2:eng" "--default-track" "2:no" "--forced-track" "2:no" "-a" "1,2" "-d" "0" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "M:\\remux\\Test S02E05.mkv" ")" "--language" "0:ger" "--default-track" "0:yes" "--forced-track" "0:yes" "-s" "0" "-D" "-A" "-T" "--no-global-tags" "--no-chapters" "(" "M:\\remux\\Test S02E05-de-forced.idx" ")" "--language" "0:ger" "--default-track" "0:no" "--forced-track" "0:no" "-s" "0" "-D" "-A" "-T" "--no-global-tags" "--no-chapters" "(" "M:\\remux\\Test S02E05-de.idx" ")" "--language" "0:eng" "--default-track" "0:no" "--forced-track" "0:no" "-s" "0" "-D" "-A" "-T" "--no-global-tags" "--no-chapters" "(" "M:\\remux\\Test S02E05-en.idx" ")" "--track-order" "0:0,0:1,0:2,1:0,2:0,3:0" "--engage" "no_cue_duration" "--engage" "no_cue_relative_position"
into a batch that runs on Windows? It's muxing each mkv of one directory with its corresponding subs (de forced, de, en or sometimes de and en only).
Boulder
4th September 2013, 15:57
I used this for my Star Trek TNG stuff.
for %f in (star*.h264) do "C:\Program Files (x86)\MKVtoolnix\mkvmerge.exe" -o "M:\\Series\\Star Trek The Next Generation\\Season 3\\%~nf.mkv" "--priority" "higher" "--forced-track" "0:no" "-d" "0" "-A" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "J:\\%~nf.h264" ")" "--language" "0:eng" "--forced-track" "0:no" "-a" "0" "-D" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "J:\\%~nf.m4a" ")" "--language" "0:eng" "--forced-track" "0:no" "-s" "0" "-D" "-A" "-T" "--no-global-tags" "--no-chapters" "(" "J:\\%~nf.srt" ")" "--track-order" "0:0,1:0,2:0" "--chapters" "J:\\%~nf.xml"
Basically it's looking for files named star*.h264 in the current directory, picks up the full filename and then uses it (without the extension, hence the %~nf) to fill the fields mkvmerge needs.
I don't know how to adjust it for situations where the muxing process is not exactly the same in every case but maybe this will help you a bit.
sneaker_ger
4th September 2013, 16:25
@echo off
if exist *.mkv mkdir remux
for %%a in (*.mkv) do (
if exist "%%~na-de-forced.idx" mkvmerge --engage no_cue_duration --engage no_cue_relative_position -o "remux\%%a" --language 1:ger --language 2:eng ="%%a" --default-track 0:yes --forced-track 0:yes --language 0:ger ="%%~na-de-forced.idx" --language 0:ger ="%%~na-de.idx" --language 0:eng ="%%~na-en.idx"
if not exist "%%~na-de-forced.idx" mkvmerge --engage no_cue_duration --engage no_cue_relative_position -o "remux\%%a" --language 1:ger --language 2:eng ="%%a" --default-track 0:no --language 0:ger ="%%~na-de.idx" --default-track 0:no --language 0:eng ="%%~na-en.idx"
)
hello_hello
4th September 2013, 21:52
Is there a change MKVMergeGUI might one day have a "New" button above the "Add" button? Or somewhere in the vicinity? Maybe it's just me but I'm so used to clicking on "Add" or "Append" or "Remove" etc I sometimes catch myself moving the cursor towards the same area for "New" too.... before I remember it's all the way over the other side hidden under the File menu. :)
Thanks for your continued work on MKVMerge. I couldn't imagine life without it.
Mosu
4th September 2013, 21:56
No, definitely not. That area is already crowded enough, and it wouldn't fit topically into what a "new" function does (especially "File -> new"). What "new" really does is clear ALL inputs in ALL of the tabs (except for the chapters). The "add", "append" and "remove..." buttons on the other hand only work on the file/track list and are therefore located close to it.
Reino
4th September 2013, 22:35
@ Boulder, sneaker_ger:
Can't you people hit enter a couple more times? Not all of us have ultra-wide-screen monitors!
O.t.o.h, (as on the Hydrogenaudio Forums for instance) would be really handy for lots of code or situations like above.
Mosu
4th September 2013, 22:45
And "nice example!" or "good work!" or "thanks!" wouldn't have hurt to say either. Just saying.
Selur
6th September 2013, 12:39
trying to multiplex a m2v raw video stream and a flac audio stream using:
mkvmerge --ui-language en -o "H:\Output\mplayer_detects_noAudio.mkv" --global-tags "H:\Output\mplayer_detects_noAudio_13_29_11_5210__04.xml" -d 0 --default-track 0:yes --track-name 0:"0" --default-duration 0:59.94i --aspect-ratio-factor 0:0.889 --no-chapters --compression -1:none --forced-track 0:yes --no-audio --no-subtitles "H:\Output\13_29_11_5210_03.m2v" --default-track 0:yes --forced-track 0:no -a 0 --compression -1:none --no-video --no-subtitles --no-chapters "H:\Output\iId_3_aid_128_13_29_11_5210_02.flac"
I got:
mkvmerge v6.3.0 ('You can't stop me!') built on Jun 27 2013 22:06:07
'H:\Output\13_29_11_5210_03.m2v': Using the demultiplexer for the format 'AVC/h.264'.
'H:\Output\iId_3_aid_128_13_29_11_5210_02.flac': Using the demultiplexer for the format 'FLAC'.
+-> Parsing the FLAC file. This can take a LONG time.
+-> Pre-parsing FLAC file: 2%
+-> Pre-parsing FLAC file: 7%
+-> Pre-parsing FLAC file: 12%
+-> Pre-parsing FLAC file: 17%
+-> Pre-parsing FLAC file: 22%
+-> Pre-parsing FLAC file: 28%
+-> Pre-parsing FLAC file: 33%
+-> Pre-parsing FLAC file: 38%
+-> Pre-parsing FLAC file: 43%
+-> Pre-parsing FLAC file: 48%
+-> Pre-parsing FLAC file: 53%
+-> Pre-parsing FLAC file: 58%
+-> Pre-parsing FLAC file: 63%
+-> Pre-parsing FLAC file: 68%
+-> Pre-parsing FLAC file: 73%
+-> Pre-parsing FLAC file: 79%
+-> Pre-parsing FLAC file: 84%
+-> Pre-parsing FLAC file: 89%
+-> Pre-parsing FLAC file: 94%
+-> Pre-parsing FLAC file: 99%
+-> Pre-parsing FLAC file: 100%
'H:\Output\13_29_11_5210_03.m2v' track 0: Using the output module for the format 'AVC/h.264 (unframed)'.
'H:\Output\iId_3_aid_128_13_29_11_5210_02.flac' track 0: Using the output module for the format 'FLAC'.
The file 'H:\Output\mplayer_detects_noAudio.mkv' has been opened for writing.
Error: 'H:\Output\13_29_11_5210_03.m2v' track 0: mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:
No error
and an mkv file which is only 14kByte.
-> uploaded the raw stream, the mkv and the xml file I used: http://www.embedupload.com/?d=1XQGVKIQB1
Not sure if the m2v is broken (plays fine in MPC-HC) in one or the other way or if it really is a bug in mkvmerge.
-> Thanks for looking into it. :)
Cu Selur
Ps.: "" -> yes, a horizontal and vertical scrolling codebox wouldn't be such a bad idea. *gig* (personally I don't really care, since I normally copy&paste command line I need into an editor anyways.)
Mosu
6th September 2013, 12:56
Sorry, I won't spend time on investigating MPEG-1/2 related parser issues. The MPEG-1/2 code is known to have a lot of problems that I've already spent hours trying to improve them, and I've tried re-writing it from scratch. Simply too much effort, as it turned out, especially for legacy video formats.
Chetwood
7th September 2013, 07:36
@Boulder, sneaker_ger
Thanks!
hello_hello
7th September 2013, 08:06
No, definitely not. That area is already crowded enough, and it wouldn't fit topically into what a "new" function does (especially "File -> new"). What "new" really does is clear ALL inputs in ALL of the tabs (except for the chapters). The "add", "append" and "remove..." buttons on the other hand only work on the file/track list and are therefore located close to it.
Yep, after thinking about it I agree with what you're saying, however....
If you put it at the top right, level with the tabs and menu, it'd be obvious it's not just for working with the file/track list, even more so due to it's it's continued presence when switching tabs.
The "Start muxing", "Copy to Clipboard" and "Add job to queue" buttons are all similarly "global", only down the bottom. Alternatively could they share some of the spare real estate with a "Clear everything" button?
From this users perspective, as if I had to estimate my ratio of File/New menu selecting to "Copy to Clipboard" button clicking, it'd probably be somewhere in the vicinity of five thousand to zero, a "Reset MKVMerge" button would be more convenient than File/New..... which based on the behaviour of other Windows programs, originally had me thinking it would open a new instance of MKVMergeGUI rather than perform a reset.
Selur
7th September 2013, 08:29
Sorry, I won't spend time on investigating MPEG-1/2 related parser issues.
No, problem. Just wanted to let you know of the issue and thought I provide a sample.
Mosu
7th September 2013, 09:19
If you put it at the top right, level with the tabs and menu,
That would require serious wrestling with the (not so much beloved) GUI toolkit I'm unfortunately using. Still a "no".
The "Start muxing", "Copy to Clipboard" and "Add job to queue" buttons are all similarly "global"
I'll think about replacing "Copy to clipboard" with "New", re-adjusting the layout of those three buttons at the bottom to make it clear which belong together: first "Start muxing" and "Add to job queue" close together, some space, then the "new" one. I don't like "Clear everything" as it would do the same as "File -> New" just with a different name, and giving the same function different names is a sure way to confuse the heck out of users.
mastrboy
7th September 2013, 11:38
What...? Don't remove "Copy to Clipboard" please, I use that functionality when i create batch script for mkvmerge.
Mosu
7th September 2013, 11:52
Only the button at the bottom. The menu entry ("Muxing -> Copy to clipboard") will remain, of course. However, I too think that more users actually use "File -> New" than "Muxing -> Copy to clipboard"); therefore the proposed change to the buttons at the bottom.
mastrboy
7th September 2013, 14:56
Oh, good.
I thought you meant to remove the entire "copy to clipboard" functionality...
Mosu
7th September 2013, 23:00
I rarely (if ever) actually remove functionality. One exception is the infamous header removal compression which cannot be turned on anymore at the moment (thought the code is still there, the user interface for it is simply not present/working). Copy to clipboard is definitely here to stay :)
Atak_Snajpera
13th September 2013, 12:00
what is happening with opus in matroska? any breakthrough or we are still in woods?
Kurtnoise
13th September 2013, 13:52
Seems to be useable in mkvtoolnix since July (https://github.com/mbunkus/mkvtoolnix/commits/master) according to the last commits...Matroska specs have been also updated accordingly.
Atak_Snajpera
13th September 2013, 17:53
Thanks Kurtnoise. I will have to take a look at the latest mkvtoolnix then.
Mosu
16th September 2013, 08:57
Hey,
I've released MKVToolNix 6.4.0. Not a lot has happened over the summer, but the Opus support has been finalized. A couple of bug fixes here and there as well, especially regarding startup problems on Windows (the mmg window not appearing). However, the next release should feature HEVC support, and I didn't want to hold off the release until that's been finished as it may still take a couple of weeks. So here you go.
For package maintainers: you need libMatroska 1.4.1 due to new elements, a version that hasn't been released yet (libEBML requirements stay at the already-released 1.3.0). MKVToolNix' configure will fall back to the included version and build it statically. I'm sorry for this, and this is not intentional but due to severe lack of time on my side these past weeks. I'll try to release said library within the next two or three week. So feel free to hold off packaging this MKVToolNix version until then.
You can download the source code (http://www.bunkus.org/videotools/mkvtoolnix/source.html) or one of the binaries (http://www.bunkus.org/videotools/mkvtoolnix/downloads.html).
Here's the full ChangeLog (http://www.bunkus.org/videotools/mkvtoolnix/doc/ChangeLog) since release 6.3.0:
2013-09-15 Moritz Bunkus <moritz@bunkus.org>
* Released v6.4.0.
* mkvextract: new feature: Implemented extraction of Opus tracks into OggOpus files.
2013-09-14 Monty Montgomery <xiphmont@gmail.com>
* mkvinfo: bug fix: The track information summary enabled with -t/--track-info counted bytes in SimpleBlocks twice.
2013-07-19 Moritz Bunkus <moritz@bunkus.org>
* 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 (https://www.bunkus.org/trac/ticket/903).
2013-07-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Implemented final Opus muxing.
2013-07-04 Moritz Bunkus <moritz@bunkus.org>
* 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.
2013-07-03 Moritz Bunkus <moritz@bunkus.org>
* 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 (https://www.bunkus.org/trac/ticket/893).
2013-07-02 Moritz Bunkus <moritz@bunkus.org>
* 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.
Have fun.
john33
16th September 2013, 09:25
Thanks for the new build, but I've had to revert to 6.3.0 as the first movie I muxed, 720p X264 and 6 channel aac audio, plays back with no audio in VLC and MPC-HC, but plays as expected when muxed with 6.3.0. I'm on Windows 7 Pro x64.
Mosu
16th September 2013, 09:32
I'm currently at work and can therefore not test/verify this. Does anybody else see such a severe problem? If so I may have to pull this release...
sneaker_ger
16th September 2013, 09:56
Can't reproduce here. Muxed x264 H.264 + 6ch AAC and plays fine using VLC 2.0.8 and LAV/MPC-HC.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.