[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