View Full Version : MKVToolNix v100.0 released


Pages : 1 2 [3]

Nico8583
23rd February 2024, 21:03
I have a strange result with some subtitles (chinese).
I extract a subtitle stream from tsMuxeR : file size 28,3MB / 1678 subtitles
Then I mux it to MKV and extract it to sup : file size 55,6MB / 3360 subtitles
If I mux directly from BD to MKV and extract it to sup : file size 28,3MB / 1678 subtitles
Is it a known "issue" ? SUP is OK from BD to tsMuxeR, SUP is OK from BD to MKV but SUP is not OK from BD to tsMuxeR to MKV.
Thank you.

Edit : Last subtitle timecode from 1678 subtitles file : 02:15:50,976
Last subtitle timecode from 3360 subtitles file : 04:31:45,789

Edit 2 : Just tried DGDemux instead of tsMuxeR, it's OK so it seems to be a tsMuxeR issue

tebasuna51
24th February 2024, 11:42
It plays fine in sync with MPC-HC, but... Is it realy what it should be...:confused:

Yes, it is fine.

But if you are confused a little more info about MediaInfo options:

For what the two videos have the same duration with a different FPS, and the frames are the same?

Because rounding info data with similar fps.
In the MediaInfo window check Debug-> Advanced mode
Then you can see more exact data like:

...
Duration : 00:01:36.200
Frame rate : 25.000
Frame count : 2405
...
Where Duration = 2405/25

In your two videos it's not possible have the same exact duration and frame count with different fps.
Or have different duration or frame count.
Whit the same frame count one can be 1:44:00 and other 1:44:06, only 6 seconds rounded to 1:44 but enough to unsync the audio.

What is the correct one? I can't know, old film movies are 24 fps, but digital ones can be at 23.976.

In order to play you can't see differences between both.

jpsdr
24th February 2024, 12:25
Ok, thanks.

Boulder
29th February 2024, 08:06
Does mkvmerge keep the Dolby Vision metadata (from RPU) when joining AV1 or HEVC files? Or is this kind of functionality even supported without messing up the RPU?

Mosu
29th February 2024, 08:42
It does, yes. That being said, the same restrictions apply as for appending other H.26x content (where the codec private data must match): the global Dolby Vision data must match as well — though that isn't checked right now, but only the parts of the first file are kept if I remember correctly.

Caveat emptor: I haven't really tested this a lot.

Boulder
29th February 2024, 08:50
It does, yes. That being said, the same restrictions apply as for appending other H.26x content (where the codec private data must match): the global Dolby Vision data must match as well — though that isn't checked right now, but only the parts of the first file are kept if I remember correctly.

Caveat emptor: I haven't really tested this a lot.

In this case, the data doesn't match as each file would have its own RPU. My idea was to do parallel chunked encoding by splitting the RPU file accordingly and join the chunks later. Looks like it's not going to work.. HEVC in Matroska can have RPU injected afterwards, but AV1 does not have such tools yet.

Mosu
29th February 2024, 08:56
For HEVC appending will likely work even if the global DoVi data doesn't match as nothing's removed from the bitstream. All UNSPEC62 & UNSPEC63 NALUs are kept, and the global data (dvcC, dvvC, dvwC in MP4 speak) is derived solely from those NALUs.

Boulder
29th February 2024, 14:46
For HEVC appending will likely work even if the global DoVi data doesn't match as nothing's removed from the bitstream. All UNSPEC62 & UNSPEC63 NALUs are kept, and the global data (dvcC, dvvC, dvwC in MP4 speak) is derived solely from those NALUs.

Looks like it works with AV1 as well, at least DoVi is detected by MediaInfo which is not the case with ffmpeg-joined files. I'll just need to ask quietvoid if he knows whether the approach would affect playback in a negative way.

quietvoid
29th February 2024, 14:52
Since mkvmerge doesn't change the bitstream as Mosu said, it should be fine to do whatever.
I've had a script do chunked AV1 encodes with RPU and they played fine.

von Suppé
2nd March 2024, 09:39
I mux doing the following :
Audio is from Film_23_976 untouched, video is from Film_24_000 with FPS set to 24000/1001 + "Fix bitstream" checked.

Result is :

General
Format : Matroska
Format version : Version 4
Duration : 1 h 44 min
Frame rate : 24.000 FPS
Writing library : libebml v1.4.5 + libmatroska v1.7.1

Video
ID : 1
Format : HEVC
Duration : 1 h 44 min
Frame rate mode : Constant
Frame rate : 24.000 FPS

It plays fine in sync with MPC-HC, but... Is it realy what it should be...:confused:

Timestamps can be written on contaner-level and in-elementary-stream. Which two can differ. Therefore (proper) playback depends on which of the two timestamps are honoured by the player.
Unless things have changed recently, the "Fix bitstream timing info" only works for AVC video. Read here:

https://mkvtoolnix.download/doc/mkvmerge.html#d4e1980 scroll down to "--fix-bitstream-timing-information"

I like to have timestamps in both elementary video and container being the same. To rewrite timestamps for HEVC I use ffmpeg.exe. Two command-lines I often use are:

For 24 fps:
ffmpeg -i input.hevc -c copy -bsf:v hevc_metadata=tick_rate=24:num_ticks_poc_diff_one=1 output.hevc

For "23.976" fps:
ffmpeg -i input.hevc -c copy -bsf:v hevc_metadata=tick_rate=(24000/1001):num_ticks_poc_diff_one=1 output.hevc

tebasuna51
2nd March 2024, 10:41
https://mkvtoolnix.download/doc/mkvmerge.html#d4e1980 scroll down to "--fix-bitstream-timing-information"

You are right, don't work with HEVC video.
Maybe Mosu can limit or add that Note to the help text.

Then the ffmpeg tool must be used. Also work eac3to:

eac3to input24.mkv 1: output.h265 -changeTo23.976

von Suppé
2nd March 2024, 13:28
With eac3to I have much used the changeTo... for AVC. Simply didn't know it could do also for HEVC. Thanks for letting this know.

Mosu
10th March 2024, 19:44
Heyoooo!

Here's a tiny release with two small new features. Mostly it's so small because we've spent quite a lot of time improving & reworking two underlying libraries libEBML & libMatroska that MKVToolNix uses, among with required adjustments to MKVToolNix's source code as well.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows and macOS binaries as well as the Linux AppImage are available already. The other Linux binaries are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 83.0 "Circle Of Friends" 2024-03-10
New features and enhancements

translations: added a Belarusian translation of the programs & the man pages by prydespar (see "AUTHORS").
mkvmerge, MKVToolNix GUI's chapter editor: added support for reading chapters from ffmpeg metadata files. Implements #3676 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3676).
MKVToolNix GUI: added a new action type for execution after jobs or the queue finishes: quitting MKVToolNix. Implements #3677 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3677).

Build system changes

The bundled "fmt" library was updated to v10.2.1.

Other changes

Tons of changes were made to support the latest development versions of libEBML & libMatroska.


Have fun 😁

XinHong
11th March 2024, 07:27
Hello Mosu,

For the 64bit portable 7z version Windows (Windows antivirus) is detecting a virus, do you confirm this file is safe ?
https://mkvtoolnix.download/windows/releases/83.0/mkvtoolnix-64-bit-83.0.7z

