View Full Version : mkvtoolnix 4.1.1 released
Mosu
2nd February 2010, 08:47
First things first: Having to set up a mingw build environment sucks. Big time. I've done it a couple of times and each and every time I spend hours until everything's working fine.
Ok here goes...
I've tried for 5 days to compile mkvtoolnix (or any part thereof) for windows. I compiled it with no hassle on my ubuntu pc, but for some reason i'm having a lot of trouble compiling with either mingw or cygwin.
Use mingw, forget about cygwin. I don't use mingw on Windows myself, I use a mingw cross compilation environment on Ubuntu.
All libraries have been compiled under mingw (./configure --prefix=/mingw), except boost, which i'm not sure i've "installed" properly. took a bit of copying and pasting files from here and there to /lib before i could finally get mingw to recognize that i have boost. but it get erros like this (currently only this one):
I usually have to use explicit arguments for configure so that it will find the Boost libraries. Here's my current script for configuring mkvtoolnix:
#!/bin/zsh
M=$HOME/prog/video/mingw
TFT=$M/src
test -z $WX && WX=$(cat ~/prog/video/mingw/default_wxwidgets_version)
W=$M/wxWidgets-$WX
test -d $W || {
echo "$W" does not exist
exit 1
}
if pwd | grep -q -E 'nogui$' ; then
WX=""
NOGUI="--disable-gui"
else
WX="--with-wx-config=$W/bin/wx-config"
NOGUI=""
fi
./configure \
--host=i586-mingw32msvc \
--cache-file=config.cache \
--with-extra-includes=$TFT/libebml\;$TFT/libmatroska\;$M/include \
--with-extra-libs=$TFT/libebml/make/mingw32\;$TFT/libmatroska/make/mingw32\;$M/lib \
--with-boost=$HOME/prog/video/mingw/boost \
$WX $NOGUI \
"$@"
As you can see my base path to all mingw stuff (except the compiler itself) is ~/prog/video/mingw
Sorry if this is an obvious question, but for the life of me I cannot figure out how to fix this.
It isn't, but I cannot help you either; debugging Boost linking problems is one of the areas that suck so much. It might be a couple of reasons:
1. It is missing other libraries that your Boost build requires but that configure does not tell the link check to use.
2. You Boost build has been done with a different/incompatible mingw version and the link check fails due to unknown symbols.
3. The configure script itself cannot find a suitable file (!) to hand over to the link check. Configure itself tries to find the proper name for the Boost libraries because Boost's library names consist of various parts like architecture, multi threading on/off, version etc.
The configure checks I use have only been tested on bash/sh/zsh like shells on Linux. I haven't tested them on Windows with msys or cygwin's bash.
PS: "have you tried building boost?", yes, however not with any luck. i tried so by running bootstrap.sh etc., but it doesn't go so well, http://pastebin.com/f761baf28 (forever paste).
I wouldn't suggest building Boost on mingw yourself ;) Mostly because I haven't had much luck with it myself, at least not with my cross compilation environment.
A couple of months ago another user asked for support on building Windows builds. Back then I uploaded my ~/prog/video/mingw tree along with my self-built mingw cross compiler. Those packages won't work anymore (mingw 3.4 cross compiler didn't support Unicode, newer mkvtoolnix versions require Unicode support), but I can create a new tree and upload it along with slightly patched mingw .deb packages for Ubuntu 9.10 64bit if that would help you. It would probably not help you getting mkvtoolnix to compile on Windows with mingw, I guess, but it is a working cross compilation environment.
whatever-ever
2nd February 2010, 18:56
Hi Mosu,
thanks a lot for the thorough answer.
I was not aware of cross compilation (besides having bumbed into it a couple of times). I'll try that out, thanks!
and thanks for the script, will help me configure it properly.
Mosu
2nd February 2010, 19:10
If you do try to cross compile then you should be aware of a bug in the mingw runtime package for Ubuntu. I have a diff that fixes this bug available at http://www.bunkus.org/videotools/mkvtoolnix/mingw-build-tree/mingw32-runtime-snprintf.diff
Applying and compiling the package works something like this (from memory and vague, adjust file names/paths as necessary):
cd /usr/src
apt-get source mingw32-runtime
apt-get build-dep mingw32-runtime
cd mingw32-runtime-VERSION
patch -p1 < ~/mingw32-runtime-snprintf.diff
dpkg-buildpackage -b
Mosu
2nd February 2010, 19:18
BTW: The tarball of my mingw cross compilation directory is up and available at http://www.bunkus.org/videotools/mkvtoolnix/mingw-build-tree/mkvtoolnix-mingw.tar.lzma
The file http://www.bunkus.org/videotools/mkvtoolnix/mingw-build-tree/mtx-win32-build.txt mentions a couple of things to keep in mind (it's an IRC log excerpt and not up to date but still relevant).
whatever-ever
2nd February 2010, 20:40
Oh thanks. seems i just need to point it to some valid libiconv, other than that things seems to be in order :)
whatever-ever
2nd February 2010, 21:10
Hmm, as soon as i switch to cross-compilation libiconv won't be found. (and yes there is libiconv in your tree, and i also tried building it myself). have i put it in a wrong place? i installed into /home/../prog/video/mingw/
UPDATE:
I got mkvtoolnix 3.10 compiled now. All credit goes to you, Mosu, as all it took was to use your tree and your zsh. The reason I failed before with iconv was that my own EXPORT commands apparently did not work the way i expected them to. Relying on your zsh it worked.
One little heads up to what you said earlier about a mingwruntime bug... I was not able to apply the patch as the file didn't exist. But before I started googling to see where I could get a source with the needed file, I got it to compile. So what I'm saying is, I did not need that patch in order to build mkvtoolnix 3.10.
Thanks again for your patience and helpful effort!
Mosu
2nd February 2010, 22:05
I don't really have an idea, sorry.
mikeyakame
6th February 2010, 07:19
Any chance you guys could add the following "Add command-line options" to the next build of MKVToolnix?
--segmentinfo
--segment-uid
I have no real problem with adding them manually each time, but it'd handy to have them available in the drop down list! I've been using --segmentinfo quite a lot recently and find its amazingly useful.
Cheers for all the work on the app anyway ;)
Mosu
6th February 2010, 14:09
Any chance you guys could add the following "Add command-line options" to the next build of MKVToolnix?
--segmentinfo
--segment-uid
mmg 3.1.0 already contains support for --segment-uid: "global" tab, option "segment UIDs".
The following build adds an option for the segment info XML file, also on the "global" tab: http://www.bunkus.org/videotools/mkvtoolnix/win32/pre/mkvtoolnix-unicode-3.1.0-build20100206-214-setup.exe (still uploading)
thetoof
6th February 2010, 18:52
Hi,
I'm trying to figure how file linking works with mkv and I am quite puzzled. Here's what I'm trying to do:
5.1 AC3 audio / 1 file
h.264 video / 2 files with different resolution and DAR (somehow it changed in the middle of the DVD)
Subtitles
So, I need the 2 videos linked together, but since the audio is muxed with the first video segment, I can't link them as "play this file, then this one" since I lose audio this way. How would I use advanced editing to achieve what I want?
Thanks
Mosu
6th February 2010, 19:17
Please create a new thread for this. This is more a general Matroska & playback question, not really a mkvtoolnix question.
RadioactiveMan
8th February 2010, 07:34
I tried to rip a bluray and save it as mkv.
x264 gives a me .mp4 with about 4.5 GB. When muxing it with mkvtoolnix it says "everything ok" but the resulting mkv is just 17 KB in size.
What could be the error?
I want to add that I can watch the video without problems in mpchc.
Mosu
8th February 2010, 08:46
I don't know.
Keiyakusha
8th February 2010, 16:19
RadioactiveMan
I'm not sure, but I believe mp4 normally not supports such huge files. Even if it is possible to create them, maybe they need some special treatment on demuxer side... Try to do all the same steps but cut some of the movie to get small but similar file and check if it works.
EDIT: anyway if you want mkv, why you not using mkv or raw output in x264?
Mosu
11th February 2010, 09:19
MP4 files can have arbitrary sizes with 64bit atoms. mkvmerge supports such files & atoms.
Mosu
11th February 2010, 14:08
I tried to rip a bluray and save it as mkv.
x264 gives a me .mp4 with about 4.5 GB. When muxing it with mkvtoolnix it says "everything ok" but the resulting mkv is just 17 KB in size.
What could be the error?
I'd like to get to the bottom of this. Can you please tell me how you created that file (which programs in which version)? I'll try to create such a problematic file myself.
Alternatively you can upload the file to my FTP server if you have the bandwidth to spare even though it is quite huge :)
RadioactiveMan
11th February 2010, 19:00
I'd like to get to the bottom of this. Can you please tell me how you created that file (which programs in which version)? I'll try to create such a problematic file myself.
I have just used x264 r1416 32bit from x264.nl. Input was an avs. I fear I can't give you more information than you can see in the screenshot. It might be of interest that DsMux from haalis Splitter was able to mux it but was terrible slow (i.e. it took 30 minutes from a hdd to an sdd). Additionally the resulting file was completely out of sync. So it looks like something must have been wrong with the file.
Alternatively you can upload the file to my FTP server if you have the bandwidth to spare even though it is quite huge :)
Unfortunately I have already reencoded it directly into an mkv container and deleted all temporary files. :(
Mosu
11th February 2010, 19:16
I tried to reproduce it with x264 but didn't succeed. Do you still have the AVS file? If not then I guess it'll remain a mystery.
73ChargerFan
11th February 2010, 19:21
I was thinking, that his snapshot of the directory showed that he hadn't refreshed the view. Windows will sometimes show a small file size as it is being created, and then updates to the size are half-hazzard. Perhaps the file is in his recycle bin?
Mosu
11th February 2010, 19:24
Nah. mmg also shows that muxing only took three seconds. And muxing a 4 GB file in three seconds is... unrealistic :)
73ChargerFan
11th February 2010, 20:34
Mpc-hc will autoload all other files with the same root file name within the same directory. Perhaps it loaded the .mkv file, autoloaded the .mp4 file (thinking it was audio) and then its custom graph builder used the mp4 but ignored the mkv.
RadioactiveMan
12th February 2010, 06:45
I tried to reproduce it with x264 but didn't succeed. Do you still have the AVS file? If not then I guess it'll remain a mystery.
It is all deleted. Maybe I have the time at the weekend to try it again.
Mosu
12th February 2010, 08:35
Alright. Just shout if you get that behavior again.
tormento
12th February 2010, 09:52
@Mosu
Could you please, please, please (repeat ad libitum) add a feature that automatically creates a chapter list when merging some (imagine a lof of) media files?
Thanks!
Mosu
12th February 2010, 10:09
Please elaborate on what you're doing and what you'd need from that function.
buzzqw
12th February 2010, 10:26
(guessing): a chapter for every files added ?
BHH
Mosu
12th February 2010, 10:31
I'm pretty sure that this is not what he wants. Consider the case in which you have separate files for audio, video and subtitles. You probably don't want to have a chapter for each file in that case. Of course you could say that mkvmerge should only create chapters for the video tracks.
Next example. You have one huge source file with a video track but several separate subtitle and audio files. For which files do you create chapters in that case? The solution from the example above won't work: you'd end up with a single chapter.
mkvmerge is very flexible in how you append files and therefore it's almost impossible to guess what the user actually wants ( = for which files the user wants the chapters created).
tormento
12th February 2010, 10:44
Sorry, I was a bit in a hurry ;)
I am currently converting a lot of mts video from my Sony cam to single separated mkvs. I'd like to join some of them, while keeping the ability to jump from one to another.
Mosu
12th February 2010, 12:23
I've thought a bit about how I would have to implement this and came to the conclusion that it's way too much work. Sorry. At the moment mkvmerge requires that all chapter information is available right from the start so that it can be handled properly in all cases -- even when splitting is active.
tormento
12th February 2010, 15:25
I've thought a bit about how I would have to implement this and came to the conclusion that it's way too much work. Sorry.
Sigh. Sob.
Can you address me to an alternative way of creating a correct incremental chapter list, using something to get the correct time format and some program to calculate progressive time codes? I have "googled" (hating that term) but found nothing useful.
Mosu
12th February 2010, 15:31
Not really. Here's what I'd do:
1. Mux the whole thing without chapters.
2. Watch the resulting file; seek to the positions you want the chapters at.
3. Write down the timecodes.
4. Create chapters with those timecodes.
The timecode format is easy enough. Use short ones: HH:MM:SS (hours, minutes, seconds)
Mosu
13th February 2010, 11:26
Hey,
I've released mkvtoolnix v3.2.0. This release contains contains the usual mix of bug fixes and smaller enhancements.
Here are the usual links...
...to the home page:
http://www.bunkus.org/videotools/mkvtoolnix/
...to the source code:
http://www.bunkus.org/videotools/mkvtoolnix/sources/mkvtoolnix-3.2.0.tar.bz2
...to the Windows installer and 7zip archive:
http://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-unicode-3.2.0-setup.exe
http://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-unicode-3.2.0.7z
All binaries that I provide myself have already been uploaded.
Here's the full ChangeLog since release 3.1.0:
------------------------------------------------------------
2010-02-12 Moritz Bunkus <moritz@bunkus.org>
* Released v3.2.0.
* Build requirements changed: The GUIs for mkvtoolnix now require wxWidgets 2.8.0 or newer.
2010-02-11 Moritz Bunkus <moritz@bunkus.org>
* mmg, mkvpropedit: Fixed another bug causing a crash writing chapters/other elements to existing Matroska files.
2010-02-10 Moritz Bunkus <moritz@bunkus.org>
* Build system: bug fix: Improved detection of Boost::Filesystem for newer Boost versions.
2010-02-09 Moritz Bunkus <moritz@bunkus.org>
* docs: Added a Chinese Simplified translation for the man pages by Dean Lee (see AUTHORS).
2010-02-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Outputting error messages about invalid XML files will not cause mkvmerge to crash on Windows anymore.
* mmg: enhancement: Added an input field for the segment info XML file (mkvmerge's "--segmentinfo" option) on the "global" tab.
2010-02-03 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The jobs will be saved in the 'mkvtoolnix/jobs' sub-directory of the 'application data' folder instead of the 'jobs' folder in the current directory. On Windows this is the special 'application data' folder inside the user's profile directory, e.g. 'C:\Users\mbunkus\AppData\mkvtoolnix'. On non-Windows systems this is the folder '.mkvtoolnix' in the user's home directory. mmg's configuration file has also been moved from ~/.mkvmergeGUI to ~/.mkvtoolnix/config on non-Windows systems. Fix for bug 466.
2010-01-28 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Files are only opened for reading, not for writing, so that mkvextract will work on files the user only has read-only permissions for.
* mkvextract: bug fix: Modes 'attachments', 'chapters', 'tags' and 'cuesheet': mkvextract will output an error message if the file cannot be opened (e.g. because it does not exist or due to lack of access).
2010-01-24 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: Changing the interface language does not require a restart anymore.
* mkvmerge: bug fix: Reading VOB files bigger than 4 GB was broken in v3.1.0 on 32bit platforms.
2010-01-22 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Tooltips were not word-wrapped on Windows.
* mkvinfo: enhancement: Added the "EBML maximum size length" element to the list of known elements. Fix for bug 464.
2010-01-20 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added a control for mkvmerge's "--cropping" parameter.
* mmg: enhancement: Added the file extensions ".dtshd", ".dts-hd", ".truehd" and ".true-hd" to mmg's"'add/append file" dialogs.
* mkvextract: bug fix: "mkvextract --version" was only writing an empty string. Fix for bug 463.
------------------------------------------------------------
Have fun.
coastline
15th February 2010, 18:57
Hi,
Not sure if this is the right place to ask this so if not please accept my apologies.
I want to take an MKV of a Bluray made using MakeMKV and add the colour flags for BT.709 (I don't want to make any other changes):
colour_description_present_flag : 1
colour_primaries : 1
transfer_characteristics : 1
matrix_coefficients : 1
I think this is possible using MKVmerge but I have no idea where to start.
I have little to no experience with mkvtoolnix so be gentle with me please :-)
Many thanks for any help with this.
Mosu
16th February 2010, 08:14
Those seem to be codec parameters (I don't know them) and have nothing to do with the Matroska container. mkvmerge cannot help you with that.
coastline
16th February 2010, 12:07
Thanks
renqian
21st February 2010, 15:45
i use the 3.2.0 mux .thd+ac3 to mkv. but it seems not contained the ac3 core. and the TSmuxer can't recognise the truehd track.
and i mux .thd+ac3 to mka. and the mka size is not as the same as the original
and when i play it,ffdshow is well . Arcsoft TMT can't play sound.
so my question is . did the mkvtoolnix abandoned the ac3 core when it muxing ? can i mux the the full track (truehd+ac3) to mkv?
Mosu
21st February 2010, 15:56
mkvmerge discards AC3 cores in TrueHD tracks, yes. No, that won't change anytime soon (if at all).
renqian
21st February 2010, 16:11
thanks for your reply
so mmg discards ac3 core ,did it broke the TrueHD's integrality?
the ac3 core is not necessary for truehd?
Mosu
21st February 2010, 16:39
As far as I understand the AC3 core is only present so that decoders that don't support TrueHD can play back _something_ from such a track. TrueHD is a lossless compression format, therefore the AC3 part is redundant if the decoder supports TrueHD.
renqian
22nd February 2010, 17:24
yes. it can playback well with ffdshow. but it not compatible with Blu-ray format without ac3 track.
thanks for your answer and one more question
when i mux the *.thd to mka file. i found the mka file's size is bigger than .thd file . why?
Mosu
22nd February 2010, 17:30
Because along with the actual TrueHD data there are the bytes that make up the Matroska container itself.
Foofaraw
24th February 2010, 05:41
Is there a newer (or other) gui that MKVextractGUI 1.6.4.1 ? It doesn't seem to support everything.
sneaker_ger
24th February 2010, 07:45
MKVcleaver (http://forum.doom9.org/showthread.php?t=152108)
Foofaraw
25th February 2010, 06:03
Thanks sneaker_ger!
Now if only I can figure out why the WDTVLive has problems with some mkv's depending on what created them and which xml files are in it....
jeremy33
25th February 2010, 18:14
there is a bug when we try to mux and .mp4 video.
73ChargerFan
25th February 2010, 21:26
there is a bug when we try to mux and .mp4 video.
You can try the following:
1. Anything that mosu asks you to do. :)
2. Rename the .mkv file you made and play it again.
3. Try muxing using an earlier version of mkvtoolnix.
4. Try muxing using GDSmux, included within the Haali Media Splitter package.
5. Use Mediainfo on each file, select text mode, and post the results here.
jeremy33
25th February 2010, 23:14
I just demux my file with tsmuxer and it worked.
My file was created with the latest megui 0.3.4.2 and x264 1442.
Mosu
26th February 2010, 13:45
there is a bug when we try to mux and .mp4 video.
http://www.bunkus.org/videotools/mkvtoolnix/win32/pre/mkvtoolnix-unicode-3.2.0-build20100226-219-setup.exe
jeremy33
26th February 2010, 14:37
Thanks.
I'll try that.
fingershop
1st March 2010, 20:32
Is there a way to get the sizes (in Bytes or MB or whatever) of all the tracks in an mkv file? or for specific tracks?
Thanks
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.