[Theora] OGG/OGM media container

illiminable ogg
Tue Jul 6 03:25:02 PDT 2004

----- Original Message -----
From: "Nilesh Bansal" <bansal at cs.ubc.ca>
To: <advocacy at xiph.org>; <theora at xiph.org>
Sent: Tuesday, July 06, 2004 5:43 PM
Subject: [Theora] OGG/OGM media container

> Hi all,
> Xiph aims at developing open-standards media formats. Though xiph.org
> tells about vorbis/theora/flac/speex, nothing is mentioned about container
> to use (that is ogg/ogm). I have a few questions
> Is there a difference between ogg and ogm? I guess its only the extension
> that is different and everything else is same.

My understanding is, that the file format is exactly the same, the main
difference is the first header in each stream... ogm uses several
standardised header formats, audio, video and text, in order to make
identifying unknown codecs easier in directshow (and subsequently other
frameworks). ie with those three headers you can use any audio or video
format you choose without have to write custom header parsing routines for
each codec in the demuxer.

In other words, so long as the decoder is present on the system, you can
play the file and the demuxer be completely oblivious to how the that codecs
header is actually structured... this essentially means that the
encoders/muxers know how to parse the codec headeer to create an ogm header,
but the demuxer doesn't need to know how to do this.

It's a matter of preference... i actually think it's a good idea, but others
disagree, and will say that limits the flexibility of ogg etc... but my
opinion has always been use the standard headers when it makes sense to use
the standard ones and use the generic xiph-like unstructured headers when a
standard heaerr would be restrictive.

This is actually how my directshow demuxer works... if it sees an ogm video
header, it sets up a pin and connects to ffdshow without caring if its divx
or whatever inside. When it doesn't see an ogm header it tries to identify
it as a known xiph header, if it is, then it parses the header.

> Some tools (like ogmtools) are available to create ogm files. What is
> state of that code? It it stable? Is it advisable to start convering my
> AVIs to OGMs? ogm specs are final or they will probably change and are not
> yet final?

OGM headers aren't "officially supported" by xiph. The best way to think of
ogm is as a codec wrapper, to shield the demuxer from the imlpementation
details of the codec headers. Kind of what an api does... it distills the
possible 10's of header fields down to the 3 or 4 that the demuxer actualy
cares about.

> If answer to previous question is yes, why mencoder don't produce ogm? Why
> people are still sticking to AVI? Is it just lack of time/energy of
> developers or something more technical?
> What are main advantages/disadvantages of matroska(http://matroska.org/)
> over ogg/ogm? Why 2 different projects? Why not ditch one and concentrate
> on one?

Matroska is a different project group... i think they represent two
different philosophies... matroska is more a kitchen sink format, whereas
ogg is an absolute bare bones format. Which you think is better really
depends on what your opinion of how generic is too generic and how specific
is too specific.

> Why www.xiph.org don't provide any info about ogm? I was not able to find
> specs. Also, xiph.org doesn't link to any of ogmtools site.

Because  they don't support it.


More information about the Theora mailing list