I have a "little" problem with MKVExtract GUI,I'm trying to extract audio tracks from MKV video files,but instead of naming the tracks with their actual names "e.g. English;Spanish;Italian;etc" it extract the tracks with names like:
I have video files with like 6-7 audio streams each and its getting really messy this way.
I opened the files with MKVTool Nix and all the track's names are correctly named(as above).
Any suggestion would be appreciated.
+ Reply to Thread
Results 1 to 7 of 7
gMKVExtractGUI. It has a job queue, but for multiple jobs you need to open each MKV individually, select the stream(s) for extraction, then add the job to the queue. Extracted audio looks like this:
MKVCleaver has a real batch mode if you need one. You can open a bunch of MKVs and select the streams to be demuxed in the right pane and run it, or you can select streams for each MKV individually. By default I think it just writes the file name and track number, but if you select the "custom" file naming option and add the following to the dialogue box (or something similar):
[Filename] [Track#] [LNG] [Delay]
the extracted audio will be named this way:
file name 01 EN DELAY 0ms.ac3
There's a "verify" button on the custom naming setup. You need to use it before saving your custom naming. MKVCleaver checks to make sure the naming scheme will always result in extracted streams with unique names. I don't know why it uses two letter language codes instead of the three letter codes.
For the record, MKVs can have a delay for audio and video streams. Negative delays aren't allowed for MKV, but a positive video delay is effectively a negative audio delay.
gMKVExtractGUI checks the video and audio streams and takes any video delay into account when writing the delay to the audio (it'll show you the stream delays when you open an MKV). For example if the video stream had a 75ms delay and the audio stream had a 50ms delay, the delay written to the audio file would be -25ms. It's based on the assumption that if you're extracting audio because you're also re-encoding the video, the encoded video probably won't have a delay set.
MKVCleaver doesn't check the video stream for a delay, so for the previous example it'd write 50ms as the audio delay. The correct delay might depend if you're muxng the audio into a new MKV or back into the source MKV. Anyway..... MKVs with a video delay aren't particularly common, so mostly it's not an issue and the two programs will agree on the audio delay, but it's something to be aware of.
After writing the above essay I had a thought..... are you using the newer/latest version of MKVExtractGUI with the latest MKVToolNix? ie MKVExtractGUI-184.108.40.206
As an experiment I gave it a quick test with MKVToolNix 9.2.0 and it worked fine, then after realising MKVToolNix has been updated I tried it with version 9.3.1 and it was still okay. Also for MKVToolNix 9.1.0.
And then I wondered.... are you referring to the name of each audio stream (the "Track name" field in MKVToolNixGUI), which just happens to be a language in your case but could be anything you like, or are you referring to the language "flag".... or whatever it's called..... for each audio stream (the "Language" field in MKVToolNixGUI). If it's the former I don't think it's ever used for file naming when extracting. I just thought I should ask....
Yes the track name not sure what's the english name since I'm using the program in Italian
Also MKV Extract I'm using is ver.2.3.00
That's the problem. To the best of my knowledge no extraction programs use that field for naming extracted streams. The "Name" field you highlighted was probably designed for things like "Video With Encoded Subtitles", "5.1ch Surround", "Director's Commentary" .... I'm just making up names.... but even though the name field is often used to specify a language, the official language field is the one below it with a drop down list of languages to choose from. If that field is set correctly, it'll be used for naming extracted streams, but not "Name" field.
Your streams are very likely being extracted and named correctly, but unfortunately the language field wasn't set correctly when the MMKV was created. "Undetermined" is a language choice, the way I understand it, just as English or Italian or Greek etc are language choices, so instead of the language field not being set, or empty, it's set to "undetermined", and a three letter "und" language code is being added to the file name when the streams are extracted.
Oh, I see the problem.
But that drop-down menu only have languages, doesn't have things like "English with commentary" or "English(for hearing impaired)" or whatever.
Well that's problematic then
I don't have many MKVs with multiple languages, so I've not paid much attention to whether the average player reads or displays the information in the "name" field. No doubt different players do things differently (software players and hardware players included).
Out of curiosity, I checked an MKV with multiple audio and subtitle streams with MPC-HC, and it always displays the three letter language code for each stream. If the "name" field is empty it also displays the language (the complete word), but if there's something in the "name" field, it displays that instead. So....
Name field empty, language set to English, it shows:
With "Commentary" in the name field and the language set to English:
That seems like a reasonable way to do it, because if it always displayed the full language and you added "English Commentary" to the name, you'd end up something like:
English English Commentary (Eng)
which would be annoying.
When the language is set to "undetermined" it's clever enough to not display any language (or three letter code) so including the language in the name field as you've been doing would be fine. Although not so much when extracting....
On the other hand.... because you made me look..... the media player built into my TV doesn't read the track name or language field and just displays "language 1" and "language 2" etc.
Last edited by hello_hello; 20th Jul 2016 at 18:19.