Mkmerge --identify-verbose Should Indicate If a Track Is Subset of Other Track #1835

Closed
CarlEdman opened this Issue Dec 23, 2016 · 4 comments

Projects

None yet

2 participants

@CarlEdman

This may sound like an esoteric complaint, but please hear me out.

Some currently popular audio codecs, like DTS-HD Master Audio, contain both a lossless version of the track and a lossy version of the track in an older codec. The MKV tools reasonably represent this single track as two separate tracks--a lossless one for those devices which can handle it and a lossy one for the rest.

For example, mkvmerge --identify-verbose would contain these lines:

Track ID 1: audio (DTS-HD Master Audio) [audio_bits_per_sample:24 audio_channels:6 audio_sampling_frequency:48000 codec_id:A_DTS codec_private_length:0 default_duration:10666666 default_track:1 enabled_track:1 forced_track:0 language:eng minimum_timestamp:0 number:2 track_name:Surround\s5.1 uid:2]

Track ID 2: audio (DTS) [audio_channels:6 audio_sampling_frequency:48000 codec_id:A_DTS codec_private_length:0 default_duration:10666666 default_track:0 enabled_track:1 forced_track:0 language:eng minimum_timestamp:0 number:3 track_name:Surround\s5.1 uid:3]

So far so good.

My problem is that my tools interpret the output of mkvmerge --identify-verbose, can handle the lossless formats, but have no way of knowing that certain lossy tracks are redundant (apart from guessing that any DTS track following a DTS-HD Master Audio track must be redundant). So I end up with a lot of redundant tracks I have to delete manually. (And mkvinfo does not contain this information either.)

So what I am asking for is some hint in the output that would indicate something along the lines of "if you can deal with this track, don't bother dealing with this one." There is probably a small audience for this, but I suspect it is also small effort.

Thanks!

@mbunkus
Owner
mbunkus commented Dec 23, 2016

Thanks for the suggestion. I'll add such a property.

Note that I've just deprecated the --identify-verbose option. It'll be removed in 2018. If you're using that option please change your tooling to use --identification-format json --identify … instead which outputs the same information, just as a JSON document.

@mbunkus
Owner
mbunkus commented Dec 26, 2016

Just a side note. DTS HD-MA and DTS tracks are usually not multiplexed within the same source track. Therefore mkvmerge will not add any indication that they might contain the same source material, simply because mkvmerge doesn't know whether or not that is the case.

There are currently only two situations in which mkvmerge presents tracks multiplexed into a single source track as separate tracks:

  1. TrueHD with embedded AC-3 cores (e.g. in MPEG transport streams)
  2. Teletext subtitles in MPEG transport streams

What mkvmerge can do for DTS HD-MA is to remove the HD-MA part and only keep the core. However, that's only available as a switch for that DTS HD-MA track. The core-only DTS data is not exposed as a separate track by mkvmerge. Therefore the new identification properties I'll be adding won't be shown for DTS (HD-MA) tracks. They simply wouldn't apply there.

@mbunkus mbunkus added a commit that referenced this issue Dec 26, 2016
@mbunkus mkvmerge: add identification info about multiplexed tracks
This adds a new track property in JSON/verbose identification mode
called "multiplexed_tracks". It's an array of track IDs that describe
which of the tracks mkvmerge reports as separate ones were originally
part of the same source track (e.g. TrueHD+AC-3 in a single track in
MPEG transport streams).

Implements #1835.
9ddf259
@mbunkus mbunkus closed this Dec 26, 2016
@CarlEdman

Thanks for the clarification!

I thought they were always multiplexed because every single time I see a HD-MA track, I see a DTS track with identical content next. I believed this happened because the DTS track had been embedded in the HD-MA track.

Do I understand you correctly that when this happened there really are two completely separate tracks, one HD-MA and one DTS? That seems like a waste of bandwidth, considering that it is technically possible to embed the DTS in the HD-MA.

@mbunkus
Owner
mbunkus commented Dec 27, 2016

Do I understand you correctly that when this happened there really are two completely separate tracks, one HD-MA and one DTS? That seems like a waste of bandwidth, considering that it is technically possible to embed the DTS in the HD-MA.

That's exactly what happens, yes. I guess Blu-rays simply have the space to spare, and it's likely done for the best possible compatibility with devices out there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment