Recently, my brother-in-law bought a new Sony Bravia HD-Television that plays videos directly from USB drives. Everything was going find until we loaded a 720p MKV file and found that the TV couldn’t recognize the audio codec. The video was playing alright but the audio was missing, and a message appeared on screen saying the audio format was not supported. It turned out that certain models of the Sony Bravia TV couldn’t play DTS encoded audio but it could handle Dolby Digital AC-3 and AAC audio. A quick search on Google revealed that HD-TV manufactured by other companies like Samsung and LG have similar issues with audio codecs.
The obvious solution when a video file refuses to play on a device is to convert the file into a format that is supported by the device. However, in this case, re-encoding the video file into another format is not necessary. This is because the TV is incompatible with only the audio stream, and re-encoding the video stream will not only be a waste of time but will also result in video quality that is worse than the original since all video conversions are lossy. What we need to do is convert the audio stream while keeping the video stream intact. This we can do with a software called Avidemux.
The name “Avidemux” is a misnomer. Although originally developed to handle only AVI files, Avidemux can today demux and mux all kinds of video containers including MKV and MP4.
Open Avidemux and then load the video file whose audio codec the TV doesn’t support from the File menu.
On the left hand side, under Video Output choose the Copy option. This should already be selected by default. Under Audio Output, choose AC-3 (lav). You can also choose AAC, but AC-3 is recommended for maximum compatibility.
Under Output format, choose either MKV muxer or AVI muxer or MP4 muxer depending on whether the original file was MKV or AVI or MP4. But you can choose any video container, it doesn’t matter as long as the TV supports it.
Now click the save button and that’s it. Encoding takes about 2 minutes per GB of file on an Intel Sandy Bridge machine which is several times less than it would take if the video was encoded. Best of all, you don’t lose the video quality.