[libannodex-dev] oggzmerge behaviour

Conrad Parker conrad at metadecks.org
Thu Nov 18 10:58:47 EST 2004


On Wed, Nov 10, 2004 at 04:47:17PM +1100, Jamie Wilkinson wrote:
> This just got filed on oggz-tools:
> 
> http://bugs.debian.org/280550
> 
> Any ideas, friendly annodex hackers?

oggzmerge merges ogg files together. For example, you might have an
ogg/theora video file, and its soundtrack stored separately as an
ogg/speex audio file, and you can use oggzmerge to create a single
ogg file containing the video and audio, interleaved together in
parallel.

so, what this guy is doing is taking 5 ogg/vorbis music files, and
creating a big ogg file containing all 5 in parallel, ie. interleaved
for simultaneous playback.

such a file is legal Ogg, but not "Ogg Vorbis" -- the Ogg Vorbis spec
defines an Ogg Vorbis file as an Ogg file containing only one vorbis
stream at a time (ie. no parallel multiplexing), so normal music players
(which use libvorbisfile) aren't designed to play it. However, players
which are designed for full Ogg support (like Helix) can, because they
simply demux the ogg stream and set up whatever decoders are required,
in this case 5 vorbis stream decoders. In general, video players, and
anything built on a multimedia framework (like gstreamer, directshow
etc.) will probably be able to handle such files, but basic music
players won't.

finally, perhaps what the guy wants is to create a file containing the
five songs sequenced one after another. In Ogg this is called
"chaining", and is legal Ogg Vorbis. To chain files you just concatenate
them together -- 'cat' is the right tool for the job. Perhaps the only
bug here is that this issue, and use of 'cat', should be mentioned in the
oggzmerge man page :)

Conrad.



More information about the libannodex-dev mailing list