Symptoms: Some files sourced from freeview DVB re-encoded using mencoder have silent soundtracks.
Analysis: The MPEG-TS stream often contains additional sountracks, for example “audio commentaries” for blind viewers. mencoder incorrectly selects these tracks, even if switch -alang en is given. It seems mencoder will give up trying to find the requested soundtrack and go with the first one it finds.
Solution: Use the -tsprobe <byte position> option to make mencoder search further into the file than it would by default. Also switch -tskeepbroken appears to help deal with broken files.
Example. Set byte offset to half the size of the file
file=1741_20091125102600.mpg size=$(stat -c %s "$file") size=$(( $size / 2 )); mencoder -tskeepbroken -tsprobe $size -alang en <other options....> $file