Ogg


Ogg is a free, open standard container format maintained by the Xiph.Org Foundation. The Ogg format is unrestricted by software patents and is designed to provide for efficient streaming and manipulation of high quality digital multimedia.

The name ‘Ogg’ refers to the file format which can multiplex a number of separate independent free and open source codecs for audio, video, text (such as subtitles), and metadata.

In the Ogg multimedia framework, Theora provides a lossy video layer, while the music-oriented Vorbis codec most commonly acts as the audio layer. The human speech compression codec Speex, lossless audio compression codec FLAC, and OggPCM may also act as audio layers.

The term ‘Ogg’ is commonly used to refer to audio file format Ogg Vorbis, that is, Vorbis-encoded audio in the Ogg container. Previously, the .ogg file extension was used for any content distributed within Ogg, but as of 2007, the Xiph.Org Foundation requests that .ogg be used only for Vorbis due to backward compatibility concerns. The Xiph.Org Foundation decided to create a new set of file extensions and media types to describe different types of content such as .oga for audio only files, .ogv for video with or without sound (including Theora), and .ogx for applications.

The current version of the Xiph.Org Foundation's reference implementation, released on 27 November 2005, is libogg 1.1.3. Another version, libogg2when?, is also available from the Xiph.Org Foundation's SVN repositories. Both software libraries are free software, released under the new BSD license.

Because the format is free, and its reference implementation is non-copylefted, Ogg's various codecs have been incorporated into a number of different free and proprietary media players, both commercial and non-commercial, as well as portable media players and GPS receivers from different manufacturers.
It is sometimes assumed that the name Ogg comes from the character of Nanny Ogg in Terry Pratchett's Discworld novels. However, it derives from ogging, jargon from the computer game Netrek which came to mean doing something forcefully, possibly without consideration of the drain on future resources. At its inception, the Ogg project was thought to be somewhat ambitious given the power of the PC hardware of the time.
The Ogg bitstream format, spearheaded by the Xiph.Org Foundation, has been created as the framework of a larger initiative aimed at developing a set of components for the coding and decoding of multimedia content which are available free of charge and are freely re-implementable in software.

The format consists of chunks of data each called an Ogg Page. Each page begins with the "OggS" string to identify the file as Ogg format.

A serial number and page number in the page header identifies each page as part of a series of pages making up a bitstream. Multiple bitstreams may be multiplexed in the file where pages from each bitstream are ordered by the seek time of the contained data. Bitstreams may also be appended to existing files, a process known as chaining, to cause the bitstreams to be decoded in sequence.

A BSD-licensed library, called libogg, is available to encode and decode data from Ogg streams. Independent Ogg implementations are used in several projects such as RealPlayer and a set of DirectShow filters.