Log in

View Full Version : mkvtoolnix 4.1.1 released


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

lchiu7
20th October 2008, 01:33
One thing you could do is to do all of your editing in Avisynth using the trim() command. That way you will result in one video and audio file. If you want more information on how to do this, use search on this forum, or visit the Avisynth wiki. Right now it just sounds like you are doing it the hard way.

Alas it's a bit more complicated than that. I can edit the .ts files fine with tspacket editor and the resultant file plays fine with audio and video in sync. But the file is still 3G for 42 minutes.

But as soon as I compress the video and try to mux it back with the audio, the various programs I use including mkvmerge and tsremuxer complain about bad packets in the AC-3 stream and lose data. I am guessing it's the way tspacket editor is cutting the video perhaps.

So I end up with a file with AV out of sync

Breaking it up into its component pieces seems to fix that but I can't find a way to join them all back as noted above.

Will check out avisynth. I am guessing the best way is to frameserve the video to Virtualdub but will try a few things out.

[edit]

However still doesn't explain why merging several MKV files together, each which have in sync audio/video creates a file which has the audio/video out of sync. I would have thought the mkvmerge just joins the files together but clearly it must be doing other processing also.

[edit]

Seems like merging MKV files is a known bug in mkvmerge when each stream has different audio/video sync offsets. Solved the problem by muxing each stream as a separate file and them merging them with avimux

http://alexander-noe.com/video/amg/

Works fine and resultant merged stream has all audio/video in sync.

KoD
24th October 2008, 10:44
mkvtoolnix v2.40 achieves delay differently than previous versions.

1. mkvtoolnix prior to v2.40 would create silence and append it in front of the audio stream that the user would like to be delayed with a positive delay value. This is also what avi-mux-gui (amg) does.
2. mkvtoolnix v2.40 doesn't add silence to the audio stream anymore, it simply modifies the timecodes so that the first audio frame is played at a timestamp = the delay value.

Probably mosu hasn't tested what happens when you merge two such files with delayed tracks. Maybe mkvmerge or the mkvmerge GUI forgets that it should respect the delay value for the file that is going to be appended. Or maybe you're doing something wrong.

peck798
29th October 2008, 10:34
I am glad to see that

shambles
2nd November 2008, 12:19
mkvmerge or mkvextract seems to drop the last frame off some dts-hd tracks

sample: http://www.sendspace.com/file/iea1gz

when i mux it with mkvmerge and then extract, the resultant file is smaller than the original file (comparing in hex editor, it looks like just the last frame is missing)

strangely, it doesn't happen with every dts-hd file though

Mosu
3rd November 2008, 17:11
mkvmerge or mkvextract seems to drop the last frame off some dts-hd tracks

sample: http://www.sendspace.com/file/iea1gz

The file size difference between the original .dtshd and the merge-and-extracted file is 2720. This is NOT a full DTSHD frame for this file as they're all 2728 bytes long. mkvmerge drops incomplete frames.

shambles
4th November 2008, 10:23
hmm. that's fairly strange.. i cut the orig track to 5mb pieces and then ran the first piece through eac3to, and it dropped the last (incomplete) frame

running it through eac3to now keeps it intact too.. afaik eac3to should always drop the last frame if it's incomplete :confused:

Mosu
4th November 2008, 18:31
Ichiu7: another user had the same problems. I've solved his problems in a new build, and I guess that your problems with A/V desynchronisation should be gone with it as well. Here's the build:

http://www.bunkus.org/videotools/mkvtoolnix/win32/pre/mkvtoolnix-unicode-2.4.0-build20081103-28.rar

Mosu
4th November 2008, 18:45
Okay, I am trying to split some mkv files of mine, using the "Enable Splitting...after timecodes:" option.

However, I continue to receive an error if I use the format "00:43:32.220000000,01:26:58.320000000". But when I remove the decimal digits, everything works fine. Is this a bug in the GUI? Because I am using the correct time codes format.

This is a bug in mmg, yes. You can shorten the number of decimals to 3, then mmg accepts your input. Meaning that "00:43:32.220,01:26:58.320" works. I'll have to fix the long format.

Oh, and also, if I do NOT link the files, and use the format "00:43:32,00:43:45,00:43:42,00:43:24", which is supposed to result in chunks (episodes) that are 43min 32 seconds long and so on an so forth, instead results in 5 files which are 43:40, 12 seconds, 1 second, 22 seconds, and then the rest of an hour and a half or so. NOTE: these are not the exact times that I used, but they are essentially the same, and it shows that the resulting behavior is faulty and does not follow as the guide to MKVMerge GUI explained the process.

