The Ogg container format
Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs. As with all Xiph.org technology is it an open format free for anyone to use.
As with most container formats it encapsulates raw compressed data and allows the interleaving of audio and video data inside a single convient format. Other examples of container formats are Quicktime .mov, the MPEG program stream, and AVI.
In addition to encapsulation and interleave of multiple data streams, Ogg provides packet framing, error detection, and periodic timestamps for seeking, and in a small, bounded percentage bitrate overhead.
Ogg is a stream oriented container, meaning it can be written and read in one pass, making it a natural fit for internet streaming and use in processing pipelines. This stream orientation is the major design difference over other file-based container formats.
Technical documentation on the Ogg container is available for the following areas:
- General structural overview
- Detailed header and parsing specification
- Issues and practices for multiplexed Ogg streams
- The Ogg Skeleton Metadata Bitstream
The recommended MIME type for Ogg files and network streams depends on content. For video, audio, and applications there's video/ogg, audio/ogg and application/ogg respectively.
The Ogg bitstream format is also documented in the following IETF RFCs:
- RFC 3533 The Ogg Encapsulation Format Version 0 (IETF mirror)
- RFC 5334 Ogg Media Types (IETF mirror)