[Vorbis] storage format question.

Ralph Giles giles at xiph.org
Wed Jul 27 16:08:06 PDT 2005


On Wed, Jul 27, 2005 at 05:44:03PM -0500, Shashank Khanvilkar wrote:

> I read some documents on the ogg bitstream format (RFC3533) and it 
> appears that one cannot simply do a hex-edit and randomly cut the 
> bitstream.

Yes. For Ogg Vorbis (and other Xiph codecs in Ogg) you need to prepend 
the headers from the beginning of the stream to any cut-down version. 
The icecast streaming server, for example, does this to allow listeners
to play back a live stream beginning at the point where they connected 
to the server.

Note also that if you truncate an Ogg Vorbis stream it will technically 
be missing the 'eos' flag on the last page and may contain some junk 
data after the last complete packet, but tools will generally play it 
back fine.

> Actually, I think it is not required to store vorbis encoded bitstrean 
> in ogg containers. One can just store it as is, but one will have to 
> make a seperate decoder for that..

No it is not required. Logically, a vorbis compressed audio stream 
consists of a sequence of packets, and the decoder needs some external 
framework to tell it where the boundaries of those packets are. Ogg
provides this, but so could many other schemes.

Ogg is just the recommended native format for Vorbis when storing it on 
disk or transmitting over a network connection.

Hope that helps,
 -r


More information about the Vorbis mailing list