The mkvmerge GUI guide is indeed misleading here. The way the timecodes work is that mkvmerge splits after the specific input timecode has been reached. They are not the duration or the timecodes in the output file (!). If you want to split a file into three pieces with roughly the same length and a fourth piece with the rest of the file then you'll have to use "00:43:32,01:27:04,02:10:36".

I'll have to change the guide's wording accordingly. Anyone got a suggestion which is not as misleading as it is now?

Since I did NOT linked the files, I expected the timecode to start from 0 after every split. I don't know if this happened, but the output was faulty anyways.

The linking option only affects the timecodes written to the output files, not the timecodes given on the command line as they refer to the whole stream as if it weren't split.

73ChargerFan
20th November 2008, 20:14
I'd like to request that mkvmerge GUI process WM_PAINT messages more frequently while muxing is happening (or what ever is blocking them?)

It can take half a minute to redraw the windows, and during that time, it looks like it crashed, it can block explorer (including network requests from around my house) and I can't switch between virtual desktops. I'm running XP Pro SP3 with a quad Q6600.

Thanks for all your hard work on mkvtoolnix. I use it all the time to mux blu-rays into mkv for use around the home.

delacroixp
21st November 2008, 11:08
I use it all the time to mux blu-rays into mkv for use around the home.
Awesome.


It's all good !
:):devil::D
Pascal

Emp3r0r
21st November 2008, 15:14
I'd like to request that mkvmerge GUI process WM_PAINT messages more frequently while muxing is happening ditto on Vista x64

boissy
24th November 2008, 18:52
Hello to all actives Users and Friends,
I just demux with TsMuxer a video file (H264 Codec) and an audio file (TRUE-HD Codec).
I wanted to select the audio file in the language I want to merge it with the video file using mkvmerge.
The mkvmerge opened my video file with .264 extention.
It could'nt open the audio file with .ac3 extention :devil:

:sly:

NjB

TheFluff
25th November 2008, 15:47
dolby truehd is not (yet?) supported in matroska, at least not by any known muxers. transcode to another lossless codec (flac comes to mind, it compresses better than truehd anyway) or extract only the ac3 part.

boissy
25th November 2008, 17:44
dolby truehd is not (yet?) supported in matroska, at least not by any known muxers. transcode to another lossless codec (flac comes to mind, it compresses better than truehd anyway) or extract only the ac3 part.
There's no ac3 part in the language I want.
Onlytruehd.
I'm affraid I'm obliged to transcode to another codec.
I nedd to know wich program can help me do this . :-)
The Eac3to and More GUI ask me command lines, and it's complicated.

:script:

NjB

73ChargerFan
27th November 2008, 07:30
"Always Save Log Files" option, to the working directory

Throw an error if the streams are of different lengths (e.g. one video, one or two audio streams). I accidentally muxed a 6 minute audio stream into a 5 minute video.:confused:

KoD
27th November 2008, 09:58
"Always Save Log Files" option, to the working directory

Throw an error if the streams are of different lengths (e.g. one video, one or two audio streams). I accidentally muxed a 6 minute audio stream into a 5 minute video.:confused:

That's not an error. It's just that you were not paying attention to what you were doing and the result surprised you.

madshi
27th November 2008, 19:39
@Mosu,

what does mkvtoolnix do with WAV files that are bigger than 2GB (or 4GB)? Does it support them? You know, the WAV header is limited to 2GB/4GB. Could you please:

(1) Either ignore the size information in the header, if the WAV file is bigger than 2GB/4GB?
(2) Or add support for wav64 or rf64 files?

In any case there should be some "official" way to feed mkvtoolnix with a >4GB WAV/PCM file.

Thanks!

Edit: Just noticed that mkvtoolnix does in fact support >4GB WAV files. So all is fine! :)

Mosu
28th November 2008, 14:18
I'd like to request that mkvmerge GUI process WM_PAINT messages more frequently while muxing is happening (or what ever is blocking them?)

This build should work better for you: http://www.bunkus.org/videotools/mkvtoolnix/win32/pre/mkvtoolnix-unicode-2.4.0-build20081128-31.rar

Mosu
28th November 2008, 14:31
Throw an error if the streams are of different lengths (e.g. one video, one or two audio streams). I accidentally muxed a 6 minute audio stream into a 5 minute video.:confused:

Usage error, I will certainly not check for things like this.

KoD
3rd December 2008, 10:04
I've noticed that mkvmerge doesn't see LPCM audio streams inside DVD VOBs. If seeing and muxing such VOB files could be implemented. it would be great. They're basicly PCM audio. Here is a 18MB MPEG2 video + LPCM audio sample cut from a DVD vob (it's a cell from a vob): http://www.mediafire.com/?ikvzichmjzm

