How to fix the sound on new MKV files with PS3 Media Server
I recently discovered that mkvmerge‘s 4.1.0 update broke the sound on the video streaming application PS3 Media Server. It all worked fine, but no sound! Appearantly the guys @ mkvtoolnix decided that its time to start using compressed audio headers to save a few kb’s on a 7GB file (700kb). This is their response:
The Matroska specifications know a feature called “header removal compression”. This allows a muxer to keep a certain number of bytes that are identical for each frame in the track headers removing them from the individual frames. This reduces the size of the tracks significantly without altering the content as a demuxer can add the bytes found in the track headers to each frame during demuxing.
Starting with v4.1.0 mkvmerge uses header removal compression for a couple of track types by default. These include AC3, DTS and MP3 audio tracks as well as Dirac and MPEG-4 part 2 (aka. XviD/DivX) video tracks. The user muxing a file may disable it by explicitely selecting ‘none’ as the compression scheme for such a track.
If your player has difficulties playing such files then it is a bug in that player or in the demuxer but not in mkvmerge. This feature has been part of the Matroska specification since more than six years, and there’s no excuse for refusing to add support for it.
The proper solution is to ask the vendor of your player to support this feature. A temporary solution is to re-mux such files turning off extra compression for all tracks.
Thanks to our friends @ the PS3 Media Server forum there is a way to fix this by getting the latest mencoder/mplayer files!
First change:
Replaced only mencoder.exe & mplayer.exe in the “ps3 media server\win32\” directory with the mencoder.exe & mplayer.exe from here: http://sourceforge.net/projects/mplayer-win32/files/MPlayer%20and%20MEncoder/revision%2031878. (MPlayer-p4-svn-31878.7z)Result:
Transcoding with mencoder and “Enhanced multicore support for H264 HD” selected still lacks audio.
Transcoding with mencoder and “Enhanced multicore support for H264 HD” unselected works (not verified with subtitles though). One core used of course then.
Streaming with tsMuxer now also works !?! when “Switch to tsMuxer…” option is enabled under mencoder settings. (No mistake, the PS3 now can do the decoding fine (5.1 sound & h264) which I find strange.)Second change:
Replaced mencoder_mt.exe in the “ps3 media server\win32\” directory with mencoder.exe (yes, renamed file to _mt.exe) from here: http://sourceforge.net/projects/mplayer-win32/files/MPlayer%20MT/revision%2031878. (MPlayer-p4-svn-31878-mt.7z) <– NOTICE this is a different link and file than the previous… “MT”Result:
Transcoding with mencoder and “Enhanced multicore support for H264 HD” selected works! Both my cores are running at 100%, video and (5.1) audio works!
Transcoding with mencoder and “Enhanced multicore support for H264 HD” unselected works (not verified with subtitles though). One core used of course then.
Streaming with tsMuxer now also works !?! when “Switch to tsMuxer…” option is enabled under mencoder settings. (No mistake, the PS3 now can do the decoding fine (5.1 sound & h264) which I find strange.)
