Ogg

From XiphWiki
Revision as of 05:43, 27 May 2007 by Conrad (talk | contribs) (add links to libraries)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The Ogg transport bitstream is designed to provide framing, error protection and seeking structure for higher-level codec streams that consist of raw, unencapsulated data packets, such as the Vorbis audio codec or Theora video codec.

Design constraints for Ogg bitstreams

  • True streaming; we must not need to seek to build a 100% complete bitstream.
  • Use no more than approximately 1-2% of bitstream bandwidth for packet boundary marking, high-level framing, sync and seeking.
  • Specification of absolute position within the original sample stream.
  • Simple mechanism to ease limited editing, such as a simplified concatenation mechanism.
  • Detection of corruption, recapture after error and direct, random access to data at arbitrary positions in the bitstream.

Projects using Ogg

Development Libraries

The Ogg encapsulation format can be handled with the following libraries:

  • libogg: libogg svn (C, cross-platform) Low-level Ogg parsing and writing.
  • liboggz: liboggz svn or liboggz (C, cross-platform) liboggz wraps libogg and provides features such as seeking.
  • the Ogg Directshow filters: see illiminable (C++, Win32)
  • HOgg (Haskell)

External links