[ogg-dev] HOgg Release 0.4.1

Conrad Parker conrad at metadecks.org
Mon Dec 22 22:21:42 PST 2008

HOgg 0.4.1 Released

The HOgg package provides a commandline tool for manipulating Ogg files,
and a corresponding Haskell library. HOgg is in hackage, or on the web at:


This is the fourth public release. The focus is on correctness of Ogg
parsing, production and editing. The capabilities of the hogg commandline
tool are roughly on par with those of the oggz* [0] tools.

HOgg supports chained and multiplexed Ogg bitstreams conformant with
RFC3533[1]. HOgg can parse headers for CELT, CMML, FLAC, OggPCM, Speex, Theora
and Vorbis media codecs, and can read and write Ogg Skeleton bitstreams.

[0] Oggz: http://www.annodex.net/software/liboggz/index.html
[1] RFC3533: http://www.ietf.org/rfc/rfc3533.txt

New in this release

This release is updated for Hackage, the Haskell source packaging system.

The hogg tool contains a new subcommand for generating man pages, "hogg man".
Additionally, an autogenerated version of the main hogg man page (hogg.1)
is distributed with the source tarball.

Hackage Installation

HOgg is in Hackage, at:

If you have the Hackage "cabal" system installed, simply run:

    $ cabal update
    $ cabal install hogg

Source Tarball Installation

I am very interested in hearing about problems with building or installing
the package, particularly from people who are not yet familiar with building
from Haskell source. You need ghc instead of gcc; it compiles to a binary:

    $ cabal configure
    $ cabal build
    $ cabal install

(A ./Setup.hs is also included, which may be used in place of the "cabal"
command if that not present).

Building of this release has been tested with:
  * GHC version 6.8.2 [2]
  * The Haskell build system "Cabal" version [3]

The GHC and Cabal versions listed above span the packages available in most
current distributions. I've tested on Debian unstable and Ubuntu 8.10. I'm
particularly interested to hear reports of build success or failure on other
distributions or operating systems.

[2] GHC: http://www.haskell.org/ghc/
[3] Cabal: http://www.haskell.org/cabal/


$ hogg help
Usage: hogg <subcommand> [options] filename ...

  hogg is a commandline tool for manipulating Ogg files. It supports chained
  and multiplexed files conformant with RFC3533. Hogg can parse headers for
  CELT, CMML, FLAC, PCM, Speex, Theora and Vorbis, and can read and write Ogg
  Skeleton logical bitstreams.

  help          Display help for a specific subcommand (eg. "hogg help chop")
  man           Generate Unix man page for a specific subcommand (eg.
"hogg man chop")

  info          Display information about the specified files and
their bitstreams
  dump          Hexdump packets of an Ogg file
  pagedump      Display page structure of an Ogg file
  dumpraw       Dump raw (unparsed) page data

  rip           Rip selected logical bistreams from an Ogg file (default: all)
  reconstruct   Reconstruct an Ogg file by doing a full packet demux

  chop          Extract a section (specify start and/or end time)
  merge         Merge, interleaving pages in order of presentation time
  sort          Rewrite with correct page ordering
  addskel       Write a Skeleton logical bitstream

  known-codecs  List codecs known by this version of hogg

Please report bugs to <ogg-dev at xiph.org>

New subcommand man

$ hogg help man
man: Generate Unix man page for a specific subcommand (eg. "hogg man chop")
Usage: hogg man [options]

  Generate a man page for the "hogg chop" subcommand:
    hogg man chop

  -h, -?  --help     Display this help and exit
  -V      --version  Output version information and exit

$ hogg man man
.TH HOGG 1 "December 2008" "hogg" "Annodex"

.B hogg
.RI man


Source code is available from the darcs repository at:

  darcs get http://www.kfish.org/~conrad/software/hogg/

Tarballs are available from:




More information about the ogg-dev mailing list