View Full Version : MKVToolNix v99.0 released
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.
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"
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.
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.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.