Archiving a full set of episodes of a TV-series has some challenges: missing episodes, bad quality, recording issues - and language and subtitles. You may have missed one episode on your preferred HDTV channel and got one in SD lacking subtitles and original language.
Below script (yes, I know it's ugly) will dump language information for audio tracks and subtitle tracks from a MKV file in a sorted order. This allows a quick and easy check if your archived episodes have all the same language information.
Below script (yes, I know it's ugly) will dump language information for audio tracks and subtitle tracks from a MKV file in a sorted order. This allows a quick and easy check if your archived episodes have all the same language information.
Save this file as /usr/bin/mkvinfo.pl and make it executable. Move to the folder holding the archived MKV recordings and use a simple wrapper script:#!/usr/bin/perlwhile (<>) {last unless /\S/;$lines .= $_;}@tracks = split /A track/, $lines;@audiotracks = grep/type: audio/, @tracks;@subtracks = grep /type: subtitles/, @tracks;foreach (@audiotracks) {push(@atracks, $1) if / Language: (\w{3})/;}foreach (@subtracks) {push(@stracks, $1) if / Language: (\w{3})/;}print "Audiotracks:\t";foreach (sort(@atracks)) {print "$_ ";}print "\n";print "Subtitles:\t";foreach (sort(@stracks)) {print "$_ ";}print "\n";
for i in *.mkv; doAs result you will get a list of filenames (your mkv files) and indented a list of audio and subtitles tracks. By visual comparison you can easily spot a missing track and re-record that episode with a Record task in MythTV.
echo "Checking $i"
mkvinfo "$i" | /usr/bin/mkvinfo.pl
done