Oggz 0.9.8 Release ------------------ Oggz comprises liboggz and the command-line tools oggzinfo, oggzdump, oggzdiff, oggzmerge, oggzrip, oggz-chop, oggz-comment, oggz-scan, oggz-sort and oggz-validate. oggz-chop can be used to serve time ranges of Ogg media over HTTP by any web server that supports CGI. liboggz is a C library providing 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. This release is available as a source tarball at: http://www.annodex.net/software/liboggz/download/liboggz-0.9.8.tar.gz New in this release: -------------------- This release adds a new oggz-chop tool, which can be used to serve time ranges of Ogg media over HTTP. It also includes support for the Ogg mapping of the experimental Kate codec (http://wiki.xiph.org/index.php/OggKate), as well as various bugfixes and documentation improvements. Details: -------- Tools: * Added new oggz-chop tool: Extract the part of an Ogg file between given start and/or end times. See below for usage information. * oggz-sort: Detect and fix page granulepos that should be -1 but isn't; fixes file error "on page with no completed packets, must be -1" reported by oggz-validate. (Timothy B. Terriberry) * oggz-validate: Handle tracking of bos and eos when checking pages, not packets. * oggz-validate: Generalized A/V header ordering to handle more audio types (PCM, FLAC0, FLAC, CELT) * oggz-comment: Fixed a crash when writing output to stdout, eg. by running "oggz-comment file.ogv -a". Reported by j^ * oggz-comment: Fixed a bug where files with skeleton could not have their comments modified or listed. Reported by j^ * oggzinfo: Fixed crash if a skeleton track refers to a track not found in the physical stream. (ogg.k.ogg.k) * oggzinfo: Fixed an overflow in standard deviation calculation, and avoided a divide by zero, in the unlikely case where we have only one packet. (ogg.k.ogg.k) * oggzinfo: remove memory leak from allocated message headers (ogg.k.ogg.k) * oggzinfo: Fixed byte offsets for reporting skeleton basetime. * oggzinfo: Corrected calculation of Content-Duration to take the Presentation-Time reported in skeleton * oggzinfo: Display percentage overhead of Ogg framing for each track. (ogg.k.ogg.k) * oggz-basetime: Use new API call oggz_stream_get_numheaders(), rather than hardcoding to 3. (ogg.k.ogg.k) * oggzdiff: Allow diffing files with the same name if they are in different directories. (ogg.k.ogg.k) Documentation: * Added a usage example to oggzrip man page, showing how to create an Ogg Vorbis I file from any file containing a vorbis audio track. Adapted from: http://lists.xiph.org/pipermail/vorbis-dev/2008-April/019320.html * Clarified documentation of oggz_table_insert() * Added link to celt-codec.org in oggz_seek docs Build: * Fixed out-of-tree builds in configure and Makefile.am throughout Internal: * Added support for the Kate codec throughout (ogg.k.ogg.k) * tools/skeleton.c: add fisbone_clear() function, for deallocating message headers. (ogg.k.ogg.k) oggz-chop: General usage and CGI installation --------------------------------------------- oggz-chop extracts the part of an Ogg file between given start and/or end times. The output file contains copies of the headers of the input file, and all the codec data required to correctly decode the content between the start and end times specified on the commandline. For codecs with data dependencies like video keyframes, the keyframe prior to the starting time will be included in the output. An Apache server can be configured to use oggz-chop to handle all Ogg files (or, all Ogg files in a particular directory). An example Apache configuration is in the liboggz source tree, along with a script for installing it on a Debian server. The oggz-chop binary checks if it is being run as a CGI script (by checking some environment variables), and if so acts based on the CGI query parameter t=, much like mod_annodex. It accepts all the time specifications that mod_annodex accepts (npt and various smpte framerates), and start and end times separated by a /. About Oggz ---------- Oggz comprises liboggz and the command-line tools oggzinfo, oggzdump, oggzdiff, oggzmerge, oggzrip, oggz-chop, oggz-comment, oggz-scan, oggz-sort and oggz-validate. 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. The entire test suite can be run under valgrind if available. * 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. * 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, CMML, CELT and Ogg Skeleton 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. Full documentation of the liboggz API, customization and installation, and mux and demux examples can be read online at: http://www.annodex.net/software/liboggz/html/ Tools ----- The Oggz source tarball also contains the following command-line tools, which are useful for debugging and testing Ogg bitstreams: * oggzinfo: Display information about one or more Ogg files and their 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. * oggzmerge: Merge Ogg files together, interleaving pages in order of presentation time. * oggzrip: Extract one or more logical bitstreams from an Ogg file. * oggz-chop: Extract the part of an Ogg file between given start and/or end times. * oggz-comment: List or edit comments in an Ogg file. * oggz-scan: Scan an Ogg file and output characteristic landmarks. * oggz-sort: Sort the pages of an Ogg file in order of presentation time. * oggz-validate: Validate the Ogg framing of one or more files. License ------- Oggz is Free Software, available under a BSD style license. More information is available online at the Oggz homepage: http://www.annodex.net/software/liboggz/index.html enjoy :) -- Conrad Parker, Annodex Association http://www.annodex.net/
Oggz 0.9.8 Release ------------------ Oggz comprises liboggz and the command-line tools oggzinfo, oggzdump, oggzdiff, oggzmerge, oggzrip, oggz-chop, oggz-comment, oggz-scan, oggz-sort and oggz-validate. oggz-chop can be used to serve time ranges of Ogg media over HTTP by any web server that supports CGI. liboggz is a C library providing 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. This release is available as a source tarball at: http://www.annodex.net/software/liboggz/download/liboggz-0.9.8.tar.gz New in this release: -------------------- This release adds a new oggz-chop tool, which can be used to serve time ranges of Ogg media over HTTP. It also includes support for the Ogg mapping of the experimental Kate codec (http://wiki.xiph.org/index.php/OggKate), as well as various bugfixes and documentation improvements. Details: -------- Tools: * Added new oggz-chop tool: Extract the part of an Ogg file between given start and/or end times. See below for usage information. * oggz-sort: Detect and fix page granulepos that should be -1 but isn't; fixes file error "on page with no completed packets, must be -1" reported by oggz-validate. (Timothy B. Terriberry) * oggz-validate: Handle tracking of bos and eos when checking pages, not packets. * oggz-validate: Generalized A/V header ordering to handle more audio types (PCM, FLAC0, FLAC, CELT) * oggz-comment: Fixed a crash when writing output to stdout, eg. by running "oggz-comment file.ogv -a". Reported by j^ * oggz-comment: Fixed a bug where files with skeleton could not have their comments modified or listed. Reported by j^ * oggzinfo: Fixed crash if a skeleton track refers to a track not found in the physical stream. (ogg.k.ogg.k) * oggzinfo: Fixed an overflow in standard deviation calculation, and avoided a divide by zero, in the unlikely case where we have only one packet. (ogg.k.ogg.k) * oggzinfo: remove memory leak from allocated message headers (ogg.k.ogg.k) * oggzinfo: Fixed byte offsets for reporting skeleton basetime. * oggzinfo: Corrected calculation of Content-Duration to take the Presentation-Time reported in skeleton * oggzinfo: Display percentage overhead of Ogg framing for each track. (ogg.k.ogg.k) * oggz-basetime: Use new API call oggz_stream_get_numheaders(), rather than hardcoding to 3. (ogg.k.ogg.k) * oggzdiff: Allow diffing files with the same name if they are in different directories. (ogg.k.ogg.k) Documentation: * Added a usage example to oggzrip man page, showing how to create an Ogg Vorbis I file from any file containing a vorbis audio track. Adapted from: http://lists.xiph.org/pipermail/vorbis-dev/2008-April/019320.html * Clarified documentation of oggz_table_insert() * Added link to celt-codec.org in oggz_seek docs Build: * Fixed out-of-tree builds in configure and Makefile.am throughout Internal: * Added support for the Kate codec throughout (ogg.k.ogg.k) * tools/skeleton.c: add fisbone_clear() function, for deallocating message headers. (ogg.k.ogg.k) oggz-chop: General usage and CGI installation --------------------------------------------- oggz-chop extracts the part of an Ogg file between given start and/or end times. The output file contains copies of the headers of the input file, and all the codec data required to correctly decode the content between the start and end times specified on the commandline. For codecs with data dependencies like video keyframes, the keyframe prior to the starting time will be included in the output. An Apache server can be configured to use oggz-chop to handle all Ogg files (or, all Ogg files in a particular directory). An example Apache configuration is in the liboggz source tree, along with a script for installing it on a Debian server. The oggz-chop binary checks if it is being run as a CGI script (by checking some environment variables), and if so acts based on the CGI query parameter t=, much like mod_annodex. It accepts all the time specifications that mod_annodex accepts (npt and various smpte framerates), and start and end times separated by a /. About Oggz ---------- Oggz comprises liboggz and the command-line tools oggzinfo, oggzdump, oggzdiff, oggzmerge, oggzrip, oggz-chop, oggz-comment, oggz-scan, oggz-sort and oggz-validate. 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. The entire test suite can be run under valgrind if available. * 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. * 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, CMML, CELT and Ogg Skeleton 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. Full documentation of the liboggz API, customization and installation, and mux and demux examples can be read online at: http://www.annodex.net/software/liboggz/html/ Tools ----- The Oggz source tarball also contains the following command-line tools, which are useful for debugging and testing Ogg bitstreams: * oggzinfo: Display information about one or more Ogg files and their 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. * oggzmerge: Merge Ogg files together, interleaving pages in order of presentation time. * oggzrip: Extract one or more logical bitstreams from an Ogg file. * oggz-chop: Extract the part of an Ogg file between given start and/or end times. * oggz-comment: List or edit comments in an Ogg file. * oggz-scan: Scan an Ogg file and output characteristic landmarks. * oggz-sort: Sort the pages of an Ogg file in order of presentation time. * oggz-validate: Validate the Ogg framing of one or more files. License ------- Oggz is Free Software, available under a BSD style license. More information is available online at the Oggz homepage: http://www.annodex.net/software/liboggz/index.html enjoy :) -- Conrad Parker, Annodex Association http://www.annodex.net/
Conrad - thanks for the great work on this. Here are some observations with release oggzchop, using http://128.114.20.64/media/senate_proceeding_07-09-08.ogg?t=0:15:22/0:20:00 as test stream. VLC: when playing the stream over the net, VLC's playhead does not move and the time index stays at 0:00:00. However, when the above is saved locally (I used curl -O), it behaves ~normally. The start time even begins at 15:22, even though it's the front of the file (which is pretty cool :D) and the playhead moves as normal. Quicktime via xiphQT (on intel mac): Audio and video are not in sync - both when streaming the file and playing it locally. If I play the file from the beginning (as opposed to 15m22s in) things are in sync so I'm assuming something is happening at a keyframe... Peace, Aphid Conrad Parker wrote:> Oggz 0.9.8 Release > ------------------ > > Oggz comprises liboggz and the command-line tools oggzinfo, oggzdump, > oggzdiff, oggzmerge, oggzrip, oggz-chop, oggz-comment, oggz-scan, oggz-sort > and oggz-validate. oggz-chop can be used to serve time ranges of Ogg media > over HTTP by any web server that supports CGI. > > liboggz is a C library providing 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. > > This release is available as a source tarball at: > > http://www.annodex.net/software/liboggz/download/liboggz-0.9.8.tar.gz > > New in this release: > -------------------- > > This release adds a new oggz-chop tool, which can be used to serve time > ranges of Ogg media over HTTP. It also includes support for the Ogg mapping > of the experimental Kate codec (http://wiki.xiph.org/index.php/OggKate), > as well as various bugfixes and documentation improvements. > > > Details: > -------- > > Tools: > > * Added new oggz-chop tool: Extract the part of an Ogg file between > given start and/or end times. See below for usage information. > > * oggz-sort: Detect and fix page granulepos that should be -1 but > isn't; fixes file error "on page with no completed packets, must be > -1" reported by oggz-validate. (Timothy B. Terriberry) > > * oggz-validate: Handle tracking of bos and eos when checking pages, > not packets. > * oggz-validate: Generalized A/V header ordering to handle more audio > types (PCM, FLAC0, FLAC, CELT) > > * oggz-comment: Fixed a crash when writing output to stdout, eg. by > running "oggz-comment file.ogv -a". Reported by j^ > * oggz-comment: Fixed a bug where files with skeleton could not have > their comments modified or listed. Reported by j^ > > * oggzinfo: Fixed crash if a skeleton track refers to a track not > found in the physical stream. (ogg.k.ogg.k) > * oggzinfo: Fixed an overflow in standard deviation calculation, > and avoided a divide by zero, in the unlikely case where we have > only one packet. (ogg.k.ogg.k) > * oggzinfo: remove memory leak from allocated message headers > (ogg.k.ogg.k) > * oggzinfo: Fixed byte offsets for reporting skeleton basetime. > * oggzinfo: Corrected calculation of Content-Duration to take the > Presentation-Time reported in skeleton > * oggzinfo: Display percentage overhead of Ogg framing for each > track. (ogg.k.ogg.k) > > * oggz-basetime: Use new API call oggz_stream_get_numheaders(), > rather than hardcoding to 3. (ogg.k.ogg.k) > > * oggzdiff: Allow diffing files with the same name if they are in > different directories. (ogg.k.ogg.k) > > Documentation: > > * Added a usage example to oggzrip man page, showing how to create an > Ogg Vorbis I file from any file containing a vorbis audio track. Adapted > from: http://lists.xiph.org/pipermail/vorbis-dev/2008-April/019320.html > > * Clarified documentation of oggz_table_insert() > > * Added link to celt-codec.org in oggz_seek docs > > Build: > > * Fixed out-of-tree builds in configure and Makefile.am throughout > > Internal: > > * Added support for the Kate codec throughout (ogg.k.ogg.k) > > * tools/skeleton.c: add fisbone_clear() function, for deallocating > message headers. (ogg.k.ogg.k) > > > oggz-chop: General usage and CGI installation > --------------------------------------------- > > oggz-chop extracts the part of an Ogg file between given start and/or end > times. The output file contains copies of the headers of the input file, and > all the codec data required to correctly decode the content between the start > and end times specified on the commandline. For codecs with data dependencies > like video keyframes, the keyframe prior to the starting time will be included > in the output. > > An Apache server can be configured to use oggz-chop to handle all Ogg files > (or, all Ogg files in a particular directory). An example Apache configuration > is in the liboggz source tree, along with a script for installing it on a > Debian server. > > The oggz-chop binary checks if it is being run as a CGI script (by checking > some environment variables), and if so acts based on the CGI query parameter > t=, much like mod_annodex. It accepts all the time specifications that > mod_annodex accepts (npt and various smpte framerates), and start and end > times separated by a /. > > > About Oggz > ---------- > > Oggz comprises liboggz and the command-line tools oggzinfo, oggzdump, > oggzdiff, oggzmerge, oggzrip, oggz-chop, oggz-comment, oggz-scan, oggz-sort > and oggz-validate. > > 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. > The entire test suite can be run under valgrind if available. > > * 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. > > * 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, > CMML, CELT and Ogg Skeleton 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. > > Full documentation of the liboggz API, customization and installation, > and mux and demux examples can be read online at: > > http://www.annodex.net/software/liboggz/html/ > > Tools > ----- > > The Oggz source tarball also contains the following command-line tools, > which are useful for debugging and testing Ogg bitstreams: > > * oggzinfo: Display information about one or more Ogg files and > their 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. > > * oggzmerge: Merge Ogg files together, interleaving pages in order > of presentation time. > > * oggzrip: Extract one or more logical bitstreams from an Ogg file. > > * oggz-chop: Extract the part of an Ogg file between given start > and/or end times. > > * oggz-comment: List or edit comments in an Ogg file. > > * oggz-scan: Scan an Ogg file and output characteristic landmarks. > > * oggz-sort: Sort the pages of an Ogg file in order of presentation > time. > > * oggz-validate: Validate the Ogg framing of one or more files. > > License > ------- > > Oggz is Free Software, available under a BSD style license. > > More information is available online at the Oggz homepage: > > http://www.annodex.net/software/liboggz/index.html > > enjoy :) > > -- > Conrad Parker, Annodex Association > http://www.annodex.net/ > _______________________________________________ > theora mailing list > theora at xiph.org > http://lists.xiph.org/mailman/listinfo/theora > >