Oggz provides a simple programming interface for reading and writing Ogg
files and streams. Ogg is an interleaving data container developed by Monty
at Xiph.Org, originally to support the
Ogg Vorbis audio format.
The Oggz source tarball also contains the following command-line tools,
which are useful for debugging and testing Ogg bitstreams:
- oggzdump: Hexdump packets of an Ogg
file, or revert an Ogg file from such a hexdump.
- oggzdiff: Hexdump the packets of two
Ogg files and output differences.
Merge Ogg files together, interleaving pages in order of presentation time.
Extract one or more logical bitstreams from an Ogg file.
liboggz supports the flexibility afforded by the Ogg file format while
presenting the following API niceties:
- Full API documentation.
- Comprehensive test suite of read, write and seeking behavior.
- Developed and tested on GNU/Linux, Darwin/MacOSX, Win32 and Symbian OS.
May work on other Unix-like systems via GNU autoconf.
For Win32: nmake Makefiles,
Visual Studio .NET 2003 solution files and Visual C++ 6.0 workspace files
are provided in the source distribution.
- BSD style license.
- Strict adherence to the formatting requirements of Ogg bitstreams, to
ensure that only valid bitstreams are generated; writes can fail if you try
to write illegally structured packets.
- A simple, callback based open/read/close or open/write/close interface
to raw Ogg files.
- Writing automatically interleaves with packet queuing, and provides
callback based notification when this queue is empty
- A customisable seeking abstraction for seeking on multitrack Ogg data.
Seeking works easily and reliably on multitrack and multi-codec streams,
and can transparently parse Theora, Speex, Vorbis, FLAC and CMML headers
without requiring linking to those libraries. This allows efficient use on
servers and other devices that need to parse and seek within Ogg files,
but do not need to do a full media decode.
For encoding and decoding Vorbis and Speex audio files, we recommend you
use liboggz in conjunction with libfishsound.
Stable releases of liboggz are supplied as source tarballs:
MS Windows: k0r0n4 has made a build available in
liboggz is maintained in Subversion with anonymous read access. You can
check out the most current version of liboggz from here:
svn co http://svn.annodex.net/liboggz/trunk liboggz