Log in

View Full Version : MKVToolNix v24.0.0 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

PowerGamer
13th April 2011, 17:09
Thanks for the upload. The issue should be fixed in this build: http://www.bunkus.org/videotools/mkvtoolnix/win32/pre/mkvtoolnix-unicode-4.6.0-build20110413-335-setup.exe

Thanks for the quick fix, I have tested new build and it works fine.

But now it seems another (not present before) bug have crept into new mkvmerge build:
I am using a merge file "g:\!BD\merge" containing:
--output
g:\!BD\test.mkv
I am running "mkvmerge @g:\!BD\merge" command from another folder on another drive and it creates "!BDtest.mkv" file in the "G:\!BD" folder.

Mosu
13th April 2011, 17:21
Backslashes in option files have to be escaped by another backslash. You'll have to write

--output
g:\\!BD\\test.mkv


Yes, this is a recent change. It was necessary in order to fix another bug: options could not start with '#' due to it being interpreted as a comment (e.g. "--title #9" inside an option file would not work). mkvmerge's man page (http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge.html#mkvmerge.escaping) contains a section about the rules for escaping characters.

Vincent Vega
19th April 2011, 11:50
hi Mosu and everyone,

if i'm remuxing a 1920x1088 (h264/vc-1/mpeg2) BD stream into mkv, do i need to specify anything under aspect ratio/cropping in mmg? (to get the 8 pixels cropped during playback and remaining 1920x1080 displayed 16:9)

sorry for the stupid question, i just cant find clear answer with forum search.

Mosu
19th April 2011, 12:57
I don't know, sorry.

Vincent Vega
19th April 2011, 13:13
ok sorry, np, i'll just start a new thread.

Snowknight26
19th April 2011, 17:22
It may have been overlooked last time I asked, but any change of enabling compression by default for PCM?

Mosu
19th April 2011, 17:40
Are you really using PCM that much that you're asking me to spend time on this?

Snowknight26
20th April 2011, 00:45
I figured it be an extra 'or' in an if statement or something similar, but if not, oh well. It's really a trivial suggestion so no worries.

Vincent Vega
20th April 2011, 13:01
if i need to cut out a small clip from somewhere in the middle of a huge mkv file, my only option is still remuxing entire file with "after timecodes" splitting? there is no way to just mux that little segment that i need?

thanks

Mosu
20th April 2011, 13:05
That is correct.

Vincent Vega
20th April 2011, 13:21
thank you for quick reply.

just one more question, i am trying to mux an h.264 stream in mmg with default settings, and in mediainfo (0.7.44) for the muxed video stream i get "Muxing mode:Container profile=Unknown@0.0" (while i'm expecting the usual "header stripping") where can i read explanation on this?

Mosu
20th April 2011, 13:32
Please post such questions to the MediaInfo developers.

Lincoln Burrows
20th April 2011, 16:12
Is there a proper way to do this?

Do you know for sure if this is even possible without reencoding either the video or the audio streams?

1) I downloaded three videos of mine from Youtube in MP4 format. It was a single video cut in 3 pieces due to the extended lenght (more than 15 minutes).

2) I decided to mix those videos into a single file (MKV) and upload into another location.

3) I tried to mix those MP4 files together but no luck so far. I also extracted the streams from the MP4s using YAMBOX (h264 and AAC). MKVToolnix is reporting this error:

Warning: AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.Only the first video is saved into a MKV container, the second video is being ignored...

sneaker_ger
20th April 2011, 16:17
And no luck appending.

Be more specific. Any error message? Crash? The youtube links (and which resolution)?

Mosu
20th April 2011, 16:58
Also provide the command line you're using. And: something prefixed with "Warning:" is not an error.

Lincoln Burrows
20th April 2011, 21:27
Be more specific. Any error message? Crash? The youtube links (and which resolution)?Any link would present the same problem.

OK, here's a random video I just found out:

Part 3:
http://www.youtube.com/watch?v=qHG2cwOQlwE

Part 4:
http://www.youtube.com/watch?v=-pVIcHuclw0

