[MPlayer-users] Containers

Rich Felker dalias at aerifal.cx
Tue Apr 3 19:36:04 CEST 2007


On Mon, Apr 02, 2007 at 03:04:17PM +0200, Mattia wrote:
> On Sun, 01 Apr 2007 22:35:42 +0200
> Nico Sabbi <nicola_sabbi at fastwebnet.it> wrote:
> 
> > containers that have support for storing both pts and dts in their
> > headers: mpeg*, mp4/mov, mkv (all of the above suck in some or many 
> > respects) or nut :)

Nut never stores dts, only pts, because dts is implicit from pts and
would be redundant. (I supposed technically you could think of nut's
delay header as a way of 'storing' dts though. :)

> Can you please explain why matroska sucks?

>From a practical standpoint of delivering final end-user content, it
doesn't suck so much. It's much better than all the present
alternatives (except for nut which isn't 100% present) for this
purpose. Our main complaints about mkv:

- whether or not you store complete pts info is optional (see: lacing)

- file format is hierarchical and block-oriented rather than
  stream-oriented so it's not friendly to piping/streaming/writing
  files without any file-seek operations.

- you're forced to use the same (usually power-of-10, which is very
  unnatural) time unit for timestamps in each stream rather than using
  their natural time unit.

- overhead is somewhat larger than necessary.

- it's ill-defined how you handle audio streams with non-keyframes,
  how you synchronize subtitles after seeking, etc. unless the file is
  complete and has its index. seeking without index in mkv seems like
  an afterthought entirely.

Been a while since I thought about it so there are probably more I'm
missing..

> This isn't the first negative comment I read about matroska.
> Recently I decide to switch container: from avi to something that
> support x264/aac, language id for audio tracks and subtitles.
> Matroska seems good to me but it doesn't support vobsub subtitles and
> mplayer eats a lot of cpu while playing it on my laptop (1.8GHz).
> 
> Do you really suggest nut? It seems to me that nobody uses this; there
> are no examples on internet.

This is because we mplayer/ffmpeg developers are lazy and can't get
off our asses to publish a final spec and easy-to-use tools. :)

Rich



More information about the MPlayer-users mailing list