[speex-dev] Re: [vorbis-dev] Re: [theora-dev] Re: Ogg Internet Drafts - create application/ogg-vorbis, application/ogg-tarkin, etc.

Conrad Parker conrad at vergenet.net
Fri Jan 3 20:06:25 PST 2003



On Fri, Jan 03, 2003 at 05:21:47PM -0600, Chris Hanson wrote:
> At 12:00 AM +1100 1/4/03, Silvia.Pfeiffer at csiro.au wrote:
> >Therefore, it will be difficult to maintain a
> >generic application that will be able to interprete any random Ogg file,
> >because the Ogg container by itself does not know what kind of data it
> >carries.
> 
> An issue that I've brought up time and again.
> 
> QuickTime movies are made up of _tracks_ with particular types. 
> (Like "audio" and "video" and "effects.")
> 
> _Tracks_ are made up of _track media_ using particular CODECs.  (Like 
> "Sorensen" and "Motion JPEG" and "Animation" and "AC3.")
> 
> _Track media_ are made up of _samples_.
> 
> Because QuickTime is a complete multimedia architecture, it's 
> possible to write an application that can open and manipulate tracks 
> within an arbitrary movie; QuickTime knows how to get the right 
> samples to the right CODECs at the right time, mix them, and give 
> them to your application in the format you've asked for.  For 
> instance, I can write an application that renders a particular video 
> track from a movie into a buffer, without knowing a thing about the 
> CODECs used by the track media in that video track.
> 
> Ogg has always appeared to me to correspond only to the _track media_ 
> and _sample_ layers of a QuickTime movie.  So you still need to know 
> what all the CODECs are and how to use them individually to 
> manipulate what should be general data in the file.  Please, somebody 
> correct me if I'm wrong.

yep, Ogg is only intended to be a container format. Monty's done a damn
good job of separating that bit of functionality from everything else,
which is why Ogg is so easy to pick up and use for new purposes.

the equivalent of a multimedia architecture would be something like
GStreamer, with which you can write an application that renders a video
into a buffer, without knowing anything about the file's container format
(eg. Ogg, AVI, QT) or the codecs used at all. So maybe what you're looking
for is something like a combination of Ogg + GStreamer.

OTOH QuickTime merges all these functions: it has a file format (containing
CODECS, synchronising tracks etc.), it provides a generic API for encoding
and decoding, and for completeness you can also load up files in other
container formats like MPEG and decode them using that API.

So, the design goals of Ogg and of QuickTime are quite different -- Ogg is
not designed to provide everything that QT gives you, but you can combine
it with other things to get that functionality.

Conrad.
www.metadecks.org
--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Speex-dev mailing list