Now you need to use Downloadhelper or some other way to download the original MP4 files from Youtube server.

Here's the problem: no matter what you do, you can't merge those videos.

This is the command line when you add the MP4 files:

"C:\Arquivos de programas\MKVtoolnix\mkvmerge.exe" -o "C:\\Documents and Settings\\Core Quad 9450\\Desktop\\IELTS Argument Essay Writing 1 (4 of 4).mkv" "--forced-track" "1:no" "--compression" "1:none" "--forced-track" "2:no" "--compression" "2:none" "-a" "1" "-d" "2" "-S" "-T" "--no-global-tags" "--no-chapters" "C:\\Documents and Settings\\Core Quad 9450\\Desktop\\IELTS Argument Essay Writing 1 (4 of 4).mp4" "--forced-track" "1:no" "--compression" "1:none" "--forced-track" "2:no" "--compression" "2:none" "-a" "1" "-d" "2" "-S" "-T" "--no-global-tags" "--no-chapters" "C:\\Documents and Settings\\Core Quad 9450\\Desktop\\IELTS Argument Essay Writing 1 (3 of 4).mp4" "--track-order" "0:1,0:2,1:1,1:2"

And this is the error message I am receiving when merging both MP4 videos:

Warning: 'C:\Documents and Settings\Core Quad 9450\Desktop\IELTS Argument Essay Writing 1 (4 of 4).mp4' track 2: The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.
Warning: 'C:\Documents and Settings\Core Quad 9450\Desktop\IELTS Argument Essay Writing 1 (3 of 4).mp4' track 2: The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.


The resulted file only contains the first MP4 file...

You will get the same errors with different warnings if you use YAMB (software) to extract both track IDs (video/audio) into raw format and attempt to merge them on MKVToolnix.

Should I use any specific command line in this case?

Mosu
20th April 2011, 21:32
You're not appending the files in question. You're merging the files so that they're parallel instead of consecutive to each other.

sneaker_ger
20th April 2011, 21:41
I also got the warning (which is not critical, as pointed out by Mosu), but the appending worked just fine - simply added the first file to mmg and then chose "append" for the second one. I don't see any "--append-to" in your command line.

mariush
21st April 2011, 05:28
I'm not 100% about this one, but here it goes.

