Split ogg/ogm files into several smaller ogg/ogm files
ogmsplit [options] inname
ogmsplit can be used to easily split an OGM file after a given size. Several OGM files will be created that each start with a keyframe.
inname
Use 'inname' as the source.
-o, --output out
Use 'out' as the base name. Ascending part numbers will be appended to it. Default is 'inname'. Examples:
1) If -o output.ogg is given on the command line then ogmsplit will create output-000001.ogg, output-000002.ogg and so on.
2) If no -o option is given and the input's name is movie.ogm then ogmsplit will create movie-000001.ogm and so on.
The operation mode can be set with exactly one of -s, -t, -c or -p. The default mode is to split by size (-s).
-s, --size size
Size in MiB ( = 1024 * 1024 bytes) after which a new file will be opened (approximately). Default is 700MiB. Size can end in 'B' to indicate 'bytes' instead of 'MiB'.
-t, --time time
Split after the given elapsed time (approximately). 'time' takes the form HH:MM:SS.sss or simply SS(.sss), e.g. 00:05:00.000 or 300.000 or simply 300.
-c, --cuts cuts
Produce output files as specified by cuts, a list of slices of the form "start-end" or "start+length", separated by commas. If start is omitted, it defaults to the end of the previous cut. start and end take the same format as the arguments to -t.
-n, --num num
Don't create more than num separate files. The last one may be bigger than the desired size. Default is an unlimited number of files. Can only be used with -s or -t.
--frontend
Frontend mode. Progress output will be terminated by \n instead of \r.
-p, --print-splitpoints
Only print the key frames and the number of bytes encountered before each. Useful to find the exact splitting point.
-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.
ogmsplit correctly handles chapter information. During the first pass the chapter information, if any is present, will be adjusted to match the output files generated. Chapters that are not contained in the current output file are removed entirely. The other chapters are renumbered to start at 1, and their timestamps will be recalculated.
Example: If your source file contains these four chapters:
CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 01
CHAPTER02=00:10:00.000
CHAPTER02NAME=Chapter 02
CHAPTER03=00:20:00.000
CHAPTER03NAME=Chapter 03
CHAPTER04=00:25:00.000
CHAPTER04NAME=Chapter 04
and you split after 15 minutes, then the first output file will only contain the first two chapters as shown above, and the second output file will contain the following two chapters and the remaining part of the first:
CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 02 (continued)
CHAPTER02=00:05:00.000
CHAPTER02NAME=Chapter 03
CHAPTER03=00:10:00.000
CHAPTER03NAME=Chapter 04
Note that only variable names are changed, not the chapter names themselves. The exception is the first chapter of the second and following files where "(continued)" is appended in order to indicate that this is not the start of this chapter. If you want to change them as well you'll have to remerge the resulting file with a new chapter file.
ogmsplit was written by Moritz Bunkus <[email protected]>.
The newest version can always be found at
<http://www.bunkus.org/videotools/ogmtools/>