Friday, August 27, 2010

New mkvtoolnix breaks mkv playback on Oppo and other players -- Oppo is aware

I use Arch Linux for both my home system and laptop. This means I always have bleeding
edge installs of software. Usually this is not a problem, that is, until mkvtoolnix was
updated.

All of a sudden, my new rips for playback on my BDP-83 would either blank the screen or
actually crash the player! WTF?!

After a little digging, I found this nugget from the developers of mkvtoolnix website:


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.

So, the Oppo barfs when it encounters a file with this compression enabled.  After a few days going back-and-forth with the  techs at Oppo, they finally confirmed this as a bug in the Oppo. Expect a firmware update "in the future."    In the mean time you have two options:
Install older version of mkvtoolnix
or
use the "--compression <TID>:none" flag when running mkvmerge from the command line.  So you need this for each track in the source file.  So for me, I most often use mkvmerge from AVIs outputted from mencoder.  So for me it is

mkvmerge -o something.mkv --compression 0:none --compression 1:none somthing.avi

1 comment:

  1. Dear Mark,
    I have greatly appreciated this post that has solved the same problems you had with mkvtoolnix and large files. Thanks again! Now I have another question do you know how to play mp4 files on the oppo? I have read somewhere that it was sufficient to convert them to .mkv but in my case it does not work.

    ReplyDelete