[MPlayer-users] release of ogmtools 0.5

Moritz Bunkus moritz at bunkus.org
Wed Jul 24 18:58:02 CEST 2002


Hi folks.

A few days ago I released the first version of 'oggmerge' and
'ogmdemux'. I've packaged both (and the new 'ogminfo') together into
the ogmtools. They are not finished by far - but I'd like to release
often and early. So here's v0.5.

I encourage everyone to try them AFTER reading the README (which is
included below) and to provide feedback about bugs, missing
functionality (if it isn't already mentioned in the README) and so on.

http://www.bunkus.org/videotools/ogmtools/

README:

OGMtools 0.5
============

These tools allow information about (ogminfo) or extraction
from (ogmdemux) or creation of (ogmmerge) OGG media streams.
Note that I'll use OGM for "OGG media streams".

Base code taken from Ogg/Vorbis CVS repository at
http://www.xiph.org/

You need the transcode sources unpacked somewhere:
http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/
You don't have to install the complete transcode package (of course I
recommend using transcode :)). If you only need the avilib from
transcode then run the following commands:

cd /where/you/put/transcode
./configure
cd avilib
make

Prior to running './configure' you should run './autogen.sh'.
Now run './configure --with-avilib-prefix=/where/you/put/transcode/avilib'
followed by 'make'. 'oggmerge -h' shows usage information.

This code comes under the GPL (www.gnu.org). Modify as needed.

Moritz Bunkus <moritz at bunkus.org>


ogminfo
=======

This program lists all streams contained in an OGM inlucding
information about the codecs used.

Output of 'ogminfo -h':
Usage: ogminfo [-hv] inname
       inname      Use 'inname' as the source.
       -v          Be verbose and show each OGG packet.
       -h          Show this help.

If -v is used then additional information for each OGG packet
are output aswell (bytes in this packet, its granulepos,
its header length and 'content length in samples' if applicable).

What works:
- OGM with Vorbis audio, 'normal' video (like DivX etc.), audio
  streams (PCM etc.), although this is not very thoroughly tested.

What not works:
- The older header created by older OggDS (DirectShow) filter
  versions are not supported.
- Text streams are not supported.

Planned functionality:
- Support for all stream types including text streams (subtitles).

ogmdemux
========

This program extracts all or only some streams from an OGM and
writes them to separate files.

Output of 'ogmdemux -h':
Usage: ogmdemux [-v|-o outname|-a track|-nv] -i inname
       -i inname   Use 'inname' as the source.
       -o outname  Use 'outname' as the base for destination file names.
                   '-v1', '-v2', '-a1', '-a2'... will be appended to this name.
                   Default: use 'inname'.
       -a track    Extract specified audio track. Can be used more than once.
                   Default: extract all tracks.
       -d track    Extract specified video track. Can be used more than once.
       -na         Don't extract any audio track.
       -nv         Don't extract any video track.
                   Default: extract all tracks.
       -v          Increase verbosity.
       -h          Show this help.

It should be pretty straight-forward to use.

What works:
- Extraction of Vorbis and 'normal' audio and video streams into raw
  files. No headers are generated.

What not works:
- The older header created by older OggDS (DirectShow) filter
  versions are not supported.
- Text streams are not supported.

Planned functionality:
- Extraction into useful container formats. Example: extract video
  into an AVI container, extract PCM audio into a WAV container.
  Most formats need such a container.

ogmmerge
========

This program takes the input from several media files and joins
their streams (all of them or just a selection) into an OGM.
It was formerly known as 'oggmerge' and is based on the 'oggmerge'
CVS module from Xiph.org's repository.

Output of 'ogmmerge -h':
ogmmerge [-o out | --output out ] [-tadAD] <file1> [<file2> ...]

 Options for each input file:
  -t, --type <type>       force file type to <type>; see -l.
                          default: auto-detection based on extension.
  -a, --atracks <n,m,...> copy the n'th, m'th... audio track
                          default: copy all audio tracks
  -d, --vtracks <n,m,...> copy the n'th video track, NOT track no. n
                          default: copy all video tracks
  -A, --noaudio           don't copy any audio track from this file
  -D, --novideo           don't copy any video track from this file

 Other options:
  -l, --list-types        lists supported input file types
  -h, --help              this help
  -v, --verbose           verbose status
  -q, --quiet             suppress status output
  -V, --version           print version information

For each file the user can select which tracks ogmmerge should take.
They are all put into the file specified with '-o'. A list of known
(and supported) source formats can be obtained with the '-l' option.

What works:
- AVI as the video source
- OGG as the Vorbis audio source
- WAV as the audio source works partially (works nicely with mplayer)

What not works:
- Track selection. Although the usage information show all the switches
  there just is no code for the selection yet. An AVI source always
  renders its (first) video stream. The Vorbis module processes only
  a single Vorbis stream.
- PCM audio from a WAV renders a file that can be correctly played back
  with mplayer but not under Windows using the OggDS filters. I'm
  working on it.
- Text streams are not supported.

Planned functionality:
- correct support for PCM audio and other audio formats (MP3 and AC3)
- multi-channel audio support
- support for subtitles/text streams
- track selection

-- 
 ==> Ciao, Mosu (Moritz Bunkus)




More information about the MPlayer-users mailing list