madshi
3rd December 2008, 11:42
I've noticed that mkvmerge doesn't see LPCM audio streams inside DVD VOBs.
@Mosu,

LPCM streams in VOB files are marked with "stream_index & 0xf0 == 0xa0". Each PES LPCM data block has a 3 byte header. Here's how to read the header:

channels = buf[1] & 0x7 + 1;
bitdepth = (buf[1] & 0xc0) >> 6; // 0=16bit; 1=20bit; 2=24bit
samplerate = (buf[1] & 0x30) >> 4; // 0=48k; 1=96k; 2=192k
The actual LPCM data for 16bit tracks is stored as expected (in big endian). However, 20bit/24bit is stored rather strangely. Unfortunately I don't have any samples for 20bit and 24bit...

Please note that the header is different for EVO files!

Mosu
4th December 2008, 16:57
LPCM is not supported at all at the moment. So I don't know when/if I'll find the time to implement support for it.

Mosu
5th December 2008, 14:51
Hey,

time for the next release of mkvtoolnix, 2.4.1. There's only one new feature: support for SRT/SSA tracks in AVI files. One important bug has been fixed regarding the handling of timecodes during appending which should fix A/V sync issues with appended tracks for most people. A couple of smaller bugs have been fixed as well (see below for details).

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-2.4.1.tar.bz2

...to the Windows installer:
http://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-unicode-2.4.1-setup.exe

The Linux binaries that I provide myself (Debian, Ubuntu, OpenSuSE and Fedora Core) have already been uploaded and are available from the home page.

Starting with this release I provide pre-built packages for Fedora Core 10 (i386 and x86_64 architectures).

Here's the full ChangeLog since release 2.4.0:

------------------------------------------------------------
2008-12-04 Moritz Bunkus <moritz@bunkus.org>
* Released v2.4.1.
* Build system: bug fix: Configure does not use "uname -m" for the detection of the Boost libraries anymore but configure's "$target" environment variable. This fixes the Boost detection for cross compilation builds. Fix for bug 311. Patch by Dominik Mierzejewski (see AUTHORS).

2008-12-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: PCM audio tracks bigger than approximately 8 GB were cut off after approximately 8 GB.

2008-12-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge recognizes SRT subtitle files with timecodes that contain spaces between the colons and the digits and timecodes whose numbers are not exactly two or three digits long.

2008-11-28 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: mmg processes window events much more often during muxing.
* all: Updated the language code list from the offical ISO 639-2 standard.

2008-11-04 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Split timecodes with more than three decimals were not allowed even though the docs say that they are. They are now, as mkvmerge supports such timecodes.

2008-11-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Changed the way mkvmerge calculates the timecodes when appending files. Should result in better audio/video synchronization.
* mkvmerge: new feature: Added support for reading SRT and SSA/ASS subtitles from AVI files (fix for bug 64).

2008-11-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge's LZO compressor would segfault if mkvmerge was compiled against v2 of the LZO library and the v1 LZO headers were not present.

2008-10-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: SRT subtitle files are also handled correctly if the timecode lines do not have spaces around the arrow between the start and end timecodes.

2008-10-13 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Matroska elements with binary data were output as garbage in XML files.
------------------------------------------------------------

Have fun :)

Regards,
Mosu

spida_singh
5th December 2008, 15:02
Thanks for the update, just installed latest version. When running mkvmerge, i get an error stating mmg.exe has stopped working (Vista 32), had to revert back to 2.4.0, anyone else experiencing the same?

Mosu
5th December 2008, 16:06
All: The installer for v2.4.1 didn't include two DLLs (libebml.dll and libmatroska.dll). I've uploaded a new installer build to the same location: http://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-unicode-2.4.1-setup.exe (size 4093126 bytes). I advise to re-download the installer and re-install mkvtoolnix with it.

spida_singh: As I said please download the new installer build. If it doesn't fix the problem for you then I'll have to investigate. Unfortunately I don't have a single Vista installation at home nor at work, so it might take me some time (because, as you may have guessed by now, I cannot reproduce those crashes on my XP nor on our 2003 Server at work).

spida_singh
5th December 2008, 16:29
All ok now! Thanks!

Mosu
5th December 2008, 18:23
Great. Thanks for the feedback.

73ChargerFan
7th December 2008, 05:20
Thanks, am testing. Ugggh, Kaspersky thinks the installation program is a trojan. This didn't happen with the earlier installs.

