ogmcat(1) Concatenate several OGG/OGM files into one big OGG/OGM file


ogmcat [options] -o outname inname1 [inname2 [inname3 ...]]


ogmcat does NOT work at the moment. It is work in progress. I included it just out of laziness (otherwise I'd have to remove it from the Makefile/configure stuff prior to releasing this version).

ogmcat can be used to concatenate several OGG/OGM files into one big file if they are of the same type. For a more in-depth description refer to the LIMITATIONS section.

-o, --output outname
Output to 'outname'.
Use 'inname1', 'inname2' etc as the sources.
-m, --manualsync n
Specifies a manual sync value in ms that will be added to each stream's presentation timestamps along with the value calculated by the chosen sync algorithm (see the -s option). This option can be used for each input file although it has no effect if used for the first one as well.
-s, --sync nr
Uses sync mode nr. Valid values are 0 - 4. The default value is shown on ogmcat's help screen.
-n, --nosafetychecks
Disable the safety checks made prior to the concatenating. The resulting file may be unplayable. See the LIMITATIONS section for further details.
-v, --verbose
Be verbose and show each OGG packet. Can be used twice to increase verbosity.
-h, --help
Show this help.
-V, --version
Show version information.


Concatenating streams is difficult at the best and might even be impossible. Therefore ogmcat makes very strict comparisons between the streams contained in the input files. The checks done include:
general: All streams with the same serial number must be of the same type (video, audio, Vorbis audio or text streams).
general: If a stream exists in one file it must in the other files as well.
video streams: The codec FourCC, width, height and FPS must match.
Vorbis streams: The sample rate and the number of channels must match.
other audio streams: The codec ID, sample rate, bits per sample and number of channels must match.
text/subtitle streams: The 'time unit' must match.

The user can forcefully override the last four checks with the -n parameter. The checks marked as 'general' cannot be overridden this way.

Audio/video synchronization might not be ok in the resulting file even if the source files were perfectly in sync. The user can experiment with the -s parameter which causes ogmcat to use slightly different algorithms for calculating the granulepos values for the audio and text streams. The range of valid parameters will be printed on ogmcat's help screen.

If none of the synchronization algorithms provided works correctly then the user can also manually add a synchronization offset using the -m option for each input file.


ogmcat was written by Moritz Bunkus <[email protected]>.


The newest version can always be found at <http://www.bunkus.org/videotools/ogmtools/>