mpgtx(1)

NAME
mpgtx, mpgsplit, mpgcat, mpgjoin, mpginfo, mpgdemux - manipulate mpeg files

SYNOPSIS
mpgtx command [ options ] file [ range | file ] ...

DESCRIPTION
mpgtx can split and join MPEG files in various ways. Three file types are currently handled (more to come): MPEG 1 Video files, MPEG 1/2 Audio files (mp1, mp2, and mp3), MPEG 1 System files (audio and video files), MPEG 2 Program files (Experimental), MPEG 2 Transport files (demultiplex and info modes only). mpgtx is a GOP (Group of Pictures) based editor. This means that mpgtx cuts MPEG files on a Group Of Picture basis, not on a frame-by-frame basis. A typical GOP duration is about 0.5 sec (approx. 15 frames), limiting the maximum accuracy of mpgtx.

COMMANDS

-i  prints information about files, such as duration, dimention, bitrate, etc.

-j  joins files (ranges may be specified, see the RANGES section).

-s  splits files according to the specified ranges (see the RANGES section).

-d  demultiplexes composite mpeg file.

-T  manipulates ID3v1 tags from mp3 files (see tagmp3(1)).

-h  prints a (not so) short help message.

-v  prints version and exit.

-#  where # is a number, splits the given files in # parts.

--force
    enables joining of incompatible files (some players are very robust)

--no-parachute
    prevents mpgtx to try to catch SIGSEGV signal. This is usefull for debugging.

In addition, when invoked with the names mpgjoin, mpgcat, mpgsplit, mpgdemux, tagmp3 or mpginfo, mpgtx will modify its behaviour in the following ways:
mpginfo behaves as mpgtx -i
mpgsplit behaves as mpgtx -s
mpgjoin behaves as mpgtx -j
mpgcat behaves as mpgtx -j -o -
mpgdemux behaves as mpgtx -d
tagmp3 behaves as mpgtx -T

OPTIONS

-f  force overwriting of files, never ask.

-Ax Change aspect ratio of mpeg. Valid are 1,2,3,4 for 1:1, 4:3, 16:9, 2.2:1

-P  Keep junk or unusual headers in splits

-X  Desperate mode, search the whole movie for a valid PACK. In addition with option -N no search information will be displayed, only the end summary.

-N  Suppress progress output to the console. Speeds up operation a little on most Systems and much on Macintosh OS9.
    Suppress time line check in mpginfo mode.

-b NAME
    each output file will have the basename NAME

-o FILE
    FILE will be used as the output file (used with the join command). if FILE is -, standard output will be used.

RANGES
Each range must follow a filename or another range. A range in an MPEG file can be specified using one of this three notations: Note for OSX Users: Ranges must be enclosed in single or double Quotes!

[a-b]
    from value a inclusive to value b inclusive. If you want half opened ranges, you may want to use ]a-b], [a-b[ or ]a-b[.

[n/ntot]
    the n th part out of ntot. [1/4] would result in the first quarter of the specified file.

{a-b-...}
    with a , b , ... in ascending order. Split specified file at given boundaries. {55M} therefore means from beginnig of file to 55Megs and from 55Megs to the end of file.

VALID VALUES
Values of ranges can be specified in seconds or as a byte offset.

Time Format
    HH:MM:SS.SS where the HH: part can be omited

Offset Format
    a number optionally followed by M for Megabytes k for kilobytes

Omitted Values
    An empty value is valid and is equivalent to the corresponding file boundary:
    [-10M] are the first 10 Megabytes of the file.
    [1:10:04-] from 1 hour 10 minutes 4 seconds to the end of file.

RETURN VALUE
All programs return 0 upon successful completion and 1 on failure.

EXAMPLES

mpgjoin movie1.mpg [-0:32] [45M-75M] movie2.mpg -o joined.mpg
    joined.mpg will contain the first 32 seconds of movie1.mpg followed by 30 Megs of movie1.mpg starting at 45 Megs followed by the whole file movie2.mpg

mpgtx -124 myfile.mpg -b output
    will split myfile.mpg in 124 parts with names output-001.mpg to output-124.mpg

mpgtx -i Wazzup.mp3
    will print infos about given file such as duration, bitrate, but also album, track, song name if this file has an ID3 tag.

mpgcat myfile.mpg [2/2] | lpr
    will redirect the second half of myfile.mpg to your printer, emptying it from toner and paper and make you be fired by your boss... Use carefully.

BUGS
Plenty of them :)
GOP (Group of Picture) based: well this is not a bug but it's a limitation. As explained in the DESCRIPTION section, this limits the accuracy of mpgtx on joins and splits to approximately 15 frames, or 0.5 seconds.
Some artifacts can be seen with bad MPEG players playing joined files. These players don't take into account the broken link flag used to discard the first B frames they encounter. This is a bug in their MPEG decoding engine, not mpgtx.

AUTHOR
Laurent Alacoque <laureck@users.sourceforge.net> CopyLeft 2001.
Modified by Chris Danis <danish@debian.org>, copyleft 2001.
Philipp Biermann <philipp@biermann.org>, copyleft 2002.
Erik Schanze <schanzi_@gmx.de>, copyleft 2004.
Get new releases and information from, and send patches, bugs, girls, money etc. to:
http://mpgtx.sourceforge.net/

THANKS
for your attention. Have a good day.
Godmar Back and Brent Phillips helped me to tune the command line interface.
Volker Moell patiently teach me how to build rpms. Danke Volker.
Jean Fransisco Sytem (alias Nicolas Schieli) helped me correct some nasty bugs.
Thank you guys.