Difference between : --no-track-tags --no-global-tags

Hello,

I have read the documentation but can you explain what is the difference between --no-track-tags and --no-global-tags ?

And think i understand what is global tag but i dont understand what is track tag

In Matroska tags can be associated with different targets: e.g. the whole movie, a specific chapter, or a whole track. Tags that are associated with a tag are what MKVToolNix calls “track tags”, all other tags are considered “global tags”. That’s a distinction in MKVToolNix, not in Matroska in general.

The main difference in MKVToolNix is how you control them: on a track-by-track basis for those associated with those tracks and with separate options for all others.

When you extract tags with mkvextract you get all tags within a huge file. You can use modify that & re-apply it with mkvpropedit, even though it might contain a mix of track-specific & non-track-specific tags.

In mkvmerge & mkvpropedit when you tell the programs to associate the tags with a specific track then the program will automatically adjust the “target type value” element to refer to a track & insert the appropriate track UID value so that the association is established.

The main reason why this distinction exists is that the association is done via track UIDs. As mkvmerge generates those automatically & randomly, that would be a problem if you as the user had to hand-craft the association: if you want to create tag files before muxing you don’t know the track UIDs yet, therefore you would have to mux, look up track UIDs, create tag file, mux again. Letting mkvmerge do special-case handling for track-specific tags allows it to do the work for you.