[MPlayer-users] Re: Free audio codec for .AVI files ?

D Richard Felker III dalias at aerifal.cx
Tue Jan 27 04:07:19 CET 2004

On Tue, Jan 27, 2004 at 03:18:44AM +0200, Jan Knutar wrote:
> > Then, what should we use? I don't like the way Matroska is designed,
> > I think is very complex and bloated, but it is much better than AVI.
> > I know Nut will be so wonderful... but I can't use it now. IMHO, the
> > best *available* container is Matroska.
> At the risk of starting a flamewar, what's worse, ogm or matroska?

Since you asked for it, here it comes. Better don the asbestos

They're both bad in different ways, and some of the same ways:

1. Both OGM and MKV require the player software to add explicit
   support for each and every new codec. This is very bad since it
   forces users to constantly upgrade the player.

2. OGM lacks an index and thus seeking is slow or buggy (depending on
   which path the player wants to take) or perhaps both.

3. OGM reportedly lacks support for variable-fps video, but I'm not
   sure this is true.

4. OGM wastes LOTS of space on completely useless overhead, comparable
   to the waste of the avi index (and unlike avi you don't even get an
   index in return for all that space!)

5. MKV wastes a considerable amount of space (though not as much as
   OGM) on overhead, mainly due to the horrible "EBML" encoding and
   useless checksums.

6. MKV is incredibly overcomplicated to implement, with all sorts of
   "extensibility" features that are actually not useful and never
   will be (the same things could be done without all the bloat).

7. Until recently the only code to read MKV files was in C++. Yuck.
   Thankfully that's changed now.

8. MKV is definitely WAY too complicated for simple hardware devices
   to play. OGM is marginal (the stupid packet/page system) but
   evidently feasible since there are hardware music players with
   OGG/Vorbis support.

9. Both MKV and OGM lack proper framing and timestamping of individual
   audio packets, so it's impossible to cut audio with high precision
   (or seek with high precision) unless you involve the audio codec to
   interpret packets and their length. This requires ugly
   interdependence between the demuxer/seeking layer and the codec
   layer, which should be totally separate.

10.Both MKV and OGM are designed by people who have no competence or
   experience whatsoever with video coding. No, writing a GUI to wrap
   DirectShow is NOT VIDEO CODING.

>From what I've said, OGM sounds worse. But I wouldn't be so quick to
decide. I have much more of a grudge against Matroska, since OGM was
designed as a temporary hack to be able to use vorbis audio with
movies, whereas Matroska was designed by delusional Windows kids who
think they're experts because they got an A+ in CS class for
worshipping their incompetent professor's XML fetish. They're actively
promoting it as the video container of the future, and by doing so,
getting people locked into a bad design that will prevent maximum
quality encoding (due to overhead), overcomplicate players (as they're
forced to support more and more stupid extensions to Matroska), and
generally cause a lot of headache. They're also trying to design and
impose a "common media api" on Linux, which is a total joke, but it
just shows how egotistical and delusional they are.

Overall I'd say the difference in their demerits is comparable to the
difference between mirc script and C++, as languages. Both are
horrible, but one is just a stupid toy that's not meant to be used for
real work, and staying fairly minimal, while the other is a horrible
abomination being imposed on people under the pretense that it's
actually good.


More information about the MPlayer-users mailing list