SYNOPSIS
mpegcat { options } { file }
DESCRIPTION
mpegcat dumps detailed textual information about an MPEG2 file. It also has an option for writing out a particular Packetized Elementary Stream (PES) given its id.
The original purpose of mpegcat was for debugging stream parsing issues in the gopchop cuts-only MPEG2 video editor, but it has more general utility.
OPTIONS
GENERAL OPTIONS
- -d,--debug
- Report debug info
- -D,--dvd-format
- Enable DVD packet extensions
- -h,-?,--help
- Help
- -w,--write FILE,0xID[,0xSID]
-
Write PES with id ID
(and subid SID) to FILE.
Sub Picture Unit (SPU) streams such
as overlays, subtitles and DVD menus extracted using this option
can be displayed using the companion
gtkspu utility.
To find SPU streams in a .VOB ripped from a DVD:
$ mpegcat -iDa VTS_01_0.VOB | grep SPU 131086: 0xBD: DVD Audio 0x20 (SPU 0): 2028 bytes (next marker @ 133120) 133134: 0xBD: DVD Audio 0x20 (SPU 0): 2028 bytes (next marker @ 135168) 137230: 0xBD: DVD Audio 0x20 (SPU 0): 190 bytes (next marker @ 137426) ...
To save a given stream:
$ mpegcat -iDaw dump.spu,0xBD,0x20 VTS_01_0.VOB > /dev/null
(And to view the stream)
$ gtkspu dump.spu 1 $ gtkspu dump.spu 2 $ gtkspu dump.spu 3 ...
PROCESSING TOGGLES
- -V,--enter-video
- Process video packets (forced by -t option)
GENERAL DISPLAY TOGGLES
- -p,--pack
- Toggle Pack packet start display
- -v,--video
- Toggle video ES packet start display
- -a,--audio
- Toggle audio ES packet start display
- -o,--other
- Toggle other stream display (only show video & audio)
- -y,--system
- Toggle system header display
- -e,--errors
- Toggle packet errors
- -i,--invert
- Invert all display toggles
VIDEO DISPLAY TOGGLES
- -s,--slices
- Toggle slice starts (default off)
- -q,--sequence
- Toggle sequence header display
- -g,--GOPs
- Toggle GOP header display
- -f,--frames
- Toggle Picture header display
SHORT CUTS
- -F,--just-frames
- Show only video frames (same as '-Vepvaoyq')
FILE OFFSET OPTIONS
- -b,--begin=NUM
- Start reading at offset NUM
- -n,--num=NUM
- Stop after reading NUM bytes
- -t,--scan-stream
- Scan every byte of the stream instead of using PES offsets (this can show erroneous 'start code emulation' codes)
AUTHOR
Kees Cook, <[email protected]>