[Matroska-users] mkvmerge and tagging tracks with English
Mike Castle
dalgoda+matroska at gmail.com
Sat Jul 24 21:47:48 CEST 2010
I just noticed something. Apparently starting with mkvtoolnix 4.0.0,
sometimes the language setting is lost. I first noticed this with
vobsubs, but it seems to also apply to SRT and audio tracks.
Here are some examples from MKVs made from the same avi/idx pair using
three different versions of mkvmerge. The command used to create the
files was always:
mkvmerge -o out.mkv 1.1-5.vob.idx 1.1-5.1.vob.
In the output below, I expect the audio codecs to be an undefined
language because I didn't specify one. In the idx file, however, each
section is identified with a language.
$ for v in v*mkv; do echo $v ; mkvinfo $v | grep -e Codec.ID -e Lang ; done
v3.4.0.mkv
| + Codec ID: S_VOBSUB
| + Language: eng
| + Codec ID: S_VOBSUB
| + Language: spa
| + Codec ID: V_MPEG2
| + Language: und
| + Codec ID: A_AC3
| + Language: und
v4.0.0.mkv
| + Codec ID: S_VOBSUB
| + Codec ID: S_VOBSUB
| + Language: spa
| + Codec ID: V_MPEG2
| + Language: und
| + Codec ID: A_AC3
| + Language: und
v4.1.1.mkv
| + Codec ID: S_VOBSUB
| + Codec ID: S_VOBSUB
| + Language: spa
| + Codec ID: V_MPEG2
| + Language: und
| + Codec ID: A_AC3
| + Language: und
This seems to only happen with English. If I swap es/en labels around
in the idx file, we get this:
| + Codec ID: S_VOBSUB
| + Language: spa
| + Codec ID: S_VOBSUB
| + Codec ID: V_MPEG2
| + Language: und
| + Codec ID: A_AC3
| + Language: und
Actually, if I do this for a .srt file, I see the same issue. Looking
at a different file with text subtitles, vobsubs and audio in multiple
languages, I see:
| + Codec ID: S_TEXT/UTF8
| + Codec ID: S_VOBSUB
| + Codec ID: S_VOBSUB
| + Language: fre
| + Codec ID: S_VOBSUB
| + Language: spa
| + Codec ID: V_MS/VFW/FOURCC
| + Language: und
| + Codec ID: A_AC3
| + Codec ID: A_AC3
| + Language: fre
| + Codec ID: A_AC3
| + Language: spa
| + Codec ID: A_AC3
Compare to an older file I have laying around:
| + Codec ID: V_MS/VFW/FOURCC
| + Language: und
| + Codec ID: S_TEXT/UTF8
| + Language: eng
| + Codec ID: S_VOBSUB
| + Language: eng
| + Codec ID: S_VOBSUB
| + Language: spa
| + Codec ID: S_VOBSUB
| + Language: fre
| + Codec ID: A_AC3
| + Language: eng
My guess is there's some code does:
if (lang) {
// Insert language tag
}
And English is 0 ?
Anyway, for me this is happening on Debian Testing using the packages
from bunkus.org
mrc
More information about the Matroska-users
mailing list