Mosu
11th March 2024, 09:53
It's fine. A/V mis-detection happens from time to time with newly compiled programs that haven't been around a lot yet, especially after having changed the code signing certificate a couple of months ago (the old one expired). See this FAQ entry (https://gitlab.com/mbunkus/mkvtoolnix/-/wikis/Virus-in-installer) for more information.

Mosu
11th March 2024, 15:13
Addendum: I've submitted the file to Microsoft for further analysis, and they agree with me assessment (https://www.microsoft.com/en-us/wdsi/submission/83c0d9e0-4966-4739-9b25-61f52c5e45d6) that the files are harmless. The signature will be removed from detection.

XinHong
12th March 2024, 07:20
Yes that's fine now, thanks

jpsdr
16th March 2024, 13:25
I gave to a frien an mkv muxed with the 82.0.49 version.
He told me that he cannot fast forwad or advance fast with all his players, except with VLC.
I also gave an mkv muxed with mkvtoolnix, but i made 4 years ago (around) i think.
He had no issue with this one.
According his net research, it's some kind of "indexing issue".

Does this ring a bell to someone ?
Is there some kind of default setting which could have changed in mkvtoolnix during the last (around) 4 year, concering "indexing" ?
If it rings a bell to someone, what's the "fix" (or setting) ?

Dogway
18th March 2024, 13:32
I gave to a frien an mkv muxed with the 82.0.49 version.
He told me that he cannot fast forwad or advance fast with all his players, except with VLC.
I also gave an mkv muxed with mkvtoolnix, but i made 4 years ago (around) i think.
He had no issue with this one.
According his net research, it's some kind of "indexing issue".

Does this ring a bell to someone ?
Is there some kind of default setting which could have changed in mkvtoolnix during the last (around) 4 year, concering "indexing" ?
If it rings a bell to someone, what's the "fix" (or setting) ?

Happening to me for the last 6 months or so. It freezes for about 30s or a minute when jumping to a different section of video.
I don't think it's an issue with MKV as remuxing to MP4 doesn't make a difference, and this doesn't happen remuxing to MKV from downloaded MP4.
Maybe it has to do with x264 build (always use Ligh's build). I updated to latest from him and I will check in following encodes.

jpsdr
18th March 2024, 19:26
The issue is that it happened on a around 4 years old MKV, i remuxed. The old MKV was "fine", the new not, so... Aside MKVToolnix, i don't see anything else... :(

blob2500
19th March 2024, 14:37
The issue is that it happened on a around 4 years old MKV, i remuxed. The old MKV was "fine", the new not, so... Aside MKVToolnix, i don't see anything else... :(
I have always had the same problems, but on hardware players (PVR, BD players etc.).
I always resolve with these settings:

https://gitlab.com/mbunkus/mkvtoolnix/-/wikis/Improving-playback-compatibility-with-players

in .ini file of MKVtoolnix, "Defaults" section:

defaultAdditionalMergeOptions=--clusters-in-meta-seek --disable-lacing --disable-track-statistics-tags --disable-language-ietf --engage no_cue_duration --engage no_cue_relative_position --engage no_simpleblocks

jpsdr
19th March 2024, 19:36
Ohhhh... :thanks:
Very interesting.
I'll just try for now just to remove the "cue", as it's something new, so it can explain the difference between the at least 4 years mux and the mux now.

Boulder
19th March 2024, 19:37
I've had --engage no_cue_duration --engage no_cue_relative_position --disable-track-statistics-tags in Additional options for years, no playback issues with various devices.

tebasuna51
20th March 2024, 08:34
I've had --engage no_cue_duration --engage no_cue_relative_position --disable-track-statistics-tags in Additional options for years, no playback issues with various devices.

+, the same.

jpsdr
20th March 2024, 19:09
The "cue" was indeed the guilty, i remuxed with the option removing them, and my friend told me that all issues were gone.
Thanks for these informations.

Perenista
27th March 2024, 17:35
https://i.postimg.cc/CwfKkY7T/DISA.jpg

Question: how do I make MKVToolnix never assume anything in this field? (FILE TITLE)

I want this to be always blank for 100% files I edit, no matter what was there before (of course if it was already blank, it shouldn't be filled with anything; if wasn't, MKVToolnix should not add anything new).

WontonNoodle
3rd April 2024, 11:46
Question about remuxing discs: why does directly remuxing with mkvtoolnix via the playlist file result in different audio delays vs demuxing with eac3to then remuxing with mkvtoolnix? And which is correct? This was a seamless branching disc btw.

I demuxed with eac3to which showed a -9ms delay for the dts track. "[a03] Applying DTS delay..." was in the log so I believe it applied the -9ms delay to the dts track.
Directly remuxing with mkvtoolnix reports a +2ms delay for the dts track in the resulting mkv in mediainfo.

I extracted the track and put both into audacity, and it does show a 11 ms difference between the tracks, with the direct remux being 11 ms after the eac3to demux track.
Which is correct and the better way to rip discs?

EDIT: i've also found makemkv to be the worst when it comes to audio sync, it seems like files progressively get out of sync with makemkv.

hubblec4
3rd April 2024, 12:33
This is a question of duplicated Audio frames which are removed by eac3to/DGDemux.
MTX is not able to remove this frames.

For seamless branching discs you could try my chapterEditor which is special designed for this task.

WontonNoodle
3rd April 2024, 12:37
This is a question of duplicated Audio frames which are removed by eac3to/DGDemux.
MTX is not able to remove this frames.

For seamless branching discs you could try my chapterEditor which is special designed for this task.

Ah I see. Will try chaptereditor thanks. Btw is the eac3to demux then remux delay correct in any case? Or should I just use chaptereditor for best results?

hubblec4
3rd April 2024, 18:20
cE uses eac3to in the background, but keep in mind there is a new version of eac3to.
The result with or without cE is equal to use eac3to separate and mux manually with MTX.

But a disc with seamless branching has often more than one Edition of the movie. Only with cE you can create a Multi-Edition-MKV of this disc.

WontonNoodle
3rd April 2024, 20:54
cE uses eac3to in the background, but keep in mind there is a new version of eac3to.
The result with or without cE is equal to use eac3to separate and mux manually with MTX.

But a disc with seamless branching has often more than one Edition of the movie. Only with cE you can create a Multi-Edition-MKV of this disc.

I tried chaptereditor (i linked mkvtoolnix and eac3to only? not sure if that was correct). It resulted in a mkv with video frames that didnt match up with the bluray disc. The resulting dts track in audacity gave a 329 ms delay near the middle of the movie.

I also tried dgdemux you mentioned and it resulted in a 46 ms delay in the same spot near the middle of the movie. I didnt mux video with this so I didn't check where the frames lined up.

The odd thing is that every track starts at the same ms point so they just progressively get out of sync at different rates. I didn't realize this until now so I have to check the mkvtoolnix track again for sync in the middle of the movie. I'm still not sure which method generates a correctly synced audio track for seamless branching discs.

btw what im trying to do is mux the dts audio from Avatar to my UHD Avatar rip which only has the theatrical cut.

hubblec4
3rd April 2024, 23:08
I tried chaptereditor (i linked mkvtoolnix and eac3to only? not sure if that was correct).
Maybe you need to set the BDSup2Sub path.


It resulted in a mkv with video frames that didnt match up with the bluray disc. The resulting dts track in audacity gave a 329 ms delay near the middle of the movie.
Sounds like you don't demux the Audio stream. Also in cE you must demux the Audios(it's only a click).


I also tried dgdemux you mentioned and it resulted in a 46 ms delay in the same spot near the middle of the movie. I didnt mux video with this so I didn't check where the frames lined up.
Yes the finial mkv is the important thing. 46ms is more than one Video frame.



The odd thing is that every track starts at the same ms point so they just progressively get out of sync at different rates. I didn't realize this until now so I have to check the mkvtoolnix track again for sync in the middle of the movie. I'm still not sure which method generates a correctly synced audio track for seamless branching discs.

This is a hugh topic and so easy to explain.
You can read this thread (https://www.rationalqm.us/board/viewtopic.php?f=16&t=1298&sid=1798cc6ef152e0134e2bc8ba2ed4fe70).

A movie with several m2ts files, will be problematic. This is a nature of Codec design and Matroska design.


btw what im trying to do is mux the dts audio from Avatar to my UHD Avatar rip which only has the theatrical cut.
Also a big problem. to combine tracks from different discs/sources. Only manually things like Audio re-encoding could be help.

WontonNoodle
3rd April 2024, 23:15
ok so chaptereditor and mkvtoolnix results in mismatching frames for the video compared to the disc
dgdemux and eac3to result in the same frames as the disc
however dgdemux dts track progressively gets more and more out of sync (starts with 0 difference, then 11 ms delay, then up to 54 ms delay vs the eac3to track as the movie goes on)

so either the dgdemux or eac3to track is correct? any ideas as to which one is the right one.
i also tried on a non branching disc and mkvtoolnix, dgdemux, and eac3to all result in the same audio sync.

EDIT: thanks ill read that thread

markfilipak
3rd April 2024, 23:24
... dgdemux dts track progressively gets more and more out of sync (starts with 0 difference, then 11 ms delay, then up to 54 ms delay vs the eac3to track as the movie goes on)

What makes you believe that? What indicates DTS to you? "starts with 0 difference" means what to you -- difference between DTS and what?

--Mark.

WontonNoodle
3rd April 2024, 23:29
What makes you believe that? What indicates DTS to you? "starts with 0 difference" means what to you -- difference between DTS and what?

--Mark.

I loaded all the dts tracks that were demuxed in audacity and shift+z to see the time differences between the tracks at different durations. The tracks are the exact same sonically so it's easy to see where the waves are supposed to match. The delay is with respect to the eac3to demuxed track. The only problem is I dont know which one is correct.

EDIT: I just did some quick frame by frame resuming from the remuxes vs the disc on some gunfire near the end of the movie and the eac3to track is the correct one FYI. the dgdemux audio is delayed by a frame. thanks all

markfilipak
3rd April 2024, 23:46
I loaded all the dts tracks that were demuxed in audacity and shift+z to see the time differences between the tracks at different durations. The tracks are the exact same sonically so it's easy to see where the waves are supposed to match. The delay is with respect to the eac3to demuxed track. The only problem is I dont know which one is correct.

There is no such thing as a DTS track. Why are you writing "DTS"? I mean no disrespect. I mean to help. But "DTS" doesn't mean what you think it means.

Edit: You probably mean PTS. So you say that frame PTSs get "out of sync". Out of sync with what? With what it started as? Look at the frame rates? Do they differ?

WontonNoodle
3rd April 2024, 23:49
There is no such thing as a DTS track. Why are you writing "DTS"? I mean no disrespect. I mean to help. But "DTS" doesn't mean what you think it means.

What? When you demux you get a .dts track and you can load all the channels in audacity via ffmpeg

markfilipak
3rd April 2024, 23:59
What? When you demux you get a .dts track and you can load all the channels in audacity via ffmpeg

Is that a file extension? 'something.dts', like 'something.mp4' or 'something.mkv'?

rco133
4th April 2024, 07:32
ok so chaptereditor and mkvtoolnix results in mismatching frames for the video compared to the disc
dgdemux and eac3to result in the same frames as the disc
however dgdemux dts track progressively gets more and more out of sync (starts with 0 difference, then 11 ms delay, then up to 54 ms delay vs the eac3to track as the movie goes on)

so either the dgdemux or eac3to track is correct? any ideas as to which one is the right one.
i also tried on a non branching disc and mkvtoolnix, dgdemux, and eac3to all result in the same audio sync.

EDIT: thanks ill read that thread

Hi.

This may be becoming a bit off topic for MKVToolnix thread.

The author of dgdemux/dgindenv have put a lot of effort into getting seamless branching audio and subs to be in sync, and according to the author I think a maximum of 10-15 ms or so should be the result. If you find that the delay for dgdemux is 54 ms off, I am sure he would like to know.

There are also some other tools that can handle seamless branching discs, but due to technical limitations, you will always end up with some slight delay.

Btw, the "old" eac3to versions below 3.40 all have various issues with seamless branching discs. Especially subs getting way out of sync at the end.

I am sure you can find long threads about it here, and it has also been discussed in lenth on the dgdemux/dgindexnv forum.

rco133

Mosu
4th April 2024, 08:55
There is no such thing as a DTS track. Why are you writing "DTS"? I mean no disrespect. I mean to help. But "DTS" doesn't mean what you think it means.

Edit: You probably mean PTS. So you say that frame PTSs get "out of sync". Out of sync with what? With what it started as? Look at the frame rates? Do they differ?

markfilipak: you're talking about timestamps (DTS = decode timestamp, PTS = presentation timestamp), whereas WontonNoodle's talking about the audio codec family called DTS (https://en.wikipedia.org/wiki/DTS_(company)#DTS_technologies). A "DTS track" is therefore an audio track encoded with one of the various DTS codecs.

hubblec4
4th April 2024, 20:40
ok so chaptereditor and mkvtoolnix results in mismatching frames for the video compared to the disc
Do you had demuxed the tracks inside cE? I have never issues with the video frames.



dgdemux and eac3to result in the same frames as the disc
however dgdemux dts track progressively gets more and more out of sync (starts with 0 difference, then 11 ms delay, then up to 54 ms delay vs the eac3to track as the movie goes on)

so either the dgdemux or eac3to track is correct? any ideas as to which one is the right one.
i also tried on a non branching disc and mkvtoolnix, dgdemux, and eac3to all result in the same audio sync.



Both tracks, eac3to.dts and dgdemux.dts are fine, but not perfect, and this is also never possible.

The whole issue comes from the different durations of the frames. A video frame has a duration of 24000/1001 ms (round about 41,708 ms). A .DTS frame has a duration of 32ms (hope I'm right)

Let's say our movie has only one video frame:
When we use only one Audio frame there are now more than 9 ms playtime of the video without sound.
For Blu-ray and maybe all other disc formats:
The Audios are always longer than the video.

So we have to use 2 Audio frames for our One-Video-Frame-Movie.
Now is the Audio duration 64ms and plays 22ms longer then the video.

But when the movie uses multiple m2ts files, for each m2ts there is now a bit more Audio as Video.
eac3to and DGDemux drops Audio frames when the desynch reach a certain limit.

There are also more discussion on Reddit (https://www.reddit.com/r/chapterEditor/comments/18i4r6s/small_problem_with_chapters_in_multiedition_mkvs/).
I have written a lot email with this user and he work on a method where no demuxing is necessary.
He means removing Audio data is not good, and he inspired me to look deeper in the BD-specs.
And he is absolute right.
But to keep the entire data and playback then correctly is currently not possible, but maybe in a near future.
I am excited if he can make it to run.
When you preserve all the m2ts files in separate mkv files and use Linked-Ordered-Chapters, this could work.

Ripman
12th April 2024, 15:30
GM M. Just posting to let you know that your sw is “top-shelf.” Feature rich, never crashes, sensible layout, man pages, prior versions, cli…. It’s all there. I even see Reddit posts about mkvtoolnix. Really great product.

Thanks for the new version too. Best….

Mosu
12th April 2024, 15:47
Thank you very much for your kind words!

NumberSix
14th April 2024, 20:44
Hi, all

New to this forum - apologies if this query is in the wrong place.

Have been using mkvtoolnix for a number of years now and it has been a fantastic bit of software - many thanks to the author.

I am just trying to remux rips of my copies of the Top Gun 4K UHD Blu rays and am confused about how to handle the Dolby Vision data.

I am using MakeMKV to copy BDMV folder structures from the discs, and then eac3to to demux to individual streams from the relevant playlists. The demuxing process produces two video streams. My understanding one is the HDR10 "base" layer, and the second (1080p "resolution") stream is the "enhanced" layer track used for DV metadata.

My question is, how should this be processed when remuxing into an MKV using mkvtoolnix? I am simply adding both files to the GUI as separate video tracks - but I have no idea if this is the right process to use?

On v81.0, if it's relevant.

Thanks!

Mosu
14th April 2024, 20:47
mkvmerge can read Dolby Vision directly from other Matroska files or from MPEG transport streams (M2TS), but it cannot combine two raw elementary streams. Therefore the "demux the tracks with eac3to" stept is breaking this workflow. Why are you demuxing in the first place?

NumberSix
15th April 2024, 00:29
Thanks for the prompt reply!

I am demuxing due to the mixed results I've had when using mkvtoolnix or other tools to read directly from mpls/m2ts. Using eac3to to demux before remuxing in a tool like mkvtoolnix has been the most reliable approach to dealing with titles that use seamless branching on the disc.

Is there any way to combine the streams prior to feeding into mkvtoolnix?

hubblec4
15th April 2024, 12:10
Hi NumberSix
For demuxing seamless branching discs with HEVC(+DV) you must use DGDemux for demuxing. And better you use chapterEditor, it is extra designed for such a task.

Mosu
28th April 2024, 12:27
Hey y'all.

MKVToolNix v84 is out, with a handful of bug fixes & a handful of enhancements. The usual stuff.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages as well as the Linux AppImage are available already. The other Linux packages are still being built and will be available over the course of the next couple of hours.

Please note that due to technical reasons I haven't been able to build the macOS disk image yet. I don't know when I'll be able to fix it.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 84.0 "Sleeper" 2024-04-28
New features and enhancements

mkvmerge: added a new file-specific option "--regenerate-track-uids". When used for Matroska files, "mkvmerge" will generate new random track UIDs instead of keeping existing track UIDs. This is done automatically when a Matroska file was created by MakeMKV.
mkvmerge: MP4 reader: added support for FLAC in MP4. Implements #3692 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3692).
MKVToolNix GUI: multiplexer: the "Attachments" tab's title will now include the total number of attachments (both from source files & to newly attach). Implements #3693 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3693).
translations: added a Norwegian Bokmål translation of the programs by Roger Knutsen (see "AUTHORS").

Bug fixes

configure: when called with "--disable-gui" the build system still ran the check for the GUI libraries & failed if they weren't found. This check is now skipped when the option is given. Fixes #3680 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3680).
mkvmerge: several color-related track header properties were parsed into & stored as a wrong integer type internally. This could result in wrong values being copied when very large values were present in source files, or in error messages when very large values were used as command-line parameters.
MKVToolNix GUI: multiplexer: the keyboard shortcuts from the "modify selected tracks" sub-menu didn't work right after opening a file. They only started working after opening the "multiplexer" menu. Fixes #3681 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3681).

Build system changes

Release v8.0.0 of the "fmt" library is now required. If not found, the bundled copy will be used.
A C++20 compatible compiler is now required for several but certainly not all C++20 features. g++ v10 & clang++ v10 should suffice.


Have fun 😁

shearerc
10th May 2024, 11:37
Hi Mosu,

Your latest Windows binaries are signed by the sub-CA "GoGetSSL G4 CS RSA4096 SHA256 2022 CA-1" of the "DigiCert Trusted Root G4" root CA.

Our Windows 10 and 11 machines do not have the sub-CA "GoGetSSL G4 CS RSA4096 SHA256 2022 CA-1", and I can't seem to find this intermediate cert anywhere.
It's strange, because normally a CA will make them available for download like these:
https://www.gogetssl.com/wiki/intermediate-certificates/gogetssl-intermediate-root-certificates/
https://www.digicert.com/kb/digicert-root-certificates.htm

Perhaps you can make it available on your site?

Mosu
10th May 2024, 12:14
In general I'm strongly against making CA files available on arbitrary websites that aren't run by the organization operating the CA. It always smells incredibly bad to me. The obvious exceptions are the well-known CA bundles operated by browser vendors. But certainly not on random project websites; that always smells kind of bad to me, to be honest.

To me it looks like GoGetSSL didn't think of adding the intermediates they use for code-signing to the website you've linked to. If anything, you should ask them to add the relevant intermediates to their site.

shearerc
11th May 2024, 10:51
Thanks Mosu, upon further reflection, I agree it's wiser (from a trust perspective) for the CA to publish the intermediates themselves. I'll ask them to do just that (hopefully just an oversight)

shearerc
13th May 2024, 12:08
After being brushed off by GoGetSSL's incompetent L1 Support, I did a bit of research and found how to retrieve the intermediate cert's download URL!

From https://www.thesslstore.com/blog/aia-fetching/ :
AIA, or Authority Information Access, is an extension in SSL certificates that provides information about the issuer. One of the purposes of this extension is to provide a link to the issuing intermediate certificate.

So I examined in detail the exe's digital cert, and voila!, under the Authority Information Access [section 2] is the URL to the Gogetssl cert. See attached screenshot.

Downloaded & imported it into Windows 10's cert store and binaries can be validated now :D

AngelGraves13
15th May 2024, 18:55
Noticed a new bug in v84.0

* UID of tracks are changed after being processed with mkvtoolnix from say 1, 2, 3 to long random numbers. I'd prefer if the UIDs aren't altered.

Mosu
15th May 2024, 19:00
That's an intentional change. UIDs are supposed to be unique & random. Having them just numbered starting from 1 poses subtle issues in certain scenarios.

So no, not a bug, and no, won't change.

AngelGraves13
15th May 2024, 21:54
That's an intentional change. UIDs are supposed to be unique & random. Having them just numbered starting from 1 poses subtle issues in certain scenarios.

So no, not a bug, and no, won't change.

I guess I'll have to manually change them all after I mux then lol.

It's changing the UIDs for tracks that are already there, not tracks that I'm adding.

I'll open an MKV with 3 tracks, UIDs 1, 2, 3. Hit "start" and it'll change them. No tracks or subtitles were added. You're telling me this is intentional? It's a stupid "intention"

Mosu
15th May 2024, 22:08
Yes, it is very much intentional.

AngelGraves13
15th May 2024, 22:14
Yes, it is very much intentional.

Ok, so more work for people who want it to look neat.

Mosu
2nd June 2024, 16:32
Heyo!

MKVToolNix v85 is out. It's just a tiny bug fix release so that users affected by those bugs don't have to wait too long.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages as well as the Linux AppImage are available already. The other Linux packages are still being built and will be available over the course of the next couple of hours.

Please note that due to technical reasons I haven't been able to build the macOS disk image yet. I don't know when I'll be able to fix it.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 85.0 "Shame For You" 2024-06-02
Bug fixes

fixed compilation of "src/common/sorting.h" with certain compilers due to the deprecation & removal of "std::result_of<>" in C++20. Fixes #3695 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3695).
fixed compilation with the "gtest" library when "gtest" requires additional libraries by querying "pkg-config" for the correct flags & libraries to build with. See #3696 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3696).
MKVToolNix GUI: multiplexer: restored the keyboard shortcut for switching to the "Attachments" tab (Alt+C for the English interface). Fixes #3702 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3702).
MKVToolNix GUI: multiplexer: fixed several cases when the keyboard shortcuts for copying the first source file's name/the destination file's name to the title (Ctrl+F & Ctrl+D) and the one for copying the title to the destination file name (Ctrl+T) were not enabled. Fixes #3705 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3705).


Have fun 😁

Perenista
11th June 2024, 02:02
Do we have an option inside MKVTOOLNIX to:

- Always tell a language for audio/subtitles should be the default one;

https://i.postimg.cc/W3xBBsQ5/LU1.jpg

if others are present, like spanish, they should be marked this way:

https://i.postimg.cc/FzcMm2vN/LURA.jpg

For example:

File has 2 audio tracks, EN and PT; plus 2 subtitles, EN and PT.

All EN should be like picture #1, all PT not default (#2 ).

Mosu
11th June 2024, 15:23
No, there are no options that do exactly what you want.

Masutin
10th July 2024, 18:40
When adding chapters with mkvpropedit is it possible to set the language 'und'? Similar to muxing with '--chapter-language und' with mkvmerge to produce a menu with '::Chapter Title' in the file properties. If nothing is specified, mkvpropedit produces entries with :en:Title. Removing 'en' might strip unnecessary bytes.

Mosu
10th July 2024, 18:44
No. mkvpropedit takes chapters as they are, only adds missing IETF language elements (unless turned off) & other mandatory elements.

Mosu
13th July 2024, 17:43
Heyo 💝

MKVToolNix v86.0 is out. There were several bug fixes, most notably around the handling of timestamp files. That was code I hadn't touched for… a decade, maybe. Quite the trip. A couple of enhancements were also made; see below.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and macOS disk image as well as the Linux AppImage are available already. The other Linux packages are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 86.0 "Winter" 2024-07-13
New features and enhancements

mkvmerge: Matroska reader: track statistics tags are included in the JSON identification output just like other tags had already been included: as part of the track properties, prefixed with "tag_". Implements #3714 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3714).
mkvmerge: MPEG TS reader: mkvmerge will now detect teletext subtitle tracks even if they're not listed in the PMT as long as it can find teletext pages flagged as subtitles in the header within the probed ranged of the file. Implements #3650 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3650).
MKVToolNix GUI: multiplexer: the default mode for escaping the arguments in the "Show command line" dialog can now be set in the preferences. Partially implements #3709 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3709).
MKVToolNix GUI: multiplexer: the "Show command line" dialog now includes the command lines for all currently open multiplex settings, switchable with a combo box. Partially implements #3709 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3709).
MKVToolNix GUI: multiplexer: some users add the option "--regenerate-track-uids" to the "additional options", even though "--regenerate-track-uids" is a file-specific option, and you can only use global options in the "additional options". However, the GUI currently doesn't have an option for specifying additional file-specific options. The GUI now detects the use of this option in the "additional options" & adds it for each of the source files instead. Implements #3707 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3707).
MKVToolNix GUI: multiplexer: the option "--regenerate-track-uids" has been added to the "additional command line options" dialog. See #3703 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3703).
translations: added a Norwegian Bokmål translation of the man pages by Roger Knutsen (see "AUTHORS").

Bug fixes

mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will no longer set a default duration for the track. Partially fixes #3711 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3711).
mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will no longer queue frames longer than necessary, which resulted in the frames sometimes being written much later than they should have been according to their timestamps. Partially fixes #3711 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3711).
mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will now write the packets' duration properly. Partially fixes #3711 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3711).
MKVToolNix GUI: job queue: the shortcut from the "Job queue" menu are now enabled correctly whenever the number of jobs in the queue changes (e.g. by adding new jobs). Fixes #3720 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3720).


Have fun 😁

Masutin
13th July 2024, 22:45
mkvpropedit. Apparently using '--normalize-language-ietf off' or '--disable-language-ietf' won't affect the language identifier in the chapters.

hubblec4
14th July 2024, 00:21
Hi Mosu

Many thanks for the new version of MKVToolNix.

I have a question about the timestamp files. In the description is a hint that the count of the timestamp entries must be not smaller as frames there are.
Equal timestamps entries as frames is of course the best.
But what is when there are more timestamp entries in a timestamp file as frames to mux? Is this a problem for mkvmerge?

AngelGraves13
14th July 2024, 18:49
BUG:

Version 86.0 crashes (closes) if you try to move items in the queue by dragging them.

Mosu
14th July 2024, 21:14
BUG:

Version 86.0 crashes (closes) if you try to move items in the queue by dragging them.

Please open an issue for this over on Gitlab (https://gitlab.com/mbunkus/mkvtoolnix/-/issues/). Otherwise chances are I'll forget about it again. Thanks.

Mosu
14th July 2024, 21:20
mkvpropedit. Apparently using '--normalize-language-ietf off' or '--disable-language-ietf' won't affect the language identifier in the chapters.

Whether or not IETF BCP47 support is on only matters to parts that you tell mkvpropedit to modify. For example, if you use mkvpropedit to only set the track name then existing chapters aren't modified and are therefore not affected by the option. The other way around is true as well: if you only use mkvpropedit to replace chapters, then only the chapter language elements will be affected by the option, but not the track or tag language elements.

I just verified that the option very much works as expected when replacing or adding chapters with mkvpropedit.

BTW: '--normalize-language-ietf off' is not a valid option at all.

Mosu
14th July 2024, 21:22
Hi Mosu

Many thanks for the new version of MKVToolNix.

I have a question about the timestamp files. In the description is a hint that the count of the timestamp entries must be not smaller as frames there are.
Equal timestamps entries as frames is of course the best.
But what is when there are more timestamp entries in a timestamp file as frames to mux? Is this a problem for mkvmerge?

Having more timestamps isn't a problem. The only difference between the two situations (exactly as many timestamps as frames & more timestamps than frames) is how the last frame's duration is calculated: if there are more frames, the last frame's duration is the difference between the last frame's timestamp & the following timestamp, whereas in the situation of "exactly as many timestamps as frames" the last frame's duration is derived from other means (in case of timestampts v2: the most often occurring duration).

With fixed FPS content there should be no difference at all.

hubblec4
14th July 2024, 22:06
Having more timestamps isn't a problem. The only difference between the two situations
....
With fixed FPS content there should be no difference at all.

Very interesting and good to know. Thanks for this hint.

hubblec4
20th July 2024, 01:06
Hi Mosu

I have some questions about TrueHD Audio.

Here is a picture from the MKVInfo tool.
https://forum.videohelp.com/attachments/80823-1721430569/TrueHD.PNG

1. Why is there no DefaultDuration element?
The FPS is well defined for 48khz with a value of 1 / 1200.

2. Why is each frame stored in it's own SimpleBlock except the first two frames?
This produces a lot overhead.

Mosu
20th July 2024, 08:27
TrueHD is one of the few audio formats that actually have something similar to I/P video frames in that it has "sync" frames that are decodable on their own & non-sync frames with a much shorter header that rely on the presence of the previous sync header for decoding. The number of non-sync frames vs sync frames is much, much higher than P video frames to I video frames — in one example file I have there are 38 sync frames and 4802 non-sync frames (!).

In the past I have actually tried placing one sync frame & all following non-sync frames into the same Matroska frame, but that broke playback on pretty much everything I had access to at that time.

Default duration doesn't make much sense if it's below 1ms, which it is for TrueHD.

hubblec4
20th July 2024, 17:37
TrueHD is one of the few audio formats that actually have something similar to I/P video frames in that it has "sync" frames that are decodable on their own & non-sync frames with a much shorter header that rely on the presence of the previous sync header for decoding. The number of non-sync frames vs sync frames is much, much higher than P video frames to I video frames — in one example file I have there are 38 sync frames and 4802 non-sync frames (!).

OK. Good to know.


In the past I have actually tried placing one sync frame & all following non-sync frames into the same Matroska frame, but that broke playback on pretty much everything I had access to at that time.

Interesting. For muxing I had used the -1 value for the TimestampScale, but with the default value (or omit the TimestampScale element) there are identical timestamps for some frames (00:00:00.003000000), and it is not clear to me which frame are used at this timestamp.
For better timestamps the -1 magic value should be always used?


Default duration doesn't make much sense if it's below 1ms, which it is for TrueHD.
Yes, I can understand this, but for the duration calculation of a stream Matroska say: use the timestamp from the last(display order) frame and add the frame duration.
When no DefaultDuration element is there I have to find out the frame duration by my self?

nevcairiel
20th July 2024, 23:12
TrueHD audio frames are typically 0.8333.. milliseconds long. Thats why you run into troubles with the default timestamp scale which is just in milliseconds and cannot represent even a single TrueHD frame accurately. Eventually you need two frames with the same timestamp to make up the difference.
The same reason applies why an accurate DefaultDuration is not necessarily possible or useful. Unfortunately Matroska does not offer fractional timestamp scales to solve this (plus its only one timestamp scale that needs to apply for video and audio equally).

Masutin
21st July 2024, 14:10
Thanks for your reply! In mkvpropedit when only adding chapters with -c, or replacing, if it's different, entries are marked as English by default. mkvinfo shows this as:
Chapter language: eng
Chapter language (IETF BCP 47): en
Can I a) delete or b) avoid adding this language identifier?
I used options with IETF from the manual. You mention '--disable-language-ietf' working as expected. Indeed '--normalize-language-ietf off' is invalid. The manual says "Enables normalizing all IETF BCP 47 language tags to either their canonical form with mode 'canonical', to their extended language subtags form with mode 'extlang' or turns it off with mode 'off'. By default normalization to the canonical form is applied."
If these two options do not apply here, please never mind.

hubblec4
21st July 2024, 14:11
Yeah, I'm absolute at you.
Missing fractional elements is an EBML issue and we have a discussion there but the founder is not really interested in.

The good is the TimestampScale element can be used to get micro-second timestamp accuracy, but also this is not enough to get perfect timestamps.

@Mosu
Is there a chance to change this in the Matroska specs, to get better timestamps?

Mosu
22nd July 2024, 13:56
Not really. After long and exhausting discussions the issue remains that any kind of improved timestamps would either increase the overhead quite a bit (and be hacky, basically having a second layer of timestamps in addition to the existing, known ones) or use completely different block group elements. The latter type of files would not be backwards compatible at all.

I don't think it's realistic to expect this to change anymore.

Masutin
23rd July 2024, 22:25
Dear Mosu, my last message about mkvpropedit was for you. It's about removing or not adding entries that in mkvinfo appear as:
Chapter language: eng
Chapter language (IETF BCP 47): en
This may be a trifle but still may have a solution.

OAKside
7th August 2024, 23:13
May I ask why MKVToolNix adds audio tags (like Writing library) to General, not under Audio?

Notes: I'm not exactly sure when this behavior started, but it was many versions ago. Similar tags for videos are placed under Video section.

Reproduce: Encode AAC audio. It will contain tags under Writing library (like qaac 2.82, CoreAudioToolbox 7.10.9.0, AAC-LC Encoder, TVBR q73, Quality 96). Add this audio and a video to MKV container (using MKVToolNix 85.0). View media info (using MediaInfo 24.06): The mentioned audio tags will end up in General, not Audio.

Mosu
8th August 2024, 14:52
There are no sections for information in Matroska such as "General" or "Audio". How information is presented is up to the application presenting it, in this case; MediaInfo.

Certain pieces of information are stored at the bitstream level within a track. Additionally there can be free-form tags associated with a track (instead of with the whole file in general). My guess is that MediaInfo groups both this bitstream-level information & the track-associate tags in a section called "Audio" if it's from the bitstream of an audio track and similarly for video tracks. That's expected behavior.

Tags can also not be associated with a track, in which case they're supposed to apply to the whole file.

I have no idea how MediaInfo decides to show those types of tags.

One thing that I can think of is converting tags from MP4 to Matroska. In MP4 tags are not associated with a track; they're global. mkvmerge converts a limited number of MP4 tags into global Matroska tags, among them the movie title, the free-form comment field & the encoder.

OAKside
8th August 2024, 21:18
Tags can also not be associated with a track, in which case they're supposed to apply to the whole file.

Thanks a lot for taking the time to explain this. Yes, it would be more accurate for me to say this is a track tag (for AAC audio in this case, M4A container), that is being identified as a global tag (immediately upon adding track to MKVToolNix GUI).

More notes and testing: Maybe this is because MP4 container may contain video or audio, more complex to handle tags? Possible to separate behavior between MP4 and M4A (force M4A audio tags to track not global)? Opus audio tags are done ideally: General tags (according to MediaInfo, like 'writing application' and 'encoder options') are added as track tags not global. FLAC is fine (zero global tags).

tormento
6th September 2024, 11:12
Does MKVMerge support HEVC version 3 profiles (https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Version_3_and_higher_profiles)?

Mosu
7th September 2024, 12:39
Does MKVMerge support HEVC version 3 profiles (https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Version_3_and_higher_profiles)?

Given that Ligh just opened an issue for it over on my Gitlab, I'd say: no.

Mosu
7th September 2024, 12:42
Heyo!

here's a small, new MKVToolNix release, v87. Not a lot going on, to be honest. See below for details!

Version 87.0 "Black as the Sky" 2024-09-07
New features and enhancements

mkvmerge: chapters: added support for specifying MPLS files with "--chapters", too, not just as regular source files. The documentation stated this was possible already, but that wasn't actually the case. Implements/fixes #3735 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3735).
MKVToolNix GUI: multiplexer: added a progress dialog that is shown during file identification.
MKVToolNix GUI: jobs: the status bar now differentiates between numbers of warnings/errors that occurred in the current session and those that occurred before the current session. Implements #3732 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3732).

Bug fixes

mkvmerge: AAC parser: LOAS/LATM streams: if the first "AudioSpecificConfig" element is not found within the first LOAS/LATM frame, "mkvmerge" will no longer discard the frames before it but defer parsing them until after it has found the "AudioSpecificConfig" element. Fixes #3727 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3727).
MKVToolNix GUI: job queue: fixed the GUI crashing when re-ordering the jobs in the job queue. This regression was introduced while fixing #3720 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3720). Fixes #3729 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3729).


Have fun!

kedautinh12
8th September 2024, 00:06
Thanks

SeeMoreDigital
8th September 2024, 10:03
Cheers Mosu ;)

tormento
24th September 2024, 22:20
What kind of lossless audio can I split with MKVMerge, beside .wav and commercial formats (THD, DTSHDMA, …)?

I had the surprise that flac is not.

Mosu
24th September 2024, 22:29
FLAC is the only one you cannot split due to bad decisions (on my part) back when I specced how it's stored in Matroska. All other codec types can be split (applies to video & subtitles as well, not just FLAC).

tormento
24th September 2024, 22:46
All other codec types can be split (applies to video & subtitles as well, not just FLAC).
Any kind of? AIFF, Wavpack, Tak and ALAC?

Mosu
24th September 2024, 22:53
FLAC is the only format for which mkvmerge actively prevents splitting unless you override it.

tormento
24th September 2024, 22:55
FLAC is the only format for which mkvmerge actively prevents splitting unless you override it.
But the result is not accurate or even corrupted, AFAIK, right?

Mosu
25th September 2024, 09:49
No audio data is corrupted at all. Please see this FAQ entry (https://gitlab.com/mbunkus/mkvtoolnix/-/wikis/Appending-&-splitting-FLAC-audio-tracks-not-supported) for technical details.

tormento
25th September 2024, 13:15
No audio data is corrupted at all.
Yep, I read the FAQ after you replied me yesterday.

Please explain me the meaning of:

Please note that this will result in broken tracks: the official FLAC tools will not be able to decode them and seeking will not work as expected.

[…]

So basically in order to support appending and splitting FLAC tracks I would have to implement my own FLAC decoder, something I'm not willing to do.

Does it mean FLAC splitting (with the flag enabled) properly works or it doesn't?

Mosu
25th September 2024, 13:18
Does it mean FLAC splitting (with the flag enabled) properly works or it doesn't?

Depends on your definition of "works". If you mean "is 100% spec-compliant & will work with every FLAC-handling software, even after extracting it back from Matroska", then no. If, on the other hand, you mean something like "works with most players just fine", then yes.

AngelGraves13
4th October 2024, 18:38
MakeMKV adds metadata when it rips directly from a disc or ISO.

Comes up as "Original source medium: Blu-ray" at the end of every track.

Is there a way to edit or add this specific metadata to other tracks? It's not exposed in the hex editor in mkvtoolnix.

Mosu
4th October 2024, 18:46
There's no dedicated track header field for this kind of information in Matroska; therefore it's likely a tag. Check the file created by MakeMKV & extract tags from it, e.g. with "mkvextract filename.mkv tags -" & paste them here. I don't know which one it might be from the top of my head, but seeing whatever tags there are might help.

AngelGraves13
5th October 2024, 01:54
Here's what I got...I still don't see it.

<?xml version="1.0"?>
<!-- <!DOCTYPE Tags SYSTEM "matroskatags.dtd"> -->
<Tags>
<Tag>
<Targets>
<TrackUID>1</TrackUID>
<TargetType>MOVIE</TargetType>
</Targets>
<Simple>
<Name>BPS</Name>
<TagLanguage>eng</TagLanguage>
<String>42797535</String>
</Simple>
<Simple>
<Name>DURATION</Name>
<TagLanguage>eng</TagLanguage>
<String>00:39:19.940916666</String>
</Simple>
<Simple>
<Name>NUMBER_OF_FRAMES</Name>
<TagLanguage>eng</TagLanguage>
<String>56582</String>
</Simple>
<Simple>
<Name>NUMBER_OF_BYTES</Name>
<TagLanguage>eng</TagLanguage>
<String>12624952034</String>
</Simple>
<Simple>
<Name>SOURCE_ID</Name>
<TagLanguage>eng</TagLanguage>
<String>001011</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<TagLanguage>eng</TagLanguage>
<String>MakeMKV v1.17.8 win(x64-release)</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<TagLanguage>eng</TagLanguage>
<String>2024-10-04 16:43:40</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<TagLanguage>eng</TagLanguage>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>2</TrackUID>
<TargetType>MOVIE</TargetType>
</Targets>
<Simple>
<Name>BPS</Name>
<TagLanguage>eng</TagLanguage>
<String>3508045</String>
</Simple>
<Simple>
<Name>DURATION</Name>
<TagLanguage>eng</TagLanguage>
<String>00:39:19.946666666</String>
</Simple>
<Simple>
<Name>NUMBER_OF_FRAMES</Name>
<TagLanguage>eng</TagLanguage>
<String>221245</String>
</Simple>
<Simple>
<Name>NUMBER_OF_BYTES</Name>
<TagLanguage>eng</TagLanguage>
<String>1034849820</String>
</Simple>
<Simple>
<Name>SOURCE_ID</Name>
<TagLanguage>eng</TagLanguage>
<String>001100</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<TagLanguage>eng</TagLanguage>
<String>MakeMKV v1.17.8 win(x64-release)</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<TagLanguage>eng</TagLanguage>
<String>2024-10-04 16:43:40</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<TagLanguage>eng</TagLanguage>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>3</TrackUID>
<TargetType>MOVIE</TargetType>
</Targets>
<Simple>
<Name>BPS</Name>
<TagLanguage>eng</TagLanguage>
<String>30116</String>
</Simple>
<Simple>
<Name>DURATION</Name>
<TagLanguage>eng</TagLanguage>
<String>00:39:08.658812500</String>
</Simple>
<Simple>
<Name>NUMBER_OF_FRAMES</Name>
<TagLanguage>eng</TagLanguage>
<String>910</String>
</Simple>
<Simple>
<Name>NUMBER_OF_BYTES</Name>
<TagLanguage>eng</TagLanguage>
<String>8841735</String>
</Simple>
<Simple>
<Name>SOURCE_ID</Name>
<TagLanguage>eng</TagLanguage>
<String>0012A0</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<TagLanguage>eng</TagLanguage>
<String>MakeMKV v1.17.8 win(x64-release)</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<TagLanguage>eng</TagLanguage>
<String>2024-10-04 16:43:40</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<TagLanguage>eng</TagLanguage>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>5</TrackUID>
<TargetType>MOVIE</TargetType>
</Targets>
<Simple>
<Name>BPS</Name>
<TagLanguage>eng</TagLanguage>
<String>37680</String>
</Simple>
<Simple>
<Name>DURATION</Name>
<TagLanguage>eng</TagLanguage>
<String>00:39:08.658812500</String>
</Simple>
<Simple>
<Name>NUMBER_OF_FRAMES</Name>
<TagLanguage>eng</TagLanguage>
<String>1126</String>
</Simple>
<Simple>
<Name>NUMBER_OF_BYTES</Name>
<TagLanguage>eng</TagLanguage>
<String>11062433</String>
</Simple>
<Simple>
<Name>SOURCE_ID</Name>
<TagLanguage>eng</TagLanguage>
<String>0012A1</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<TagLanguage>eng</TagLanguage>
<String>MakeMKV v1.17.8 win(x64-release)</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<TagLanguage>eng</TagLanguage>
<String>2024-10-04 16:43:40</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<TagLanguage>eng</TagLanguage>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
</Tags>

Here's the mediainfo

General
Unique ID : 174884483874022141961530322921238317812 (0x839186C420A5B9CC894B6D00BB2C4AF4)
Complete name : Reacher S02E08 - Fly Boy.mkv
Format : Matroska
Format version : Version 2
File size : 12.7 GiB
Duration : 39 min 19 s
Overall bit rate mode : Variable
Overall bit rate : 46.4 Mb/s
Frame rate : 23.976 FPS
Movie name : Reacher
Encoded date : 2024-10-04 16:43:40 UTC
Writing application : MakeMKV v1.17.8 win(x64-release)
Writing library : libmakemkv v1.17.8 (1.3.10/1.5.2) win(x64-release)

Video
ID : 1
ID in the original source medi : 4113 (0x1011)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : Dolby Vision, Version 1.0, Profile 7.6, dvhe.07.06, BL+EL+RPU, no metadata compression, Blu-ray compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 39 min 19 s
Bit rate : 42.8 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.215
Stream size : 11.8 GiB (92%)
Title : HEVC Dolby Vision 2160p 2.00:1
Language : English
Default : No
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primar : Display P3
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2
Maximum Content Light Level : 634 cd/m2
Maximum Frame-Average Light Le : 383 cd/m2
Original source medium : Blu-ray

Audio
ID : 2
ID in the original source medi : 4352 (0x1100)
Format : DTS XLL
Format/Info : Digital Theater Systems
Commercial name : DTS-HD Master Audio
Codec ID : A_DTS
Duration : 39 min 19 s
Bit rate mode : Variable
Bit rate : 3 508 kb/s
Channel(s) : 6 channels
Channel layout : C L R Ls Rs LFE
Sampling rate : 48.0 kHz
Frame rate : 93.750 FPS (512 SPF)
Bit depth : 24 bits
Compression mode : Lossless
Stream size : 987 MiB (8%)
Title : DTS-HD Master Audio 5.1
Language : English
Default : Yes
Forced : No
Original source medium : Blu-ray

Text #1
ID : 3
ID in the original source medi : 4768 (0x12A0)
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 39 min 8 s
Bit rate : 30.1 kb/s
Frame rate : 0.387 FPS
Count of elements : 910
Stream size : 8.43 MiB (0%)
Title : English
Language : English
Default : No
Forced : No
Original source medium : Blu-ray

Text #2
ID : 5
ID in the original source medi : 4769 (0x12A1)
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 39 min 8 s
Bit rate : 37.7 kb/s
Frame rate : 0.479 FPS
Count of elements : 1126
Stream size : 10.5 MiB (0%)
Title : English SDH
Language : English
Default : No
Forced : No
Original source medium : Blu-ray

Menu
00:00:00.000 : en:Chapter 01
00:01:02.437 : en:Chapter 02
00:03:39.594 : en:Chapter 03
00:07:14.892 : en:Chapter 04
00:17:12.322 : en:Chapter 05
00:24:35.891 : en:Chapter 06
00:32:26.694 : en:Chapter 07
00:37:17.860 : en:Chapter 08



And here's a file processed through eac3to then run through MakeMKV and then mkvtoolnix

General
Unique ID : 236507516437582834315988027842826825389 (0xB1EDB0D822EB07D517A563AFE32F6EAD)
Complete name : Reacher S01E01 - Welcome to Margrave.mkv
Format : Matroska
Format version : Version 4
File size : 15.3 GiB
Duration : 53 min 1 s
Overall bit rate mode : Variable
Overall bit rate : 41.4 Mb/s
Frame rate : 23.976 FPS
Movie name : Reacher
Encoded date : 2024-10-04 17:32:33 UTC
Writing application : mkvmerge v87.0 ('Black as the Sky') 64-bit
Writing library : libebml v1.4.5 + libmatroska v1.7.1

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
Codec ID : V_MPEGH/ISO/HEVC
Duration : 53 min 1 s
Bit rate : 37.9 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.191
Stream size : 14.0 GiB (92%)
Title : HEVC HDR10 2160p 2.00:1
Language : English
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Maximum Content Light Level : 501 cd/m2
Maximum Frame-Average Light Le : 214 cd/m2

Audio
ID : 2
Format : DTS XLL
Format/Info : Digital Theater Systems
Commercial name : DTS-HD Master Audio
Codec ID : A_DTS
Duration : 53 min 1 s
Bit rate mode : Variable
Bit rate : 3 438 kb/s
Channel(s) : 6 channels
Channel layout : C L R Ls Rs LFE
Sampling rate : 48.0 kHz
Frame rate : 93.750 FPS (512 SPF)
Bit depth : 24 bits
Compression mode : Lossless
Stream size : 1.27 GiB (8%)
Title : DTS-HD Master Audio 5.1
Language : English
Default : Yes
Forced : No

Text #1
ID : 3
Format : PGS
Muxing mode : zlib
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 49 min 18 s
Bit rate : 49.9 kb/s
Frame rate : 0.577 FPS
Count of elements : 1708
Stream size : 17.6 MiB (0%)
Title : English
Language : English
Default : Yes
Forced : No

Text #2
ID : 4
Format : PGS
Muxing mode : zlib
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 52 min 46 s
Bit rate : 55.0 kb/s
Frame rate : 0.647 FPS
Count of elements : 2050
Stream size : 20.8 MiB (0%)
Title : English SDH
Language : English
Default : No
Forced : No

Menu
00:00:00.000 : en:Chapter 01
00:00:56.264 : en:Chapter 02
00:10:22.705 : en:Chapter 03
00:18:47.668 : en:Chapter 04
00:27:03.330 : en:Chapter 05
00:36:09.917 : en:Chapter 06
00:45:23.220 : en:Chapter 07
00:50:59.306 : en:Chapter 08



I guess someone asked about this years ago.

https://gitlab.com/mbunkus/mkvtoolnix/-/issues/2774

I don't think it's been implemented in a visible way though?

UPDATE:

<Simple>
<Name>SOURCE_ID</Name>
<TagLanguage>eng</TagLanguage>
<String>001100</String>
</Simple>

But how do I add it to a file?

So far have been unsuccessful in adding the tag.

Mosu
5th October 2024, 12:09
Yep, it's SOURCE_ID. I totally forgot I implemented that for mkvmerge, too: it'll add such a tag when reading from MPEG transport streams, and it'll keep existing SOURCE_ID tags when reading from Matroska.

If you have to add them manually, then extract tags with mkvextract, edit them, then replace the existing ones with "mkvpropedit yourfile.mkv --tags all:modified_tags.xml"

Or, if you want to set them during muxing, create a minimal tag file with only SOURCE_ID in it for each track & use mkvmerge's "--tags track1.xml" syntax.

AngelGraves13
5th October 2024, 17:52
Tried it a few times and it still doesn't show up.

C:\mkvtoolnix>mkvpropedit 01.mkv --tags all:modified_tags.xml
The file is being analyzed.
The changes are written to the file.
Done.

Still comes up without the tag in mediainfo.

Can you add a way to add it through hexeditor in a future update? I'd like a way to do them in batch mode if possible.

Mosu
5th October 2024, 17:57
No to the hex editor. You can already script all the CLI tools.

As for why it doesn't show up in MediaInfo: maybe ask the MediaInfo devs about the requirements for it to show up. You'll likely have more luck with them.

AngelGraves13
5th October 2024, 18:02
No to the hex editor. You can already script all the CLI tools.

As for why it doesn't show up in MediaInfo: maybe ask the MediaInfo devs about the requirements for it to show up. You'll likely have more luck with them.

I don't think it adds the tag correctly through the command you listed, unless I'm editing them wrong.

<Tags>
<Tag>
<Targets>
<TrackUID>1</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>001011</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>2</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>001011</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>3</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>001011</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>4</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>001011</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
</Tags>

Got it working...

General
Unique ID : 163187889169967218458044509867673994182 (0x7AC4D81F8C31131F77A1B12CBFDD43C6)
Complete name : C:\mkvtoolnix\01.mkv
Format : Matroska
Format version : Version 4
File size : 15.3 GiB
Duration : 53 min 1 s
Overall bit rate mode : Variable
Overall bit rate : 41.4 Mb/s
Frame rate : 23.976 FPS
Movie name : Reacher
Encoded date : 2024-10-05 03:37:39 UTC
Writing application : mkvmerge v87.0 ('Black as the Sky') 64-bit
Writing library : libebml v1.4.5 + libmatroska v1.7.1

Video
ID : 1
ID in the original source medi : 4113 (0x1011)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : SMPTE ST 2086, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 53 min 1 s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Title : HEVC HDR10 2160p 2.00:1
Language : English
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primar : BT.2020
Mastering display luminance : min: 0.0000 cd/m2, max: 1000 cd/m2
Maximum Content Light Level : 501 cd/m2
Maximum Frame-Average Light Le : 214 cd/m2
Original source medium : Blu-ray

Audio
ID : 2
ID in the original source medi : 4113 (0x1011)
Format : DTS XLL
Format/Info : Digital Theater Systems
Commercial name : DTS-HD Master Audio
Codec ID : A_DTS
Duration : 53 min 1 s
Bit rate mode : Variable
Channel(s) : 6 channels
Channel layout : C L R Ls Rs LFE
Sampling rate : 48.0 kHz
Frame rate : 93.750 FPS (512 SPF)
Bit depth : 24 bits
Compression mode : Lossless
Title : DTS-HD Master Audio 5.1
Language : English
Default : Yes
Forced : No
Original source medium : Blu-ray

Text #1
ID : 3
ID in the original source medi : 4113 (0x1011)
Format : PGS
Muxing mode : zlib
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Title : English
Language : English
Default : Yes
Forced : No
Original source medium : Blu-ray

Text #2
ID : 4
ID in the original source medi : 4113 (0x1011)
Format : PGS
Muxing mode : zlib
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Title : English SDH
Language : English
Default : No
Forced : No
Original source medium : Blu-ray

Menu
00:00:00.000 : en:Chapter 01
00:00:56.264 : en:Chapter 02
00:10:22.705 : en:Chapter 03
00:18:47.668 : en:Chapter 04
00:27:03.330 : en:Chapter 05
00:36:09.917 : en:Chapter 06
00:45:23.220 : en:Chapter 07
00:50:59.306 : en:Chapter 08



Had to add the UID

AngelGraves13
5th October 2024, 20:57
So I'm using JMKVproedit and this tags.xml I made. Made some more edits so they don't all have the same source ID

<Tags>
<Tag>
<Targets>
<TrackUID>1</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>001011</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>2</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>001010</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>3</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>0012A0</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>4</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>0012A1</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>5</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>0012A2</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>6</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>0012A3</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
<Tag>
<Targets>
<TrackUID>7</TrackUID>
</Targets>
<Simple>
<Name>SOURCE_ID</Name>
<String>0012A4</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_APP</Name>
<String>mkvmerge v87.0 ('Black as the Sky') 64-bit</String>
</Simple>
<Simple>
<Name>_STATISTICS_WRITING_DATE_UTC</Name>
<String>2024-10-05 07:22:48</String>
</Simple>
<Simple>
<Name>_STATISTICS_TAGS</Name>
<String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID</String>
</Simple>
</Tag>
</Tags>

hubblec4
7th October 2024, 13:30
Hi AngelGraves13
For more test you can try my chapterEditor, there is a powerful Tags-Editor on board.

AngelGraves13
17th October 2024, 21:25
Hi AngelGraves13
For more test you can try my chapterEditor, there is a powerful Tags-Editor on board.

It seems that sometimes the tags will glitch because they don't have the duration tag (which would be different for every file and track).

If I run the tagged file through MakeMKV again it will add the durations and the tags will work correctly, but that's a lot of work and some files may have issues with cues if there's tracks from other sources synced up.

I guess if someone made a tool to detect durations and append them to the UID tracks, it would work. I guess I will ask the makers of MakeMKV how to go about doing it.

Right now, I'm using the paid program MKV Tag Editor to tag MKVs with metadata. It's a very good tool, but I often have to tag it twice for the tags to apply.

Mosu
19th October 2024, 14:45
Hey y'all!

Time for another small update to MKVToolNix, v88. Still not much going on at the moment. But still… enjoy!

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and macOS disk image as well as the Linux AppImage are available already. The other Linux packages are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 88.0 "All I Know" 2024-10-19
New features and enhancements

mkvmerge, MKVToolNix GUI's chapter editor: added support for reading chapters from PotPlayer bookmark files.

Bug fixes

configure: fixed setting "HAVE_QTDBUS" properly if the QtDbus module is found. Fixes #3744 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3744).
mkvmerge: MP4 reader: mkvmerge will no longer warn when multiple identical FourCCs are present within the same track headers. Fixes #3748 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3748).
mkvmerge man page: removed the wrong statement that an attachment's MIME type must be set before use of the "--attach-file" & "--attach-file-once" options. If not given, mkvmerge auto-detects the MIME type.


Have fun 😁

kedautinh12
19th October 2024, 18:15
Thanks

SeeMoreDigital
19th October 2024, 18:17
Cheers Mosu...

kuchikirukia
22nd October 2024, 08:31
This software always has an option to do whatever I need it to do.

Wanted to strip the subs and one audio track out of every episode of a BD Box Set and was lamenting the thought that I'd need to manually add the m2ts's one at a time for 366 episodes and manually select the tracks. Then I thought to look in preferences. "When adding files via drag and drop... create new multiplex settings tab for each file." Then I deselected the automatic selection of the video file, picked the language of the audio track I wanted, and now I can batch add them.
Then, "Actions for all tabs ---> start multiplexing."

tormento
22nd October 2024, 14:20
Then, "Actions for all tabs ---> start multiplexing."
Or, better, use a batch thru CLI. That allows you to process thousands of files with no problems.

Set the first file you have to process and act as you would with the GUI.

MKVToolnixGUI has an option to see the proper command line, where you have to manually replace the variables that your CLI handles.

Such as, in my case:

for %%a in (*.mkv) D:\Eseguibili\Media\MKVToolNix\mkvmerge.exe --output ^"M:\Out\%%~na.mkv^" --language 0:ja ^"%%~na.hevc^" --no-video --language 1:ja ^"%%~na.mkv^" --track-order 0:0,1:1

kuchikirukia
22nd October 2024, 17:12
The problem with doing anything programmatically is that unless you are VERY familiar with it, it will take you longer to write and debug than it would've taken to just do it the manual way.

Since I needed to only grab the >4GB M2TS's and they were in multiple directories, it was much simpler and faster to just put all the BD set directories into one directory, search for *.m2ts, sort by size, and then select all larger than 4GB and drag the group over. There's a search string to search by size but it would've taken me longer to look it up than it took me to just sort by size.

tormento
31st October 2024, 13:39
Time for another small update to MKVToolNix, v88.
Thank you.

I'd like to report that I am muxing with your last revision and I get in MediaInfo for the video stream:

SEI_rbsp_stop_one_bit : Missing

What is it and how to stop adding/reporting it?

Mosu
27th December 2024, 20:18
Hello fellow gentle humans!

Here's a small update for MKVToolNix, v89. Must keep the fixes flowing! Hope y'all are having stress-free holidays & a couple of nice days with your loved ones.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages as well as the Linux AppImage are available already. The other Linux packages are still being built and will be available over the course of the next couple of hours. Due to technical issues the macOS disk image is not available yet, and I cannot give you an ETA when it'll be done as I currently don't have access to a working macOS build environment.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 89.0 "And the Melody Still Lingers On (Night in Tunisia)" 2024-12-27
New features and enhancements

mkvmerge: AC-3 writer: mkvmerge will now use the codec ID "A_AC3" even for streams with bitstream IDs 9 or 10 instead of the deprecated codec IDs "A_AC3/BSID9" & "A_AC3/BSID10". Fixes #2387 (https://gitlab.com/mbunkus/mkvtoolnix/issues/2387).
MKVToolNix GUI: multiplexer: the mechanism for setting track languages to specific values upon adding a file has gotten a new option to always set the language, no matter whether or not the source container provided a track language or what it was set to.
all command-line tools: implemented an escape mechanism for when you want to use the "@" sign as the first character in an argument to an option such as "--title". To escape it the "@" sign has to be doubled as in "--title @@midnight". Implements #3768 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3768).

Bug fixes

mkvmerge, mkvpropedit, MKVToolNix GUI's multiplexer & header editor: the MIME type for TrueType & OpenType fonts will be set properly to either the current MIME types "font/ttf" & "font/otf" or to the legacy MIME types "application/x-truetype-font" & "application/vnd.ms-opentype" depending on whether the "use legacy font MIME types" option is disabled or enabled, even if the MIME database used by Qt returns the wrong one or even other MIME types such as "application/x-font-ttf" & "application/x-font-otf". This was the case on Windows due to Qt 6.7.3 switching to a different embedded MIME database. Partially fixes #3751 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3751).
MKVToolNix GUI's multiplexer & header editor: ensured that both the legacy & the current font MIME types are always present in the MIME type combo boxes of attachments, no matter what Qt's MIME type database contains. Partially fixes #3751 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3751).
MKVToolNix GUI: the "disable tooltips" option in the preference will now disable the tooltip for the status bar, too.


Have fun! 😁

Mosu
27th December 2024, 20:20
I'd like to report that I am muxing with your last revision and I get in MediaInfo for the video stream:

SEI_rbsp_stop_one_bit : Missing

This might be a bug in MKVToolNix. Please open an issue for it over on Gitlab (https://gitlab.com/mbunkus/mkvtoolnix/-/issues/). I'll need access to a source file that's fine & that, when muxed with MKVToolNix, causes the message to appear in MediaInfo. Please upload such a file to file server (https://gitlab.com/mbunkus/mkvtoolnix/-/wikis/FTP-server). Thanks.

GeoffreyA
27th December 2024, 22:04
Hello fellow gentle humans!

Here's a small update for MKVToolNix, v89. Must keep the fixes flowing! Hope y'all are having stress-free holidays & a couple of nice days with your loved ones.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages as well as the Linux AppImage are available already. The other Linux packages are still being built and will be available over the course of the next couple of hours. Due to technical issues the macOS disk image is not available yet, and I cannot give you an ETA when it'll be done as I currently don't have access to a working macOS build environment.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 89.0 "And the Melody Still Lingers On (Night in Tunisia)" 2024-12-27
New features and enhancements

mkvmerge: AC-3 writer: mkvmerge will now use the codec ID "A_AC3" even for streams with bitstream IDs 9 or 10 instead of the deprecated codec IDs "A_AC3/BSID9" & "A_AC3/BSID10". Fixes #2387 (https://gitlab.com/mbunkus/mkvtoolnix/issues/2387).
MKVToolNix GUI: multiplexer: the mechanism for setting track languages to specific values upon adding a file has gotten a new option to always set the language, no matter whether or not the source container provided a track language or what it was set to.
all command-line tools: implemented an escape mechanism for when you want to use the "@" sign as the first character in an argument to an option such as "--title". To escape it the "@" sign has to be doubled as in "--title @@midnight". Implements #3768 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3768).

Bug fixes

mkvmerge, mkvpropedit, MKVToolNix GUI's multiplexer & header editor: the MIME type for TrueType & OpenType fonts will be set properly to either the current MIME types "font/ttf" & "font/otf" or to the legacy MIME types "application/x-truetype-font" & "application/vnd.ms-opentype" depending on whether the "use legacy font MIME types" option is disabled or enabled, even if the MIME database used by Qt returns the wrong one or even other MIME types such as "application/x-font-ttf" & "application/x-font-otf". This was the case on Windows due to Qt 6.7.3 switching to a different embedded MIME database. Partially fixes #3751 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3751).
MKVToolNix GUI's multiplexer & header editor: ensured that both the legacy & the current font MIME types are always present in the MIME type combo boxes of attachments, no matter what Qt's MIME type database contains. Partially fixes #3751 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3751).
MKVToolNix GUI: the "disable tooltips" option in the preference will now disable the tooltip for the status bar, too.


Have fun! 😁

Thanks, Mosu. Happy holidays.

SeeMoreDigital
28th December 2024, 17:45
Thanks Mosu ;)

Audionut
12th January 2025, 10:45
Would you be interested in adding "Scan Type" as a user selection?

Would be useful for DVD's being remuxed for instance.

Mosu
13th January 2025, 15:01
There's no Matroska header field for it; so… no.

SeeMoreDigital
13th January 2025, 15:06
Would you be interested in adding "Scan Type" as a user selection?

Would be useful for DVD's being remuxed for instance.MediaInfo offers this info anyway...

Audionut
16th January 2025, 13:23
I haven't check the newest versions, but the latest version of MI that retains language output for tracks on a DVD, most certainly does not always display scanType.

SeeMoreDigital
16th January 2025, 15:44
I haven't check the newest versions, but the latest version of MI that retains language output for tracks on a DVD, most certainly does not always display scanType.Hmmm... Please give us an example?

Mosu
8th February 2025, 14:53
Heya fine folks.

The first release of 2025 brings you a handful of bug fixes & one nice improvements for header editor users.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages as well as the Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 90.0 "Hanging On" 2025-02-08
New features and enhancements

MKVToolNix GUI: header editor: double-clicking on one of the three flag indicators ("Default track", "Forced display", "Enabled") for a track in the tree view will now toggle the corresponding flag. Implements #3773 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3773).

Bug fixes

mkvmerge: AAC parser: LOAS/LATM streams: fixed use of uninitialized data when the "StreamMuxConfig" element doesn't contain the "audioMuxVersion" element; version 0 must be assumed in such a case. The result was that sometimes certain valid AAC packets were dropped. Fix by Stefan Pöschel.
mkvmerge: HEVC/H.265 parser: fixed calculation of picture order count calculation that was triggered under rare circumstances. Fixes #3775 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3775).
mkvmerge: Matroska reader: enabled limits for how much data a single Matroksa reader instance might buffer when the muxing core looks for packets for specific tracks, avoiding huge memory consumption in cases where tracks have huge gaps between packets. This might happen when appending files containing forced-only subtitle tracks, for example. Fixes #3771 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3771).
mkvmerge: TrueHD reader: increased the probe range for TrueHD sync frames from 128 KB to 512 KB to avoid mis-detection with certain files with a lot of data between sync frames. Fixes #3783 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3783).
mkvmerge: MP4/QuickTime reader: fixed detection of Big Endian LPCM audio. Fixes #3788 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3788).

Build system changes

The bundled "fmt" library was updated to v11.1.2.
added a new option to "configure" called "--disable-dbus" to disable looking for & using QtDBus even if it's present on the system. Default remains to probe for its existence. Patch by Anthony Ryan.


Have fun 😁

tebasuna51
11th February 2025, 12:35
Without problems with 89.0
mkvtoolnix-gui 90.0 problem in my W10 v1607:

GeoffreyA
11th February 2025, 13:22
Looks like a UTF-16 issue with the string table.

Mosu
11th February 2025, 20:18
Without problems with 89.0
mkvtoolnix-gui 90.0 problem in my W10 v1607:

I've just flipped through all available translations on my Windows 11 installation, and all of them display just fine. I have no idea why it looks like that on your end. It's likely some kind of issue specific to your system's setup/installed software/configuration.

Looks like a UTF-16 issue with the string table.

MKVToolNix uses gettext for translations. gettext stores its data encoded in UTF-8. No UTF-16 in use there.

lvqcl
11th February 2025, 20:30
It seems that 14393.10 was released at August 2, 2016, so it's a bit outdated.

tebasuna51
12th February 2025, 07:19
It seems that 14393.10 was released at August 2, 2016, so it's a bit outdated.

More updated versions don't work with my private LAN, maybe I need use MkvToolNix W7 versions (https://forum.doom9.org/showthread.php?p=2014490#post2014490)

GeoffreyA
12th February 2025, 07:35
On my Windows 10 19045, different languages also work fine.

filler56789
12th February 2025, 09:24
It seems that 14393.10 was released at August 2, 2016, so it's a bit outdated.

More probably, it is the Qt framework thing that is excessively ""up-to-date"" :sly:

lvqcl
12th February 2025, 16:47
More updated versions don't work with my private LAN, maybe I need use MkvToolNix W7 versions (https://forum.doom9.org/showthread.php?p=2014490#post2014490)
Makes sense to try.

jpsdr
12th February 2025, 19:12
Your issue looks like an issue on the Windows 7 QT6 version. I don't know specificaly, but QT6 on 6.8.1 version changed the way text is displayed, and it's something working only on Windows 10. The QT6 Windows 7 version still need to fix this issue.
It seems it's more than Windows 10 only, it's recent Windows 10 only...
And last version of MKVToolnix,90.0 is QT 6.8.2 if i'm not mistaken, when 89.0 maybe wasn't 6.8.1 yet...

tebasuna51
13th February 2025, 07:37
No problem for me, most the time I use mkvmerge.exe (and mkvextract.exe etc.) with .bat in cml mode.

If I want the GUI I can use the W7 version with QT5 than work fine.

AYColumbia
13th February 2025, 23:51
@tebasuna51, is your win 10 installed in English or another language? If another language, you might try going to the list of available languages in Windows and install English (US). You don't have to change your language, just have it available/installed. After you restart, do you see the same issue?

filler56789
14th February 2025, 00:45
@AYColumbia: tebasuna51 uses a Spanish Windows 10.
But that's not the real problem, please read

https://forum.videohelp.com/threads/405407-NON-OFFICIAL-Windows-builds-of-MKVtoolnix/page18#post2767003

Ripman
14th February 2025, 01:47
Thanks for v90. No issues here with most recent Win10 updates.

QQ: Is there a way to output track language with “mkvmerge -i”?

I basically want the track #s, track type, and language if possible.

Mkvinfo generates more data than I need tbh. I think I tried reducing the verbosity levels but that still generated a lot more than I need.

Mosu
14th February 2025, 11:32
QQ: Is there a way to output track language with “mkvmerge -i”?

Use the JSON identification mode with "mkvmerge --identification-mode json --identify yourfile.ext" or its shortcut "mkvmerge -J yourfile.ext". It outputs everything you need, in JSON, which is trivial to process further with every language including PowerShell.

tebasuna51
14th February 2025, 12:42
Thanks to all comments about my problem, like maybe there are others users with the same problem I resume it:

I have W10 Version 1607 Build 14393 2016-08-02 (https://en.wikipedia.org/wiki/Windows_10_version_history)

Seems that 90.0 new version need at least the next W10 v1709 b16299 2017-10-17 (https://learn.microsoft.com/en-us/windows/win32/api/dwrite_3/nn-dwrite_3-idwritefactory6)

In my LAN software I need HomeGroup (https://en.wikipedia.org/wiki/Features_new_to_Windows_7#HomeGroup), feature removed in next W10 v1803 b17134 2018-04-30

Then only the build 16299 can be compatible with both requirements, I don't know if I can update to that version and if a new QT version need a more updated W10 version.
Seems is better use the W7 compatible version.

AYColumbia
14th February 2025, 19:38
@AYColumbia: tebasuna51 uses a Spanish Windows 10.
But that's not the real problem, please read

https://forum.videohelp.com/threads/405407-NON-OFFICIAL-Windows-builds-of-MKVtoolnix/page18#post2767003
Gotcha, thanks.

tormento
22nd February 2025, 14:53
@Mosu

Please, could you add the option to have the part suffix as prefix? I.e. 001-whatever.mkv instead of whatever-001.mkv?

I find it more useful when splitting episodes.

The best could be to have a placeholder with a starting number too, such as %000-name.mkv where the number of zeroes defines the padding.

In that case, an option to remember the last part number and automatically increment it for the next queued file would be optimal.

Mosu
22nd February 2025, 18:55
Please, could you add the option to have the part suffix as prefix? I.e. 001-whatever.mkv instead of whatever-001.mkv?

EDIT: You can do that already. See the documentation of the --split option (https://mkvtoolnix.download/doc/mkvmerge.html#mkvmerge.description.split) (last two paragraphs). For example, you could use the output file name "C:\Movies\%03d My Fine Movie.mkv".

I don't think I'll add anything in the GUI to include such a pattern in the output filename somewhere by default (or optionally). I find it doubtful that this is really useful. As soon as you have the splitting result of two different movies in the same folder, you will end up with both movie parts intermixed, e.g. 001-the-first-movie.mkv, 001-other-movie.mkv, 002-the-first-movie.mkv, 002-other-movie.mkv etc.

tormento
23rd February 2025, 11:06
As soon as you have the splitting result of two different movies in the same folder, you will end up with both movie parts intermixed, e.g. 001-the-first-movie.mkv, 001-other-movie.mkv, 002-the-first-movie.mkv, 002-other-movie.mkv etc.
Thank you for your help.

I know that issue and that's why I proposed to have automatically incremented numbers for multiple files in the queue.

Mosu
16th March 2025, 17:57
Helloooooo!

The new MKVToolNix is out, with a lot of enhancements in MKVToolNix GUI & several bug fixes in the other parts.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS DMG are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 91.0 "Signs" 2025-03-16
Important notes

The MKVToolNix project's source code repository, bug tracker and wiki have been moved to Codeberg (https://codeberg.org/mbunkus/mkvtoolnix).
The customized MXE repository used for building the Windows variants has been moved from Gitlab to Codeberg (https://codeberg.org/mbunkus/mxe).

New features and enhancements

MKVToolNix GUI: multiplexer: added actions in the "Multiplexer" menu for saving all currently open multiplexer tabs to a single ".mtxcfg" file. Loading this file later will restore all tabs. Implements #3797 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3797).
MKVToolNix GUI: multiplexer: when adding files the GUI can automatically enable the "commentary" flag for audio and subtitle tracks if the file name contains the word "comments" or "commentary" delimited by certain characters (configurable). This feature is turned on by default. Part of the implementation of #3798 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3798).
MKVToolNix GUI: multiplexer: when adding files the GUI can automatically enable the "original language" flag for audio and subtitle tracks if the track's language matches one configured by the user (configurable). This feature is turned off by default. Part of the implementation of #3798 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3798).
MKVToolNix GUI: multiplexer: when adding files the GUI can automatically set several track flags based on the file name. It can now look for the same patters in the track names, too (configurable). This feature is turned on by default. Part of the implementation of #3798 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3798).
MKVToolNix GUI: multiplexer: added special drag & drop zones where users can drop files to circumvent the preferences wrt. what to do with multiple dropped files. Each drop zone corresponds to one of the three possible choices (add all to current settings; create one new settings & add all there; add new settings for each file & add one file to each). This feature is turned off by default. Implements #3796 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3796).
MKVToolNix GUI: multiplexer: added additional special drag & drop zones where users can drop files to add them as attachments. One of the zones will automatically set up the dropped file to function as a cover image. Implements #3794 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3794).
MKVToolNix GUI: multiplexer: when making destination file names unique by suffixing them with a running number the GUI will now also consider the destination file names of multiplex jobs currently in the queue that are currently running or still waiting for execution. Implements #3801 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3801).

Bug fixes

mkvmerge: timestamps format v3: fixed the parser; it was completely broken for the lines containing the duration & an optional number of frames per second. Fixes #2285 (https://gitlab.com/mbunkus/mkvtoolnix/issues/2285).
mkvmerge: DTS parser: if the X96 extension is present in a DTS-HD High Resolution stream, the sampling frequency will be set to 96kHz. This was broken when reading DTS from elementary streams & from Matroska files. Fixes #3288 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3288).
mkvpropedit, MKVToolNix GUI's chapter & header editors: fixed a bug leading to a segmentation fault when trying to replace an element at the end of the file that's followed by only void elements (at least one). Fixes #3802 (https://gitlab.com/mbunkus/mkvtoolnix/issues/3802).

Build system changes

The bundled "nlohmann-json" library was updated to v3.11.3.


Have fun 😁

darksen
29th March 2025, 06:26
A question regarding "enable-durations", in the GUI it says "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." But why it's not enabled by default? Is the size increase big or are there other reasons?

Thanks!

Perenista
1st April 2025, 17:48
These MKVToolnix changes were long overdue, they will help a lot when editing many files!

I have one question:

- I am adding one audio commentary track (fan-made) to a film I have here, in MKV.

In order to get an exact sync, which I was able to calculate (precisely - so it's not a guess), it needs a positive DELAY of 12 000 (= 12 seconds) or more. One of the files needed aprox. 20 000.

----- If we add this audio track only (so no others in the MKV), when we start playing it (using MPC-HC), it will jump to WHEN the track with the delay starts. So it will start (the video) in 12 seconds, or 20, for example.

Why didn't MPC start at 0 second, and was muted (SILENT) until we were at the 12-seconds (the moment we told this delayed track to start)?

If I add THIS fan-made (AND) other tracks (such as DTS 5.1 from the movie, which don't have ANY delay, and start from the "0" second), if I switch to the film's track first (while opening the file), the MKV plays from "0" second through the end. Then, switching to the delayed track will give me "silence" until any sound is there, at 12 seconds.

If I close the file and when reopens (from the last position saved, let's say, after 1 hour of film), and it's selected to be the fan-made commentary (with the delay), it will not start at 0 second, only from 12s.

Ideally, we would edit the desired track (that fan-made one) and insert a 12 (or 20) second SILENCE at the beginning, so MKVToolnix would not need to do anything. I can say the same about SRT subtitles. But this editing implies in reencoding for audio tracks. That's why I didn't do it.

Mosu
1st April 2025, 17:56
Why didn't MPC start at 0 second, and was muted (SILENT) until we were at the 12-seconds (the moment we told this delayed track to start)?

I cannot tell you. You'll have to ask the developers of MPC. I am not one of them & have no familiarity with its source code at all. To me this sounds like a bug in MPC.

Mosu
1st April 2025, 17:58
A question regarding "enable-durations", in the GUI it says "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." But why it's not enabled by default? Is the size increase big or are there other reasons?

The amount of overhead is pretty high, and playback applications don't actually gain that much additional information if any at all as for audio & video content 99.999% if not more frames come exactly after the previous frame has finished playing. For content where there are gaps mkvmerge will already signal durations for the affected frames. Meaning for subtitle tracks it'll always signal durations. However, subtitles frames are so incredibly tiny & so rare compared to audio & video frames, that the increase in overhead doesn't make noticeable difference (and for most subtitle formats that don't have the duration encoded at the bitstream level they're absolutely required at the container level anyway, so I don't have a choice in the matter).

The increase in overhead matters less nowadays when we have multi-GB HD videos, of course, but it was a very real concern back when we stored while 2h movies on CD-ROMs.

tebasuna51
2nd April 2025, 10:55
...
Ideally, we would edit the desired track (that fan-made one) and insert a 12 (or 20) second SILENCE at the beginning, so MKVToolnix would not need to do anything. I can say the same about SRT subtitles. But this editing implies in reencoding for audio tracks. That's why I didn't do it.
You can use eac3to to delay some audio tracks without recoding for instance:

eac3to track.ac3 track_delayed.ac3 +12000ms

That work adding silent ac3 frames at the begining without recoding, like frames are 32 ms long there are a +- 16 ms max error, but it is unnoticeable because it is short than a video frame.

Also with dts and aac tracks. If you need a GUI try UsEac3to or MeGUI.

jay123210599
2nd April 2025, 23:45
I have some .m2ts videos I'm remuxing to .mkv using mkvtoolnix, and I want to add colorimetry flags for the output files. How do I do that in mkvtoolnix?

SeeMoreDigital
3rd April 2025, 08:43
I have some .m2ts videos I'm remuxing to .mkv using mkvtoolnix, and I want to add colorimetry flags for the output files. How do I do that in mkvtoolnix?Interesting... Why do you want to do this. Do you have a project in mind?

jay123210599
3rd April 2025, 13:07
Interesting... Why do you want to do this. Do you have a project in mind?

I just want to see if it was possible to do so in mkvtoolnix.

Chetwood
10th April 2025, 21:14
Typo on Windows: Also = Als.

Mosu
26th April 2025, 16:44
Hey y'all fine folks 😁

Here's a new MKVToolNix release with a handful of bug fixes & enhancements. Nothing major in this one.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 92.0 "Everglow" 2025-04-26
New features and enhancements

mkvmerge: FLAC reader: pictures embedded into the FLAC file were already handled as attachments, but they were left in the codec initialization data as well. They're now removed from the codec initialization data. See #6079 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6079).
mkvmerge: FLAC reader: padding metadata blocks will now be removed from the codec initialization data. See #6079 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6079).
mkvmerge: FLAC reader: embedded Vorbis comments will now be converted into Matroska comments or track/global header fields when available (e.g. "TITLE" will become the segment title & track's name, "LANGUAGE" will become the track's language). Copying of Vorbis comments that are converted into actual Matroska tags can be prevented with the usual options, e.g. "--no-track-tags". The comments will also be removed from the codec initialization data. Implements #6079 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6079).
mkvmerge, MKVToolNix GUI's chapter editor: when reading simple (OGM-style) chapter files & no character set is given for the file, mkvmerge will try UTF-8 first before falling back to the system's default encoding. Implements #6084 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6084).
MKVToolNix GUI: multiplexer: the special drag & drop zones added in v91 are now shown by default in new installations.
MKVToolNix GUI: in new installations the main window will now be sized at 75% of the screen's resolution initially with a certain minimum initial size. This improves initial readability on high DPI screens that use screen scaling factors such as 150%.

Bug fixes

mkvmerge: Ogg reader: during identification the track tags are now reported properly.
MKVToolNix GUI: multiplexer: within the "additional options", both track-specific ones & the global ones on the "Output" tab, it wasn't possible to specify empty (zero-length) arguments. With the intended syntax of two consecutive single or double quotation marks the empty arguments were simply skipped. This was fixed, and it is now possible to specify e.g. "--title """ in the global "Additional options" in order to force no title to be written ever. Fixes #6087 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6087).

Build system changes

Windows build: the "packaging/windows/populate_installer_dir.sh" now expects the user to pass the Saxon-HE's JAR file name to be passed with the "-s" or "--saxon-jar" parameter instead of the base directory for Saxon-HE. This allows newer versions of Saxon-HE to be used.


Have fun 😁

Mosu
27th April 2025, 09:22
Typo on Windows: Also = Als.

I cannot find "Als." in my source code at all. Unfortunately the attachment is still pending approval. Therefore I cannot really do anything about it. Maybe upload the screenshot to one of the well-known image sharing sites? Or Google Drive or similar? Or my file server (https://codeberg.org/mbunkus/mkvtoolnix/wiki/FTP-server)? Thanks.

tebasuna51
28th April 2025, 11:30
Chetwood, Mosu: Use Reported posts (https://forum.doom9.org/forumdisplay.php?f=83) when need approve an attachement please.

There are not many active moderators and we cannot follow all the threads.

Mosu
28th April 2025, 14:51
Chetwood, Mosu: Use Reported posts (https://forum.doom9.org/forumdisplay.php?f=83) when need approve an attachement please.

There are not many active moderators and we cannot follow all the threads.

Will do in the future, thanks.

tormento
30th April 2025, 18:27
I've tried to extract the FLAC audio from a video+audio, converting it to mka to maintain the delay of the audio for following processing and muxing.

I don't know if something like

for %%a in (*.mkv) D:\Eseguibili\Media\MKVToolNix\mkvmerge.exe --output ^"%%~na.mka^" --no-video --no-chapters --language 1:ja ^"%%~na.mkv^"

is able to maintain original audio delay.

My doubt arise since I can't see the delay in the mkv file itself, dropping to MKVToolnixGUI, but I can see it in tools such as gMKVExtractGUI. Dropping the .mka file to gMKVExtractGUI doesn't show any delay at all.

How can I solve this issue?

LeXXuz
2nd June 2025, 11:38
Starting with v90 I can't use my beloved Bahnschrift Light Condensed font anymore.

It is not shown under fonts anymore although I have not changed anything in my setup. Right now I've moved back to v89 and everything is fine. Running on Windows 11 Pro.

Would appreciate any help on how I can fix this. :)

Mosu
14th June 2025, 13:04
Heyo.

It's been a pretty quiet last eight weeks, but let's do a release anyway. Couple of smaller fixes, nothing major.

**An important note to my macOS users:**

I'm aware that Apple has announced the upcoming end of their Rosetta x86/x64 emulation layer with macOS 28 (release likely in Autumn 2027). My MKVToolNix binaries are x86/x64 binaries, not ARM ones, therefore this impacts y'all. Unfortunately I do not have an ARM-based mac and do not plan on ever getting one. Therefore I will discountinue offering macOS binaries when Rosetta support ends.

I would very much welcome others to provide macOS ARM binaries in my stead and would gladly link to their efforts from MKVToolNix' homepage. So far no one has stepped up to do so. The closest you get is probably the [Homebrew project](https://brew.sh) which offers [MKVToolNix for ARM](https://github.com/Homebrew/homebrew-core/blob/master/Formula/m/mkvtoolnix.rb), too, with the important caveat that they only build the CLI tools, not the GUI. I do not know why; please ask them or offer your help getting their builds to build the GUI, too.

If you want to compile for macOS ARM yourself: good news, this is pretty easy. MKVToolNix contains my scripts that I use for building the x64 binaries, and those same scripts work for ARM macs, too. Please see [this forum post](https://help.mkvtoolnix.download/t/building-mkvtoolnix-with-gui-on-a-mac/1361) for details. There a user & I discuss requirements & small issues they encountered, and the succeeds in building ARM binaries.

And now to the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 93.0 "Goblu" 2025-06-14
New features and enhancements

all: updated the various lists that go into IETF/BCP 47 language tags: ISO 639 languages; ISO 3166 countries; ISO 15924 regions; IANA subtag registries.
translations: added a Hungarian translation of the programs & man pages by Viktor György, John Fowler & Attila Zsigus (see "AUTHORS").
mkvextract: tags extraction: added an option "--no-track-tags" (short: "-T") for not extracting tags associated with tracks.
MKVToolNix GUI: multiplexer: the default regular expression for deriving the "forced display" track flag from file names for subtitles was extended to also match on the term "signs". Implements #6094 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6094).
MKVToolNix GUI: preferences: the revert buttons for the various "default regex for…" will only be enabled when the current text differs from the default, in other words: when reverting would actually change the text. Part of the implementation of #6099 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6099).
MKVToolNix GUI: preferences: the GUI will now auto-upgrade the "default regex for…" to their respective current default values if they're still set to one of the previous default values. Part of the implementation of #6099 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6099).


Have fun 😁

qyot27
14th June 2025, 17:59
The closest you get is probably the [Homebrew project](https://brew.sh) which offers [MKVToolNix for ARM](https://github.com/Homebrew/homebrew-core/blob/master/Formula/m/mkvtoolnix.rb), too, with the important caveat that they only build the CLI tools, not the GUI. I do not know why; please ask them or offer your help getting their builds to build the GUI, too.
MacPorts has a variant package to build the gui. (https://ports.macports.org/port/mkvtoolnix/details/)

Relevant section of the MacPorts docs discussing variants. (https://guide.macports.org/chunked/using.variants.html)

Mosu
14th June 2025, 18:04
Ooooh that's great; I didn't know about MacPorts. Or rather, I'm pretty sure that at some point I was aware of them & I think I've visited their page before, but they totally slipped my mind in the meantime.

Thanks for letting me know! I'll add a link to the downloads section.

GeoffreyA
14th June 2025, 21:20
Thanks, Mosu.

Goblu. That wouldn't happen to be the song from "Clair Obscur: Expedition 33," the Rose Garden boss?

lvqcl
14th June 2025, 21:43
Help -> Check for updates, and you'll see:

Version 93.0 "Goblu" [Listen to song or album on YouTube]

Mosu
14th June 2025, 22:40
Thanks, Mosu.

Goblu. That wouldn't happen to be the song from "Clair Obscur: Expedition 33," the Rose Garden boss?

It absolutely is. It's one of my all-time favorite games.

GeoffreyA
15th June 2025, 08:36
It absolutely is. It's one of my all-time favorite games.

Same! It stands with my favourite RPGs of all time, Baldur's Gate II and Oblivion, and the soundtrack deserves a set of awards. I'm still playing, and near the end, but exploring now that Esquie can fly.

darksen
29th June 2025, 21:43
I'm using chapterEditor to remux a UHD Blu-ray.

When I use mediainfo in the resulting file the dialog normalization is present in all but the TrueHD track, is this normal/expected?


Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : SMPTE ST 2086, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 1 h 30 min
Bit rate : 78.3 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Active width : 3 584 pixels
Active display aspect ratio : 5:3
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.394
Stream size : 49.6 GiB (92%)
Language : English
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0020 cd/m2, max: 1000 cd/m2

Audio #1
ID : 2
Format : MLP FBA 16-ch
Format/Info : Meridian Lossless Packing FBA with 16-channel presentation
Commercial name : Dolby TrueHD with Dolby Atmos
Codec ID : A_TRUEHD
Duration : 1 h 30 min
Bit rate mode : Variable
Bit rate : 4 768 kb/s
Maximum bit rate : 6 816 kb/s
Channel(s) : 8 channels
Channel layout : L R C LFE Ls Rs Lb Rb
Sampling rate : 48.0 kHz
Frame rate : 1 200.000 FPS (40 SPF)
Compression mode : Lossless
Stream size : 3.02 GiB (6%)
Language : English
Default : Yes
Forced : No
Number of dynamic objects : 13
Bed channel count : 1 channel
Bed channel configuration : LFE

Audio #2
ID : 3
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : A_AC3
Duration : 1 h 30 min
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel layout : L R C LFE Ls Rs
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 415 MiB (1%)
Language : English
Service kind : Complete Main
Default : Yes
Forced : No
Dialog Normalization : -27 dB
compr : 1.02 dB
dynrng : 1.02 dB
cmixlev : -3.0 dB
surmixlev : -6 dB
dmixmod : Lo/Ro
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -4.5 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -4.5 dB
dialnorm_Average : -27 dB
dialnorm_Minimum : -27 dB
dialnorm_Maximum : -27 dB

Audio #3
ID : 4
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : A_AC3
Duration : 1 h 30 min
Bit rate mode : Constant
Bit rate : 320 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 208 MiB (0%)
Language : English
Service kind : Complete Main
Default : Yes
Forced : No
Dialog Normalization : -27 dB
compr : 1.94 dB
dynrng : 1.72 dB
dsurmod : Not Dolby Surround encoded
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -3.0 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -3.0 dB
dialnorm_Average : -27 dB
dialnorm_Minimum : -27 dB
dialnorm_Maximum : -27 dB

Audio #4
ID : 5
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : A_AC3
Duration : 1 h 30 min
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel layout : L R C LFE Ls Rs
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 415 MiB (1%)
Language : Spanish
Service kind : Complete Main
Default : Yes
Forced : No
Dialog Normalization : -31 dB
compr : -1.48 dB
dynrng : -0.86 dB
cmixlev : -3.0 dB
surmixlev : -6 dB
dmixmod : Lo/Ro
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -4.5 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -4.5 dB
dialnorm_Average : -31 dB
dialnorm_Minimum : -31 dB
dialnorm_Maximum : -31 dB


M2TS:



Audio #1
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : MLP FBA AC-3 16-ch
Format/Info : Meridian Lossless Packing FBA with 16-channel presentation
Commercial name : Dolby TrueHD with Dolby Atmos
Muxing mode : Stream extension
Codec ID : 131
Duration : 1 h 30 min
Bit rate mode : Variable
Bit rate : 640 kb/s
Maximum bit rate : 6 816 kb/s
Channel(s) : 8 channels
Channel layout : L R C LFE Ls Rs Lb Rb
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossless
Stream size : 415 MiB (1%)
Service kind : Complete Main
Number of dynamic objects : 13
Bed channel count : 1 channel
Bed channel configuration : LFE
Dialog Normalization : -27 dB
compr : 1.02 dB
dynrng : 1.02 dB
cmixlev : -3.0 dB
surmixlev : -6 dB
dmixmod : Lo/Ro
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -4.5 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -4.5 dB
dialnorm_Average : -27 dB
dialnorm_Minimum : -27 dB
dialnorm_Maximum : -27 dB

Audio #2
ID : 4353 (0x1101)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : 129
Duration : 1 h 30 min
Bit rate mode : Constant
Bit rate : 320 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 208 MiB (0%)
Service kind : Complete Main
Dialog Normalization : -27 dB
compr : 1.94 dB
dynrng : 1.72 dB
dsurmod : Not Dolby Surround encoded
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -3.0 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -3.0 dB
dialnorm_Average : -27 dB
dialnorm_Minimum : -27 dB
dialnorm_Maximum : -27 dB

jpsdr
9th July 2025, 19:16
@Mosu

Hello.

You've recently updated your mxe repository, so i also have updated from yours.

Since, i have the following issue (some part are translated):

Updating the M cross environment build scripts

[download] gcc-13.4.0.tar.xz
MXE Warning! Downloading gcc from second URL.
MXE Warning! Downloading gcc from backup.

Download failed or wrong checksum of package gcc!
------------------------------------------------------------
--2025-07-09 19:21:56-- http://d1yihgixbnrglp.cloudfront.net/gcc%2D13%2E4%2E0%2Etar%2Exz
Solving of d1yihgixbnrglp.cloudfront.net (d1yihgixbnrglp.cloudfront.net)… 18.245.172.199, 18.245.172.128, 18.245.172.74, ...
Connect to d1yihgixbnrglp.cloudfront.net (d1yihgixbnrglp.cloudfront.net)|18.245.172.199|:80… connected.
request HTTP send, waiting response… 404 Not Found
2025-07-09 19:21:56 error 404 : Not Found.
Download failed!
------------------------------------------------------------

make: *** [Makefile:736 : download-only-gcc-13.4.0.tar.xz] Error 1


Is it the same for you ?

Mosu
9th July 2025, 19:32
Yeah, I currently have the same issue — I just haven't found the time to investigate. You should be able to Google around for an alternative download location & place that file in the "pkg" sub-directory. As long as it exists, has the expected name & checksum the system shouldn't try to re-download it.

Mosu
9th July 2025, 19:44
Oh wait. I do _not_ have that problem as I'm not using gcc 13 anymore, but gcc 14. Add "MXE_PLUGIN_DIRS += plugins/gcc14" to your "settings.mk". That download works.

It looks like they forgot to update the checksum when they updated the gcc 13 release: https://github.com/mxe/mxe/commit/4e01bc6b1a586487886052bb1b012af1128e6432

PS: I forgot to update the "setup_cross_compilation_environment.sh" script; it still references gcc 13. I don't use that myself, therefore I hadn't observed the issue. I'll update it in a bit.

jpsdr
10th July 2025, 18:03
Thanks, this was helpfull for me.

Mosu
27th July 2025, 18:32
Hey y'all.

This is probably the smallest release I've ever done :) Just one bug fix & one feature. Apart from that a ton of work went into the macOS build scripts in order to be able to build universal binaries. It's not finished yet, and therefore the work's not part of the release.

The usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 94.0 "Initiate" 2025-07-27
New features and enhancements

MKVToolNix GUI: multiplexer: the "delete source files after multiplexing" job runner will now delete both files of an ".idx"/".sub" VobSub file pair. Implements #6133 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6133).

Bug fixes

all: fix compilation without FLAC. Fixes #6128 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6128).


Have fun 😁

tormento
1st August 2025, 13:31
Hey y'all.
I have searched for "ac-4" and "ac4" but no results found. Pardon me if it's an already asked question.

I have a AC-4 audio file (https://workupload.com/file/tM25qFpdgW2) that I want to mux into a mkv with the proper video but the AC-4 file gets recognized as AVC video :scared:

Could you please add proper support?

:thanks:

Mosu
1st August 2025, 14:49
I currently don't have plans to work on AC-4 support in the near future. It will likely be implemented at some point, just not soon.

tormento
1st August 2025, 20:00
I currently don't have plans to work on AC-4 support in the near future. It will likely be implemented at some point, just not soon.


I’ve started to get interested as MPC-HC and MPC-BE added decoding support. Eesma ffmpeg build has it too.

v0lt
29th August 2025, 06:44
I’ve started to get interested as MPC-HC and MPC-BE added decoding support. Eesma ffmpeg build has it too.
Note that AC-4 decoding support is very limited. Many streams are not supported.

tormento
1st September 2025, 10:26
Note that AC-4 decoding support is very limited. Many streams are not supported.
Even if limited, somewhere we should start. ;)

Unfortunately Mosu isn't willing to include, at least soon, so there aren't many ways to test it, beside the pure audio file.

Mosu
5th September 2025, 23:19
To be nitpicky here: I'm absolute not against including support for AC-4, I just don't want to work on this myself at the time. This is still open source, after all; others can get involved, if it's important or interesting to them.

tormento
6th September 2025, 09:47
To be nitpicky here: I'm absolute not against including support for AC-4, I just don't want to work on this myself at the time. This is still open source, after all; others can get involved, if it's important or interesting to them.


I am so thankful for the work you are carrying, I think, alone. I would be glad to help you in any way but, unfortunately, my programming skills are almost none.

My message wasn’t a critique to your efforts, just a matter of fact, i.e. that we can cannot still test AC4 inside MKV. And I don’t even know if MP4 accepts it either.

I am always eager to find the new builds in the continuous repository, as I know that you always do your best to provide fixes and new functionalities.

Thanks again, you have all my gratitude. ;)

Mosu
6th September 2025, 12:36
I didn't take it as criticism, don't worry, we're good ��

And yeah, on the coding side I'm mostly doing all the work myself with the occasional contribution by others (much fewer than ten years ago). I do have a lot of people handling translations, and I'm really grateful for them, 'cause I simply only speak English & German.

Mosu
14th September 2025, 11:17
Hey :)

Time for another release: a couple of new features/enhancements contributed by a kind person, a handful of bug fixes.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 95.0 "Goodbye Stranger" 2025-09-14
New features and enhancements

mkvmerge, MKVToolNix GUI: new chapter generation feature: a new placeholder has been introduced when generating chapters for appended files, <TITLE>, which will be replaced by the appended file's title metadata. Implements #6151 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6151). Implementation by Jason Donenfeld.
mkvmerge: the display matrix from MP4 files are now translated into appropriate roll and yaw values for output MKV files. Implements #6150 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6150). Implementation by Jason Donenfeld.
mkvmerge: add "--date" argument to set the date metadata. Implements #6155 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6155). Implementation by Jason Donenfeld.

Bug fixes

build system: fixed building with the upcoming Boost v1.89.0 by only requiring the header part of the Boost.System library as it's been header-only since v1.69.0. Fixes #6143 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6143).
mkvmerge: PCM packetizer: mkvmerge will now always write frames with 40ms of samples, no matter how long or short the frames in the source files were. Part of the fix of #6149 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6149).
mkvmerge: MP4/QuickTime reader: fix exorbitant memory usage when reading PCM audio tracks. Part of the fix of #6149 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6149).

Build system changes

Boost v1.74.0 or newer is now required.


Have fun 😁

LeXXuz
15th September 2025, 09:41
Still on v89.0. The last version that supports narrow fonts on Windows properly.

jpsdr
26th October 2025, 00:12
@Mosu
Hi.
There is the 95.0.38 in https://mkvtoolnix.download/windows/continuous/32-bit/95.0/, but not in https://mkvtoolnix.download/windows/continuous/64-bit/95.0/. Is it normal ?

Mosu
26th October 2025, 20:00
@Mosu
Hi.
There is the 95.0.38 in https://mkvtoolnix.download/windows/continuous/32-bit/95.0/, but not in https://mkvtoolnix.download/windows/continuous/64-bit/95.0/. Is it normal ?

That's due to an installation issue on my buildbot server which clashes with the recent change to how the 64-bit installer is built. It'll be fixed soon-ish.

Mosu
26th October 2025, 21:32
Problem's fixed, and the missing build has been built.

jpsdr
26th October 2025, 23:23
Nice, thanks.

Mosu
8th November 2025, 12:24
Heyooo.

Here's the latest, the greatest (maybe?) release of MKVtoolNix, v96.0. Business as usual: couple of enhancements, couple of bug fixes.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 96.0 "It's My Life" 2025-11-08
New features and enhancements

all programs: added a command-line parameter "--no-bom" that disables writing byte order marks to text files encoded with one of the UTF variants. Implements #6166 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6166).
MKVToolNix GUI: multiplexer: added variable "&lt;MTX_CHAPTERS_FILE_NAME>" to the "run program after job completion" mechanism containing the absolute path to the chapters file name. Implements #6172 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6172).

Bug fixes

mkvmerge: OBU reader: fixed probing files in which the first frame ends after the 1MB mark, which is how big the memory buffer used for probing content is. Fixes #6165 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6165).
mkvmerge: VobSub reader: VobSub ".idx" files that start with a byte-order mark (BOM) are now read again correctly. Fixes #6162 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6162).
mkvextract: AV1/IVF: fixed inserting a temporal delimiter OBU at the start of each frame if there is none. Mostly fixes #6120 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6120).
mkvextract: AV1/IVF: fixed a potential calculation error when deriving frame rate numerator & denominator from Matroska's default duration. Part of the fix of #6120 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6120).
mkvextract: AV1/IVF: fixed calculation of IVF frame number calculation from Matroska's frame timestamps by rounding instead of truncating. Part of the fix of #6120 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6120).


Have fun 😁

Klaus1189
8th November 2025, 13:22
Thanks for new release, but while installation of x64 on Win11 I do not get asked for admin rights to install and therefore install fails. If I rightclick the installer and run it with admin rights, it works. Is that just me or can you confirm that?

LeMoi
8th November 2025, 13:31
Thanks for new release, but while installation of x64 on Win11 I do not get asked for admin rights to install and therefore install fails. If I rightclick the installer and run it with admin rights, it works. Is that just me or can you confirm that?

No problem here win WIN11 too to install without specifiying admin rights

Klaus1189
8th November 2025, 13:43
I retested 95.0.0 which works without manual admin rights and 96.0.0 which does not.

Mosu
8th November 2025, 17:36
I have another user reporting the same kind of issue over on the forum (https://help.mkvtoolnix.download/t/trouble-installing-update-96-0-windows-64bit/1488). Note that I'm using a different/new NSIS build so that I can actually build 64-bit installer executables instead of 32-bit ones. You'll get used to it. Other programs do it that way, too.

What I find interesting, though, is that I personally get asked for admin privs immediately upon launching the installer without having to tell Windows so explicitly, like LeMoi, too. I do not know why, nor do I care to investigate, to be quite honest.

Klaus1189
8th November 2025, 20:15
If it helps, Win 11 25H2, fresh new install about 2 weeks ago. If you reconsider, just let me know. I will provide as much info as I can. I am also here for tests.

SeeMoreDigital
8th November 2025, 20:29
When trying to instal 'mkvtoolnix-64-bit-96.0-setup.exe' I receive the following message even after deleting mkvtoolnix first: -

https://i.ibb.co/Xxf940yZ/Screenshot-2025-11-08-191904.png

Mosu
8th November 2025, 21:34
Run the installer with admin privileges.

Klaus1189
8th November 2025, 21:41
Yes, exact same issue

Mosu
8th November 2025, 21:42
If it helps, Win 11 25H2, fresh new install about 2 weeks ago. If you reconsider, just let me know. I will provide as much info as I can. I am also here for tests.

You can give the latest build here (]https://mkvtoolnix.download/windows/pre/64-bit/) a try. I've changed RequestExecutionLevel none to RequestExecutionLevel admin. Funnily enough I had used "admin" in the past, but changed it to "none" in 2010 — unfortunately without any explanation in the commit message. I vaguely remember users requesting I do this, but I do not remember their reasoning.

SeeMoreDigital
8th November 2025, 21:43
Run the installer with admin privileges.Yes, I actually ended up doing this. Sorry I neglected to mention it in my previous post.

Klaus1189
9th November 2025, 11:52
You can give the latest build here (]https://mkvtoolnix.download/windows/pre/64-bit/) a try. I've changed RequestExecutionLevel none to RequestExecutionLevel admin. Funnily enough I had used "admin" in the past, but changed it to "none" in 2010 — unfortunately without any explanation in the commit message. I vaguely remember users requesting I do this, but I do not remember their reasoning.

https://mkvtoolnix.download/windows/pre/64-bit/mkvtoolnix-64-bit-96.0-revision-001-g572494487-01908-setup.exe

This build askes me for admin rights :)

lansing
18th November 2025, 18:03
I was muxing vob files into a mkv but the length doesn't match with the dgindex I created with the same vobs. It looks like mkvtoolnix added 7 frames to each vob except for the first one? I'm using version 96.0

SeeMoreDigital
18th November 2025, 18:50
I was muxing vob files into a mkv but the length doesn't match with the dgindex I created with the same vobs. It looks like mkvtoolnix added 7 frames to each vob except for the first one? I'm using version 96.0
As a test... Have you tried joining the vob files together using TSmuxer GUI?

Mosu
2nd January 2026, 14:36
Hi fine folks!

Happy new year everyone. Here's v97.0 of MKVToolNix, probably the smallest release I've ever done with just two NEWS.md entries. But I like to keep up with my ususal schedule, so here we are. Feel free to skip this release if the feature mentioned below is irrelevant for you.

An important note for macOS users: I will stop providing macOS binaries and any kind of support for macOS in the second half of 2026 due to Apple discontinuing support for the Rosetta x86-to-ARM translation system. As my current build process only works on x86 (Intel) macs this will be the end of the line for any kind of mac support for me.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 97.0 "You Don't Have A Clue" 2026-01-02
New features and enhancements

mkvmerge: MP4 reader: added support for TrueHD in MP4 with FourCC "mlpa". Implements #6178 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6178).
installer: the Windows installer will request admin permissions again, as it did before release 96.0.


Have fun 😁

Perenista
12th March 2026, 16:52
I think it was explained here the reasoning for forbidding the idea to split FLAC tracks, but I had to resort to a 2018/old MKVToolnix version to insert one into a file I have.

Sadly, all edits I made to adjust the delay of an audio failed, for a movie that has almost 4 hours and it was in 2 parts.

I had to correct said FLAC track to be in a single file of my film (another version of that 4 hour content), but the sync was different in parts 1/2 and 2/2 compared to the SINGLE FILE.

After 2 hours, files 1/2.mkv and 2/2.mkv were different than SINGLEFILE.mkv.

What I had to do (read and you'll understand why I got an old MKVToolnix):

- Part 1/2 was already in sync with SINGLE FILE. It has a FLAC english track. We can tell it's the same using VirtualDub2.
- For part 2/2, I had to instruct MKVTOOLNIX for a -250 ms delay. Again, FLAC/english. Now, we have 2/2-corrected.mkv

- Then, append parts 1/2 and 2/2-corrected.mkv. The file we will get, I'll call it 1+2.mkv

Open:
SINGLEFILE.mkv (4h length)

Add 1+2.mkv (which has our FLAC appended from before). SINGLEFILE.mkv will now have that FLAC from 1+2.mkv.
+++++++++++++++++++++++++++++++++

Is everything OK for SINGLEFILE? Yes. In sync for the first 2h, and the last 2. 100%.

+++++++++++++++++++++++++++++++++

What was proposed before (if we forget MKVToolnix used to split FLACs):

- Convert the FLAC from:

Part 1/2
Part 2/2

Into WAV, using ffmpeg.

The problem is, after I use gMKVExtractGUI to extract whatever is inside those files, I'll get this:

FILM_track2_[eng]_DELAY 1040ms.flac (from 1/2)
FILM_track2_[eng]_DELAY 1926ms.flac (from 2/2)

All the rest I need to do, to skip the 2018 MKVtoolnix workaround (at least for me) failed creating an audio track in sync. Because the first 2h were OK, but not the last 2.

Mosu
12th March 2026, 17:12
See this FAQ entry (https://codeberg.org/mbunkus/mkvtoolnix/wiki/Appending-&-splitting-FLAC-audio-tracks-not-supported) as for the reason why appending/splitting FLAC is disabled by default and how you can still re-enable it with current versions. No need to resort to old versions for it.

tormento
13th March 2026, 10:43
Sadly, all edits I made to adjust the delay of an audio failed, for a movie that has almost 4 hours and it was in 2 parts.
If you really want to have lossless audio for a lossy video (thing that I will never understand), switch to ALAC, that is perfectly supported by MKV.

Perenista
14th March 2026, 04:52
If you really want to have lossless audio for a lossy video (thing that I will never understand), switch to ALAC, that is perfectly supported by MKV.It's not a lossy video. Nothing, in fact, is LOSSY. It's all lossless. VIDEO, AUDIO and SUBTITLE TRACKS. There is a lossy / smaller version I made myself (with HANDBRAKE), but I also keep the lossless content from the disc. Of course, both have the same sync.

A reencode is the only thing I DON'T WANT TO DO with these audio/subtitle tracks.

The goal here is to sync everything in terms of tracks (for everyone), but the film has almost 4 hours and the distinction of being offered in physical media as 2 parts (of course). The problem is when you have an audio or subtitle track of your own from a UNIQUE, 4 hour file. Or stuff from parts 1 and 2, but need to put in the SINGLE FILE.

I thought I made myself clear what is the difficulty here. At the point part 1 ends and part 2 starts, the sync may differ from the SINGLE-4-H-FILE compared to the parts 1 and 2, and vice-versa. So it's not simply a matter of appending / extracting a track and putting elsewhere (or splitting in half to do that).

Right now, even though I managed to sync everything I wanted, I have 2 more tracks to share between all sources. And this is what is going on, for no reason (I was going to ask here, because I don't know why):

EXPLANATION (https://pastebin.com/0eEQ4kTs)

Update: I managed to sync everything now! Since I had done this for the parts 1 and 2, I only had to append them and apply to the SINGLE-FILES. I don't know why the scenario described above happened with the DD Plus tracks (it was probably due to some inconsistency when splitting), but at least I did it as planned.

About splitting and appending, I am well aware of the warnings from this thread (I remember them from years ago) to avoid this. In the past, I splitted MKVs and later appended them (to put in a server with limited disk space), but that broke (introduced an error) the tracks inside it at the split point. Since then, I never did this again, so if needed, I always tell WinRAR to split the SINGLE-FILE into multiple RARs. What I had to do now was only needed because one source had exclusive audio/sub tracks the other didn't.

Hellboy.
2nd April 2026, 03:50
Is ok to use a negative delay (cut a few seconds from the beginning) with TrueHD Atmos 7.1 in MKVToolNix.
Thanks.

Mosu
5th April 2026, 15:22
Is ok to use a negative delay (cut a few seconds from the beginning) with TrueHD Atmos 7.1 in MKVToolNix.

There's an FAQ entry (https://codeberg.org/mbunkus/mkvtoolnix/wiki/Delay-not-shown-in-the-GUI) that talks about this topic in-depth, even though it's original question is different than yours. Please give it a read, 'cause the answer is "it's fine, but you need to know some things".

Mosu
5th April 2026, 15:24
Hello there!

MKVToolNix v98 is now out, again just a pretty small release with just a handful of changes but why hold off even longer? Who knows when things will pick up again. So here we are!

An important reminder for macOS users: I will stop providing macOS binaries and any kind of support for macOS in the second half of 2026 due to Apple discontinuing support for the Rosetta x86-to-ARM translation system. As my current build process only works on x86 (Intel) macs this will be the end of the line for any kind of mac support for me. There is some community support in the form of third-party builds over on the MKVToolNix forum (https://help.mkvtoolnix.download/t/apple-silicon-retirement-of-rosetta-2/1371/).

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 98.0 "Chonks" 2026-04-05
New features and enhancements

all: huge update to the Japanese translations which had been not worked on for several years. The program translation is now complete again, the man page translation has been extended as well. Both were reworked in most places. Translations by coolvitto.
GUI: chapter editor: added an option in the "additional modifications" dialog that toggles applying the selected modifications to all currently open chapter editor tabs. Implements #6189 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6189).
GUI: macOS: added dock icon progress bar for job queue. Patch by Miklos Juhasz.

Bug fixes

GUI: chapter editor: when renumbering chapters limiting the number of chapters to renumber did not work. Fixes #6199 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6199).
GUI: macOS: fixed refreshing widgets after system switches between dark & light modes. Patch by Miklos Juhasz.

Build system changes

The bundled "fmt" library was updated to v12.1.0, fixing a build issue on FreeBSD. Fixes #6191 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6191).


Have fun

Hellboy.
8th April 2026, 00:00
Thanks for the FAQ entry and the new version.

About the Atmos looks like there is a bug in the cut process. I do a test adding the core ac-3 to create a .thd+ac3. When i add the .thd+ac3 to tsMuxer to create a Blu-ray folder and the muxig start tsMuxer show an error that the audio is not a true BD compatible track or something like that. And in the tsMuxer grid the audio say 8 channels and should say 7.1.

Mosu
24th May 2026, 16:46
Heyo everyone.

Here's MKVToolNix v99. There are a couple of bug fixes & improvements in the GUI & in mkvmerge among with a huge amount of fixes/changes/improvements to the macOS build system. Yes, that's right, macOS binaries are back.

Thanks to the huge amount of work by two community members, corticalcode & touchstone64 (Graham Thompson), we will once again provide macOS binaries (DMGs) for releases v98 (already available for download) and newer (such as this one, v99). Both have improved the macOS build system significantly, implemented building ARM binaries in addition to Intel binaries (this includes a Universal DMG) and fixing bugs they come across while doing so. I'm very grateful for their work, and the MKVToolNix community as a whole is better off.

The macOS DMGs I'll host on the project's home page will be built by aforementioned Graham Thompson, not by me. They're signed & all the good stuff. You can find details about the certificate used on the authenticity page=/url].

Here are the usual links: [url=https://mkvtoolnix.download/]the MKVToolNix home page (https://mkvtoolnix.download/authenticity.html), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 99.0 "Buka" 2026-05-24
New features and enhancements

MKVToolNix GUI: the GUI will now remember the last used directory for selecting audio files for playback in "play audio file" program runners separately from any other "open file"-type situations. This directory will also default to "/System/Library/Sounds" on macOS now. Implemented by #6213 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6213).
MKVToolNix GUI: executing actions → running programs: added new variables: "MTX_DESTINATION_FILE_BASE_NAME" (the name without the drive letter, path or the suffix; e.b. "/movies/A.new.hope.mkv" → "A.new.hope") and "MTX_DESTINATION_FILE_SUFFIX" (only the letters after the last ".", e.g. "/movies/A.new.hope.mkv" → "mkv"). Added examples to all the destination file variables in the popup menu when adding variables in the preferences. Implements parts of #6220 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6220).
MKVToolNix GUI: executing actions → running programs: the command-line input widget will now receive focus again after using the popup menu for adding a variable. Implements parts of #6220 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6220).
MKVToolNix GUI: executing actions → running programs: the variables will now also be set as environment variables when running a program after a job completes.
MKVToolNix GUI: executing actions → running programs: when using the "Execute now" button for testing the "MTX_…" variables will be set to the current multiplexer tab's values for easier testing. Implements parts of #6220 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6220).

Bug fixes

mkvmerge: if using legacy font MIME types is off mkvmerge will now remap legacy font MIME types present in source files into the current ones. Patch by corticalcode via #6249 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6249).
mkvmerge, mkvpropedit, MKVToolNix GUI's multiplexer & header editor: on Windows & macOS the MIME type detection will now use the FreeDesktop.org MIME database instead of falling back to file extension-based guesses. This matches how it works on other operating systems. This fixes e.g. OpenType fonts being detected as the legacy type "application/vnd.ms-opentype" instead of the current IETF RFC, "font/otf", no matter what the "use legacy font MIME types" settings in the preferences was set to. Fixes #6240 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6240) for Windows; fixes #6248 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6248) for macOS. Implemented by corticalcode for macOS in #6250 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6250).
MKVToolNix GUI: update checker: fixed a potential attempt to read from an invalid memory address if an error occurred when parsing the XML file retrieved from the official MKVToolNix server.
macOS: GUI: the default audio file for program runners of type "play audio file" has been changed to an AIFF file as Qt's Multimedia backend routes through Core Audio which doesn't support WebM/VP8/Vorbis/Opus. Existing configurations will be updated if they point to the prior default WebM audio file. Fixes #6209 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6209).

Build system changes

macOS: "build.sh": the Qt installation is now done via "cmake --install" instead of using classic "make" as the classic Makefiles produced by Qt's build system are incomplete. Patch by corticalcode. Fixes #6205 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6205).
macOS: "build.sh": the binaries in the DMG are now stripped of debug symbols. Patch by corticalcode. Fixes #6206 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6206).
macOS: "build.sh": enabled release build optimizations for dependencies. Patch by corticalcode. Fixes #6207 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6207).
macOS: "build.sh": disabled use of "pkg-config" for Qt to prevent linking against installed non-OS libraries such as from Homebrew. Patch by corticalcode. Fixes #6208 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6208).
macOS: added support for notarization of a macOS disk image by an Apple developer account. Implementation of #6212 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6212) by Touchstone64.
macOS: patch added to make building Qt 6.11 from source possible on macOS 26.4. Patch by Touchstone64.
macOS: additions to DMG package naming including the machine type it targets (arm64 or x86_64) and a revision number (to support re-packaging of an existing MKVToolnix release). For example, MKVToolNix-98.0-1-arm64.dmg would represent the first revision of a DMG package for an Apple Silicon Mac, containing MKVToolNix release 98.0. Implementation by Touchstone64.
macOS: the packaging process now verifies the MKVToolNix source release using the author's GPG key before packaging. Implementation by Touchstone64.
macOS: the app bundle name has been standardised by removing the version number, so DMG packages will contain 'MKVToolNix.app'. Implementation by Touchstone64.
macOS: Qt is now built without printing support, reducing the size of the resulting DMG slightly. Implementation by Corticalcode. Implements #6230 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6230).


Have fun 😁

SeeMoreDigital
25th May 2026, 09:53
Thanks again ;)

jpsdr
31st May 2026, 15:01
Hello.

Error when trying to build windows version.
I pulled the new commits, after installing Inkscape when configuration failed, i have now "ImageMagick magick not found", but ImageMagik 8 is allready installed. Ubuntu 22.04.

Mosu
31st May 2026, 16:56
I pulled the new commits, after installing Inkscape when configuration failed, i have now "ImageMagick magick not found", but ImageMagik 8 is allready installed. Ubuntu 22.04.

I doubt you have ImageMagick 8 installed and are using it for two reasons:


The old "convert" was deprecated in favor of the new "magick" command in v7
Ubuntu 22.04 includes ImageMagick 6.9.something

Nevertheless, should be fixed in commit 1e921f7f110345569c5c365d71b5a00b73fd97df by using the now deprecated convert binary when running an ImageMagick version that doesn't include magick yet.`

Note that your ImageMagick must be able to convert SVG to ICOs; I do not know if the one on Ubuntu 22.04 actually can. If not, please upgrade your build system to something newer, preferably 26.04.

jpsdr
1st June 2026, 18:21
My mistake... it wrote something like "8:6.9.11.60", so i just mistook by with 8, when it was indeed 6.9.

The PC i installed linux on is a little old, not UEFI, so i wasn't even sure that 24.04 could be installed.
Anyway, i'll test.

jpsdr
1st June 2026, 20:51
Updated to 24.04, 26.04 is too fresh for me.

Having the following error:

rake aborted!
Don't know how to build task 'share/icons/windows/mkvmerge.ico' (see list of avaible tasks with 'rake --tasks')

Tasks: TOP => src/mkvmerge.exe => src/merge/resources.o
(See full trace by running task with --trace)

Mosu
1st June 2026, 20:55
I'll investigate.

Edit: can you please post the output of the following command:

grep -E 'CONVERT|MAGICK' build-config

Mosu
2nd June 2026, 12:31
Duh… forgot to reply yesterday: fixed in the latest commit.My BuildBot instance (https://buildbot.mkvtoolnix.download/#/console) agrees.

jpsdr
2nd June 2026, 18:44
Just back from work and can finaly make your test, i'll try the new commit but here's your answer: "grep: build-config: no file or directory of this name" (translated from french).

Mosu
2nd June 2026, 19:07
Thanks. I don't actually need the info anymore anyway, as I've fixed the problem in the meantime.

jpsdr
2nd June 2026, 19:54
Yes, build just finished fine, thank you.

Perenista
29th June 2026, 02:33
I don't know if it's just me, but why the last MKVToolnix version keeps messing with the scroll bar? I mean, the one inside the app, it keeps moving it left and right, without us asking to do so, very slightly...

Mosu
5th July 2026, 18:58
Heyo!

It's happening, v100 is here. Yay! It contains nothing overly drastic, but it's still a nice assortment of enhancements & bug fixes for users of all OS.

A big thanks to all the contributors over the years, but especially for the people who have contributed over the last three months. This yielded continued macOS builds and several bug fixes that I hadn't gotten around to tackling myself.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 100.0 "Do Hot Girls Like Chords" 2026-07-05
New features and enhancements

all: added new scalable (SVG) application icons for all applications, replacing the existing pixmap (PNG, ICO) icons. Icons from Sarreq Teryx. Implements #6253 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6253).
mkvmerge: MP4 reader: track names are now read from the track's user-data atoms ("trak" → "udta" → "name") if present. Implements #6274 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6274).
MKVToolNix GUI: executing actions configuration, type "play audio file": added a slider to make configuration more intuitive. Implemented by #6267 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6267).
MKVToolNix GUI: executing actions: macOS only: the GUI will now use bundled audio files for "play audio file" actions that Qt can play instead of using macOS's system sounds. Implemented by #6268 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6268). Fixes #6264 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6264).
MKVToolNix GUI: executing actions: Windows only: added a new type: executing a PowerShell script. Either an existing script file can be selected or custom PowerShell script code entered in a small editor. The executed script has access to all "MTX_…" variables through the environment, e.g. "$env:MTX_DESTINATION_FILE_BASE_NAME". Workaround for the problems talked about in #6254 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6254).
MKVToolNix GUI: job queue: added a context menu for opening copies of the selected queue jobs in the multiplexer as new settings there without removing the queue jobs. Implements #6255 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6255).
MKVToolNix GUI: job queue: added a search functionality for jobs that searches in job descriptions, outputs, warnings & errors. Implements #6256 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6256).

Bug fixes

command-line tools: Windows: switched to Boost's UTF-8 code-conversion facet ("boost::locale::utf8_codecvt") from "std::utf8_codecvt" included in MingW. This seems to fix an issue with converting certain high code point from "wchar_t" to "char" (from UTF-32/16 to UTF-8), preventing interesting exceptions from being thrown. Fixes #6257 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6257).
mkvmerge: AAC: fixed mis-detection of ADTS streams not starting on a frame boundary. Fixes regression starting with v87 when fixing AAC LATM config not being parsed if it wasn't present in the first AAC frame. Patch by Corticalcode. Fixes #6196 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6196).
mkvmerge: MPEG TS reader: under certain rare conditions mkvmerge was skipping a certain amount of content at the start of the main M2TS file when reading MPLS playlists. The amount of content skipped proportional to the probe range percentage. This only happened when the source Blu-ray contains HDMV TextST subtitles. Fixes #6269 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6269).
MKVToolNix GUI: executing actions configuration, type "play audio file": fixed audio volume not working since switching to Qt 6 due to its interface taking a "float" in range "0.0"–"1.0" instead of the old interface taking an "int" in range "0"–"100". Implemented by #6267 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6267). Fixes #6266 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6266).
MKVToolNix GUI: executing actions: fix backslash handling when parsing a Unix-shell escaped string into separate arguments. The user-visible fix is that the command-line in the "executing actions" dialog will not have the quoting changed in wrong ways by the GUI when the GUI adds another variable upon user request, a regression introduced in v99. Fixes #6253 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6253).

Build system changes

all: when building for Windows the programs ImageMagick (executable "magick") & Inkscape (executable "inkscape") are required in order to build ICOs from SVGs.
macOS: include the app's supported platform(s) in "Info.plist" to correctly resolve the app's Kind as Apple Silicon in System Information. Detected during discussion of #6260 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6260).
macOS: updated Qt to 6.11.1. The patch that made building Qt from source possible on macOS 26.4 (by Touchstone64) has been removed as Qt 6.11.1 includes the fix upstream. See #6276 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6276).


Have fun yall! 💖🎉

Z2697
5th July 2026, 21:31
The version number has been advancing so quickly in recent years!

Mosu
6th July 2026, 08:21
I've been increasing the major version (the number before the first .) with each release since release 10.0.0 back in March 2017. I usually release about every five to six weeks, aiming for about ten releases per year. So if you consider the last nine years to be "recent", then sure.

varekai
6th July 2026, 10:13
Had to google "Do Hot Girls Like Chords"... haha... funny :D
Thanks for new version!
https://i.imgur.com/XCReDKe.jpeg
https://i.imgur.com/TN5cvJy.jpeg
https://i.imgur.com/oj7YjdA.jpeg

Mosu
6th July 2026, 10:16
Had to google "Do Hot Girls Like Chords"... haha... funny :D

Glad you liked the name. KNOWER makes such great music, not just this song!

kempodragon
6th July 2026, 15:22
Version 100!! I wonder how many programs have lasted as long to go through so many changes. It also reminds me that I'm getting old since I can remember using MKVToolnix almost when it first came out. Keep up the great work Mosu!!

Mosu
6th July 2026, 16:36
Thanks, mate. There are tons of programs out there that've been going for longer, even much longer, and are still going strong. Many of them have their roots on traditional Unix systems. For example:

the editors Emacs & vi began in the mid-1970s (!!)
gcc (the GNU compiler collection) was first released in 1987
rsync (a widely used network file synchronization tool) was released in 1996

And there are even more programs out there that're proprietary and have been for even longer, especially in the finance & insurance industries.

All of that doesn't diminish the fact that I've been maintaining MKVToolNix for more than 23 years now, of course. Which I would never have thought when I started it.

Perenista
15th August 2026, 01:36
Isn't there an option on MVKToolnix that if we add a certain language for the track (which the app detects what is is), it's automatically not default? If there is, I can't find it.

I'll explain:

- Every new subtitle track (SRT) I add to a MKV, it says DEFAULT TRACK FLAG = YES

But I can either choose YES for all or NO for all, if I understand this correctly.

I can't define this way:

- If it's english = DEFAULT TRACK FLAG = YES (so, "EN", or "EN-US", if we want to be more precise, for example).
- If it's any other language, then = DEFAULT TRACK FLAG = NO

MKVTOOLNIX has an option called:

-------- Disable default track flag for subtitle tracks

But that doesn't help me at all, because all it does is turn ALL of them, even the english ones, into DEFAULT TRACK FLAG = NO.

So, in the end, the app should have been assigning the "default" to the languages we chose, not 100% of the added, or 0% (none at all).

Mosu
15th August 2026, 10:37
No, there isn't. I do not plan on adding something specific like that. Sorry.

Mosu
24th August 2026, 19:58
Hey y'all!

The first release after the milestone round version v100 is here, v101. It's pretty small, but I still suggest everyone update due to the inclusion of updated underlying libraries libEBML & libMatroska. Both are updated to their respective releases from a couple of weeks ago which fix several potential invalid memory access cases that could be triggered by reading files broken in very rare, specific ways. Basically they're potentially security-relevant.

Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the downloads section (https://mkvtoolnix.download/downloads.html) and the source code (https://mkvtoolnix.download/source.html).

The Windows packages and Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.

Here are the NEWS (https://mkvtoolnix.download/doc/NEWS.md) since the previous release:

Version 101.0 "Time To Turn" 2026-08-24
New features and enhancements

translations: substantial extension of the Czech translation by Michal Várady.

Bug fixes

mkvmerge: TrueHD parser: fixed mkvmerge dropping the last TrueHD frame if its size was smaller than 12 bytes. Fixes #6296 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6296).
MKVToolNix GUI: job runner: the variable "&lt;MTX_INSTALLATION_DIRECTORY>" will be replaed in the executable position of the command-line for the program to execute again. Fixes #6299 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6299).
Windows: fixed converting the scalable SVG icons into the bitmap ".ico" ones used on Windows so that the grey background remains uniform & doesn't get garbled. Fixes #6280 (https://codeberg.org/mbunkus/mkvtoolnix/issues/6280).

Build system changes

The bundled libraries libEBML & libMatroska were updated to v1.4.7 & v1.7.2 respectively. Those versions fix various possible invalid memory accesses when reading data broken in certain, very specific ways, making them security sensitive.
libEBML v1.4.7 & libMatroska v1.7.2 are now required.
The meta info file "org.bunkus.mkvtoolnix-gui.appdata.xml" was renamed to "org.bunkus.mkvtoolnix-gui.metainfo.xml".


Have fun! 💝😁

Mosu
25th August 2026, 09:12
Addendum: It's that time of the decade again: after eight years of age this thread's title cannot be edited anymore. Has happened once before, so I'm not surprised anymore. Please follow the new thread (https://forum.doom9.org/showthread.php?t=187096) from now on. Thanks!