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]>

RELATED TO mpegcat…