[theora] Oggz 0.9.8 Released

aphid aphid at ucsc.edu
Fri Jul 11 15:06:26 PDT 2008

Conrad - thanks for the great work on this.

Here are some observations with release oggzchop, using
 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 

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... 


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

More information about the theora mailing list