OGMCAT(1)
OGMCAT π (the ogmcat manual, section 1, user commands bestie)
okay so listen, this is ogmcat β a little tool from the ogmtools fam that's supposed to smoosh a bunch of OGG/OGM files together into one big OGG/OGM file. that's the dream. that's the vision. the reality is... complicated (see below, i'm not gonna sugarcoat it π).
β¨ NAME β¨
ogmcat β concatenate several OGG/OGM files into one big OGG/OGM file π
πΈ SYNOPSIS πΈ
ogmcat [options] -o outname inname1 [inname2 [inname3 ...]]
π DESCRIPTION π
okay bestie, real talk first: ogmcat does NOT work at the moment. it's a work in progress, like a half-finished scrapbook. it got included anyway purely out of laziness β because otherwise the author would've had to remove it from the Makefile/configure stuff before releasing this version. iconic behavior honestly π«Ά
so, in theory: ogmcat can be used to concatenate several OGG/OGM files into one big file, as long as they're of the same type. for a more in-depth description, go read the LIMITATIONS section β that's where the real tea is. π
the flags, one by one π
-o,--outputoutname β output tooutname. that's your destination, your final form, your main character file πinname1β useinname1,inname2etc. as the sources. stack 'em up, babe.-m,--manualsyncn β 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 (peep the-soption). this one can be used for each input file, although it has no effect if used for the first one as well. sorry to the first file, you're just built different π₯²-s,--syncnr β uses sync modenr. valid values are0-4. the default value is shown onogmcat's help screen. go check it, it's right there π-n,--nosafetychecksβ disables the safety checks made prior to the concatenating. β οΈ the resulting file may be unplayable. see the LIMITATIONS section for further details. this is the "hold my boba" button.-v,--verboseβ be verbose and show each OGG packet. can be used twice to increase verbosity. twice! double the yapping, double the lore π₯-h,--helpβ show this help.-V,--versionβ show version information.
π LIMITATIONS π
ngl, concatenating streams is difficult at the best of times and might even be impossible. so 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. no cap, those are locked π
audio/video synchronization might not be okay 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.
and 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. you got this bestie πͺ
π AUTHOR π
ogmcat was written by Moritz Bunkus <moritz@bunkus.org>. shoutout to the author fr fr π«Ά
π¦ SEE ALSO π¦
ogmmerge(1), ogminfo(1), ogmdemux(1), ogmsplit(1), dvdxchap(1)
π WWW π
the newest version can always be found at <http://www.bunkus.org/videotools/ogmtools/> β¨
and that's the whole page, babe β this was ogmcat v1.5, from November 2004, and it lives in the OGMCAT(1) era of the manual. mwah, go forth and concatenate responsibly (or don't, it literally doesn't work yet π) ππ
π¦ where this page comes from
- arch rolling: ogmtools 1.5-12 Β· GPL
- debian bookworm: ogmtools 1:1.5-4.1+b1
- debian trixie: ogmtools 1:1.5-6
- fedora 43: ogmtools 1.5-40.fc43 Β· GPL-2.0-or-later
- fedora 44: ogmtools 1.5-41.fc44 Β· GPL-2.0-or-later
- nixos 26.05: ogmtools 1.5
- nixpkgs unstable: ogmtools 1.5
- opensuse-leap 16.0: ogmtools 1.5-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: ogmtools 1.5-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: ogmtools 1.5-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: ogmtools 1.5-bp160.1.12 Β· GPL-2.0-or-later
- ubuntu jammy: ogmtools 1:1.5-4.1
- ubuntu noble: ogmtools 1:1.5-4.1build2
- ubuntu questing: ogmtools 1:1.5-6
- ubuntu resolute: ogmtools 1:1.5-7 Β· GPL-2.0-only
- ubuntu stonking: ogmtools 1:1.5-7 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms