Compressed Headers

We just released new versions of our tools with support for the Compressed Header feature of Matroska. mkvtoolnix version 4.1.0 (Changelog) can now read and create such files by default and mkclean 0.4.0 can read those files and create them with the --optimize command-line parameter.

Such files are totally valid and this feature has been in the specs for a long time (at least since 2005). It is supported in players like VLC (even versions older than 1.x), with Haali's splitter and even in some hardware players like the Popcorn Hour. If you encounter problems with such files don't hesitate to contact the people who make the software to tell them they don't support a key feature of Matroska.

Compressed or stripped headers mean that for some codec (MP3, AC3, DTS, AAC, DivX/XviD and maybe others) each frame starts with the same few bytes. So these bytes are removed from each frame and put in the Track header instead, thus saving a lot of space. In the end a .mkv/.mka file with such a feature can be smaller than the raw stream ! Even with all the features that Matroska adds (seeking, chapters, tags, duration, etc).

Compressed headers are not part of WebM as neither Vorbis nor VP8 benefit from it, each frame having a different first byte.

Update:

mkclean now comes with a tool called mkWDclean that removes the compressed header and zlib compressed from tracks in Matroska. That's a workaround to play in hardware players like the WD TV. But we do not encourage people to prevent useful Matroska features from being used. Instead such players should be fixed. There is a petition in place to fix the WD TV firmware. There is no reason it could not support this feature when the PopCorn Hour based on the same chip can do it fine...