Source h264 + mp3, set header compression to none for audio track, enable splitting after 10 seconds, create maximum 2 files (basically i'm interested in second file, from 10s to end). Running this results in second mkv generated being made with audio header compression (zlib) - either this or youtube fails to process the video for some other reason.

With the option disabled globally from options, the generated mkv is successfully processed by youtube, like any video without header compression.

Mosu
21st April 2011, 07:39
The difference is that you haven't disabled header removal compression manually for the video track.

Mosu
21st April 2011, 11:13
I’ve released mkvtoolnix v4.7.0. It’s mostly a bug fix release with few new features.

There’s one important change for package maintainer: The configure script will always use the internal versions of libEBML and libMatroska. They’re linked statically. I plan to provide a configure option for using external ones in a future release.

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

...to the Windows installer and 7zip archive:
http://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-unicode-4.7.0-setup.exe
http://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-unicode-4.7.0.7z

All binaries that I provide myself have already been uploaded.

Here's the full ChangeLog since release 4.6.0:

2011-04-20 Moritz Bunkus <moritz@bunkus.org>
* Released v4.7.0.
* build system: For the time being the build system will always build and link statically against the internal versions of libEBML and libMatroska.
* mkvmerge: bug fix: Fixed appending timecode calculation for appended subtitle tracks if the subtitle tracks are read from complex containers (e.g. Matroska, MP4, AVI etc). Fix for bug 620 (https://www.bunkus.org/bugzilla/show_bug.cgi?id=620).

2011-04-15 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Fixed extraction of MPEG-1/2 video tracks whose sequence headers change mid-stream but whose key frames are not all prefixed with a sequence header. Fix for bug 556 (https://www.bunkus.org/bugzilla/show_bug.cgi?id=556).
* mkvmerge: bug fix: Fixed reading AAC tracks from AVI files with 7 bytes long codec data. Fix for bug 613 (https://www.bunkus.org/bugzilla/show_bug.cgi?id=613).
* mkvmerge: enhancement: Added support for WAV and AVI files that use a WAVEFORMATEXTENSIBLE structure (wFormatTag == 0xfffe). Fix for bug 614 (https://www.bunkus.org/bugzilla/show_bug.cgi?id=614).

2011-04-14 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The output file name extension will be updated on each track selection changed as well. The extension is based on the actually selected tracks, not on the presence of tracks of certain types. Fix for bug 615 (https://www.bunkus.org/bugzilla/show_bug.cgi?id=615).

2011-04-13 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge was dropping the last full DTS packet from a DTS files if that file was not encoded in "14-in-16" mode and if the file size was not divisible by 16.

2011-03-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed huge slowdown when splitting by size is active with certain kinds of input files. Fix for bug 611 (https://www.bunkus.org/bugzilla/show_bug.cgi?id=611).
* mkvinfo: bug fix: Fixed redirecting the output into a file with "--redirect-output"/"-r" and verbosity levels of 2 and higher.
* mkvpropedit, mmg header/chapter editor: bug fix: Fixed parsing Matroska files if mkvtoolnix is compiled with newer versions of libebml/libmatroska (SVN revisions after the releases of libebml 1.2.0/libmatroska 1.1.0).

2011-03-14 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: WAV files with unsupported format tags are rejected instead of being treated like containing PCM. Fix for bug 610 (https://www.bunkus.org/bugzilla/show_bug.cgi?id=610).

2011-03-13 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: The EBML header values "doc type version" and "doc type read version" are both set to 3 if at least one of the video tracks uses the stereo mode parameter.


Have fun.

khagaroth
21st April 2011, 16:08
Could you please fix the width of the above post. It's a pain to read, thanks.

robpdotcom
21st April 2011, 17:57
Can someone help me with the command line to replace global tags using mkvpropedit?

Example: I have a file, movie.mkv - it already contains a global tag file, but I want to replace it with newtag.xml.

Mosu
21st April 2011, 18:00
mkvpropedit movie.mkv --tags global:newtag.xml

b66pak
21st April 2011, 18:08
@Mosu thanks a lot...
_

robpdotcom
21st April 2011, 18:23
mkvpropedit movie.mkv --tags global:newtag.xml

Thank you very much Mosu.:thanks:

Lincoln Burrows
22nd April 2011, 20:04
I also got the warning (which is not critical, as pointed out by Mosu), but the appending worked just fine - simply added the first file to mmg and then chose "append" for the second one. I don't see any "--append-to" in your command line.I have made more tests and the only way for me to append those videos is to use YAMB to extract the audio (they are always in AAC format) and convert these streams using a software like BeHappy into MP3. That way you can have a single MKV file with all the videos you want.

What's wrong with AAC, anyway?

Edit: I solved the problem myself. I only needed to merge all video (.h264 streams). Then the next step was to do the same for all audio tracks (parts 1/2/3) in AAC (or MP3) format, saving into a .MKA file. Next thing was to load the MKV file and insert the MKA into that file, creating another Matroska. It's working now.

The mistake I made was selecting both video/audio tracks at the same time to save them into a Matroska container.

hopstiii
24th April 2011, 14:07
frames) references to other frames. The timecodes for such frames will be out-of-order,
and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for
this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.


Youtube will not show that video, all is gray, i have only audio.

MP4 video was encoded with ripbot264 with x264 encoder.

Midzuki
24th April 2011, 15:12
For a change, error messages quite often do N0T mean what they say. :rolleyes:
I didn't know that having 2 different versions of MKVtoolnix on 2 different directories was going to be a source of headaches >_<

MMG <SN!P> will not accept any file I add, be it mp3, mp4, wav, aac, etc. it allways returns a

"file identification failed for <trackname>. Return Code xxx".

Playing those Files in regular (32bit) players like MPC (for mkv internal splitter deactivated), WMP, etc. is no problem at all, and even muxing via the mkv-muxer in megui is no problem (wich is calling mkvmerge as mmg would do, or am I wrong on that?). So I am really puzzled about this problem and have absolute no idea what may go wrong here.
Oh Boy - Problem solved....
...
Haven't considered that mmg is using the registry for its settings, so the link to mkvmerge in mmg was using an ages old pathname that wasn't there anymore (I know why I prefer ini files).
...


Yes — what would be the problem in using an mkvtoolnix.ini ???

Midzuki
24th April 2011, 16:00
Mencoder syndrome:

<BS>"video stream is mandatory!"</BS>

Command line used:

"C:\Path-To\mkvmerge.exe" --output-charset UTF-8 --identify-for-mmg "C:\Path-To\filename.avi"

Output:

Error: The demultiplexer for the file 'C:\Path-To\filename.avi' failed to initialize:

avi_reader: Could not initialize AVI source. Reason: avilib - AVI file has no video data

Mosu
24th April 2011, 16:33
Yes — what would be the problem in using an mkvtoolnix.ini ???

The toolkit I use (wxWidgets) uses the registry automatically on Windows and INI files on other systems. Patches are welcome to change that (you can request the toolkit to use an INI file instead even on Windows), but those patches would have to provide a migration path as well.

hopstiii
24th April 2011, 16:47
Is it true mkv merge can't mux mp4 container x264 native that has over 4 reference frames?

mp4 has been made by RipBot264.
So the avi x264vfw from virtualdub is much more stable format. :confused:

Mosu
24th April 2011, 17:05
Is it true mkv merge can't mux mp4 container x264 native that has over 4 reference frames?

I don't know. I'm guessing you're encountering some kind of problem. Care to enlighten us?

Mosu
24th April 2011, 17:07
Mencoder syndrome:

<BS>"video stream is mandatory!"</BS>

Won't be fixed, sorry.

Midzuki
24th April 2011, 17:07
The toolkit I use (wxWidgets) uses the registry automatically on Windows and INI files on other systems.

Thanks for making things clear :thanks:

Given that I am unable to stop wxWidgets from being blatantly stupid :devil: :p ,
I'd better learn to do without the GUI for mkvmerge -.-

Mosu
24th April 2011, 17:15
When you uninstall mkvtoolnix via the installer then all registry entries are removed. Given that Windows' primary system for storing configuration data is the registry I don't see anything blatantly stupid in what wxWidgets does. That you prefer INI files is a totally different matter.

hopstiii
24th April 2011, 17:22
I don't know. I'm guessing you're encountering some kind of problem. Care to enlighten us?

After i muxed my RipBot264 x264 encoded in mp4 container, i got that error. Youtube can't decode that video, all is gray.
Mediacoder can't mux the file.

MKV Merge error
frames) references to other frames. The timecodes for such frames will be out-of-order,
and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for
this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.

In RipBot264 i used this settings:
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 8 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 4mn 53s
Bit rate mode : Variable
Bit rate : 2 500 Kbps
Maximum bit rate : 14.1 Mbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.090
Stream size : 87.0 MiB (100%)
Writing library : x264 core 114 r1924 08d04a4
Encoding settings : cabac=1 / ref=9 / deblock=1:0:0 / analyse=0x3:0x133 / me=tesa / subme=10 /
psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=40 / chroma_me=1 / trellis=2 /
8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / sliced_threads=0 /
nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=16 / b_pyramid=1 /
b_adapt=2 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=300 / keyint_min=1 / scenecut=40 /
intra_refresh=0 / rc_lookahead=60 / rc=2pass / mbtree=1 / bitrate=2500 /
ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=50000 /
vbv_bufsize=50000 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00

Midzuki
24th April 2011, 17:23
When you uninstall mkvtoolnix via the installer then all registry entries are removed.

Sorry, I've never "installed" MKVtoolnix, I simply extract its package into a "PATH-ed" directory.

Mosu
24th April 2011, 17:27
Sorry, I've never "installed" MKVtoolnix, I simply extract its package into a "PATH-ed" directory.

Then you can easily remove the registry entries by removing HKEY_CURRENT_USER\Software\mkvmergeGUI.

Mosu
24th April 2011, 17:30
After i muxed my RipBot264 x264 encoded in mp4 container, i got that error. Youtube can't decode that video, all is gray.
Mediacoder can't mux the file.

Wait... You're creating a MP4 file that several utilities cannot handle and you're asking here for help? Why? Why don't you ask the RipBot authors or x264 authors?

MKV Merge error
frames) references to other frames. The timecodes for such frames will be out-of-order,
and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for
this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.

First, it's not an error. There are legitimate files that don't require a CTTS atom -- ones without B frames (to be exact: ones in which decoding order and presentation order are identical and video timecodes are increasing by a constant value for each frame).

Second, for AVC/h.264 CTTS atoms are usually present. I don't know how you can avoid creating such files. This is not a RipBot support thread.

Midzuki
24th April 2011, 17:37
Given that Windows' primary system for storing configuration data is the registry I don't see anything blatantly stupid in what wxWidgets does.

The Windows Registry is well-known for being a huge can of worms. :(

hopstiii
24th April 2011, 18:03
My file is fully DXVA compatible on my Ati HD-3870.
Should be from starting HD-2000 series.

I go to RipBot264 topic because VirtualDub x264vfw encode works in avi container (can be muxed in MKV merge 4.7 with no error). It must be encoder problem.

b66pak
30th April 2011, 18:08
remuxing mkv with h264+dts (for adding new tracks or subs) results in a +11ms delay for the dts track:


timecodes for source mkv dts track:

# timecode format v2
0
10.666666
21.333332
31.999998
42.666664
53.33333
63.999996
74.666662
85
95.666666
106.333332



timecodes for remuxed mkv dts track:

# timecode format v2
11
21.666666
32.333332
42.999998
53.666664
64.33333
74.999996
85
85.666662
95.666666
106.333332



timecodes for remuxed mkv dts track after a new remux:

# timecode format v2
22
32.666666
43.333332
53.999998
64.666664
75.33333
85
85.999996
95.666666
96.666662
106.333332



anyway, it looks like after 11 frames is compensated...
_

Mosu
30th April 2011, 18:18
I'm assuming you're using a format as a source that provides timestamps (e.g. MP4, Matroska files) for the DTS tracks. mkvmerge re-uses those timecodes unless you adjust them with --sync.

If you were using raw DTS files mkvmerge would start at 0, neither at 11 nor at 22ms.

So there's no bug here.

b66pak
30th April 2011, 18:36
the source is a .mkv (h264+dts) with timecodes for dts and h264 that start at 0...if i load the .mkv and an external .srt in last mmg and remux to a new .mkv (h264+dts+srt) i get the +11ms delay for the dts track...
_

Mosu
30th April 2011, 18:49
Maybe the DTS tracks contain garbage at the beginning? You can upload the file if you want me to take a look at it (the source file that is).

b66pak
30th April 2011, 19:01
no...its clean...i cant upload anything for now...her is how to reproduce yourself:

cut 30sec from a .mkv with h264+dts...demux to raw .h264 and .dts...mux the .h264 and the .dts with the last mmg (v.4.7.0)...you will get a new .mkv with start timescodes 0 for audio and video...load this new .mkv in mmg and remux it...the result is +11ms for the dts track...
_

sneaker_ger
1st May 2011, 15:30
I'm assuming you're using a format as a source that provides timestamps (e.g. MP4, Matroska files) for the DTS tracks. mkvmerge re-uses those timecodes unless you adjust them with --sync.

Is this true for all audio tracks?
Because I found it not to be true, mkvmerge seems to recreate the audio timestamps even for mkv sources. Tested on ac3. And it can do some strange things, which look similar to those b66pak reported.

Thunderbolt8
12th May 2011, 00:23
is there any tool which lets me edit the track names for video and audio inside a .mkv file without having to remux the whole thing? and if so, I take it this isnt harmful for the file or its contents quality?

sneaker_ger
12th May 2011, 00:31
mkvmerge GUI > file > header editor or mkvpropedit.exe (cli)
But remuxing with mkvmerge is recommended anyways, don't remember the reason right now. Try to search this thread.