Mosu
7th December 2008, 10:57
Congratulations to Kaspersky -- yet another virus scanner with a false positive.

madshi
7th December 2008, 12:18
It's getting common these days... :mad:

Emp3r0r
8th December 2008, 21:02
Feature request: Can mkvmerge ignore data in it's own namespace within a chapter xml file? For example:<?xml version="1.0" encoding="utf-8"?>
<Chapters xmlns:x="http://custom-data-namespace">
<EditionEntry>
<x:Data>I should be ignored because I'm in my own namespace.</x:Data>
<EditionFlagHidden>0</EditionFlagHidden>
<EditionFlagDefault>0</EditionFlagDefault>
<ChapterAtom>...

Also, on a separate subject (http://forum.doom9.org/showthread.php?t=141848), can you elaborate on what it takes to support new formats in mkvmerge? I assume it is technically possible to mux any audio/video/subtitle format (including currently unsupported formats) into mkv, but does the complexity come in with how the data is interleaved in ebml (for later splitting)?

Mosu
8th December 2008, 23:45
Ugggh, Kaspersky thinks the installation program is a trojan.

As more users have reported this issue I've taken the time to investigate this thoroghly. My findings are that this is indeed a false positive. However, I've pulled the installer and provided a new build that Kaspersky and all other anti virus scanners thinks is clean.

You can read my full announcement (http://www.bunkus.org/videotools/mkvtoolnix/allegedly-backdoor-in-windows-installer-v2-4-1.html).

Dark Morford
8th December 2008, 23:48
Is there a way to get mkvextract 2.4.1 to output timecodes that aren't in scientific notation?

For example, running `mkvextract timecodes_v2 video.mkv 1:timecodes.txt` on a file recently gave me output like 999749
999790
999832
999874
999916
999957
999999
1.00004e+006
1.00008e+006
1.00012e+006
1.00017e+006
1.00021e+006
Other tools I use that used to work correctly now complain that timecodes are too close together; I assume they can't deal with the 'e+006' at the end and just see timecodes like 1.00004, 1.00008, and so on. I wrote a Perl script that converts the scientific-notation numbers back into "regular" numbers, but I still lose precision because everything gets rounded to the closest 10.

Is there a command-line option or something for mkvextract that tells it to just output regular numbers instead of the scientific ones? If not, can we get one in mkvtoolnix 2.4.2?

Eragon4ever
8th December 2008, 23:52
Did you send them the file in question so they can fix it? The email address is newvirus@kaspersky.com; just use "Possible false-positive" as header. Their support in this regard is pretty good, all my reports were taken care of in less than 24h.

P.S. My Kaspersky remained completely silent.

Mosu
9th December 2008, 00:21
Is there a way to get mkvextract 2.4.1 to output timecodes that aren't in scientific notation?

For example, running `mkvextract timecodes_v2 video.mkv 1:timecodes.txt` on a file recently gave me output like 999749
999790
999832
999874
999916
999957
999999
1.00004e+006
1.00008e+006
1.00012e+006
1.00017e+006
1.00021e+006

Duh. That's definitely a bug that I'll fix. Even though mkvmerge probably understands it (it simply uses the C function "strtod") I don't want scientific notation to be used for timecode files. I'll see to it that the next release contains a fix for it.

Mosu
9th December 2008, 00:22
Did you send them the file in question so they can fix it? The email address is newvirus@kaspersky.com

Thanks for the idea, I just did.

Mtz
9th December 2008, 02:03
I like that "Use Me". I hope to not change it for the next fix, or change it to "Use Me, Please".
Thank you for this program!

enjoy,
Mtz

canTsTop
10th December 2008, 20:29
is it possible some how to mux not fully encoded audio file? example:

ffmpeg -i audio.wav -acodec ac3 -ab 640k audio.ac3

and then encoding starts run this

mkvmerge -o new_video.mkv old_video.mkv audio.ac3

so mkvmerge mux everything at speed of conversion of audio to ac3

Kurtnoise
10th December 2008, 20:37
you can use the ffmkv muxer for that...

FFmpeg -i audio.wav -acodec ac3 -ab 640k -i old_video.mkv output.mkv

Mosu
10th December 2008, 21:01
No, mkvmerge requires all files to be finished and seekable (meaning that it will never support reading files via other protocols, e.g. ftp or http).

73ChargerFan
11th December 2008, 02:08
is it possible some how to mux not fully encoded audio file?
I'm hard drive limited, and this would just thrash. I can run multiple muxing / encoding programs, but only one per hard drive.

doggersen
12th December 2008, 03:41
The "splitting" feature works very well. But is it possible to end up with just 1 output-file (instead of at least 2)?
If for example I would only be interested in 20 minutes in the middle of a video (everything coming before and after, I would like to leave out).

Thanks.

Mosu
12th December 2008, 09:49
No, that's not possible at the moment, and I don't think I'll implement something like that anytime soon.

spida_singh
12th December 2008, 13:00
Hi

I have been using mkvmerge to create my video and flac audio mkv's. They play perfectly fine on the pc, but, when I use java playstation media server to stream them across, I always get stutter every 1 second. I have asked the question to the developer of the java streaming tool, and awaiting his reply, I just wanted to make sure I was not doing anything wrong when creating the mkv in the first place. As this stutter occurs with any mkv file I create only when streaming. Any ideas why this could be happeneing? I set the correct framerate for the elementary stream, correct aspect ratio, add the audio flac file and mux. All ok until i want to stream it.

thetoof
14th December 2008, 09:15
How could I insert mkv files in another one, without appending them? I've seen this before... but I don't have the slightest idea how the chapters and file linking methods were combined.

Practical usage:
Episode start - Opening - Episode - Ending - Preview
Since "Opening" and "Ending" are the same for the whole series, I'd like to encode them only once and link them in the episodes to reduce overall size.
Timecode example (random numbers, it's just for the concept):
3 files to link : Episode, Opening, Ending
00:00-02:00 (Episode 00:00-02:00)
02:00-03:30 (Opening 00:00-01:30)
03:30-23:30 (Episode 02:00-22:00)
23:30-25:00 (Ending 00:00-01:30)
25:00-26:00 (Episode 22:00-23:00)

So, how can I put the UID values in the timecodes??

Thanks for any input.

Snake91
14th December 2008, 10:58
I don't know if it's possible, however can you add the possibility to add black boarders during playing? I think so it could be possibile to append stream with different resolution in the same container.
I am ripping The Dark Knight BD and I don't want to waste bitrate in the useless black boarders just for few IMAX scenes (but I don't want to cut them either XD), with these solution I could simply add boarders with a container option only when they are needed to not deform correct aspect ratio.

Daiz
14th December 2008, 13:41
I have a feature request: Could it be possible to include support for having both chapters and tags in the same .xml file?

The reason why I'm asking is because it's annoying that you can't give editions names in the chapters file, you have to do it with a separate tags file.

So if it was possible to have a file like this:
<?xml version='1.0' encoding='UTF-8'?>
<!-- <!DOCTYPE Tags SYSTEM 'matroskatags.dtd'> -->
<Chapters>
<EditionEntry>
<EditionFlagOrdered>1</EditionFlagOrdered>
<EditionFlagHidden>0</EditionFlagHidden>
<EditionFlagDefault>1</EditionFlagDefault>
<EditionUID>500030138</EditionUID>
<ChapterAtom>
[...]
</Chapters>
<Tags>
<Tag>
<Targets>
<EditionUID>500030138</EditionUID>
<TargetTypeValue>50</TargetTypeValue>
</Targets>
<Simple>
<Name>TITLE</Name>
<String>Normal</String>
<TagLanguage>eng</TagLanguage>
<DefaultLanguage>1</DefaultLanguage>
</Simple>
</Tag>
[...]
</Tags>

You could keep everything in one file, and mkvmerge could recognize <Chapters> and <Tags> from there and write them properly to the resulting file. It would be a lot simpler to handle multiple editions this way.

73ChargerFan
14th December 2008, 19:23
Practical usage:
Episode start - Opening - Episode - Ending - Preview
Since "Opening" and "Ending" are the same for the whole series, I'd like to encode them only once and link them in the episodes to reduce overall size.

Check out 101 things you never knew you could do with Matroska (http://www.mod16.org/hurfdurf/?p=8)

Chumbo
17th December 2008, 02:15
I ran into this today and just wanted to report it. The "Save command line" doesn't save the command line. It only saves this"mkvmerge" -o ""

What I did find is that if you use the "Show the command line" prior to using "Save command line" then it works. The same goes for "rem all" which doesn't clear the command line until you use "Show the command line."

I guess I would ask for a feature where the command line stuff gets updated as the UI is used so it wouldn't be necessary to show the command line first and then saving it. It would also be nice to clear it when removing all content. Thanks much for considering this.

Mosu
17th December 2008, 08:32
I ran into this today and just wanted to report it. The "Save command line" doesn't save the command line.

Fixed in this build:

http://www.bunkus.org/videotools/mkvtoolnix/win32/pre/mkvtoolnix-unicode-2.4.1-build20081217-48.7z