Provided by: mpegdemux_0.1.4-4_amd64 bug

NAME

       mpegdemux - MPEG1/2 system stream demultiplexer

SYNOPSIS

       mpegdemux [options] [input [output]]

DESCRIPTION

       mpegdemux(1)  is  an  MPEG1/MPEG2  system stream demultiplexer. It can be used to list the contents of an
       MPEG system stream and to extract elementary streams.

       mpegdemux(1) has four primary modes of operation:

       scan   In this mode the MPEG system stream is scanned for elementary streams.

       list   In this mode the contents of an MPEG system stream are listed in a textual form. This is useful to
              get an overview of what's in an MPEG file

       demux  In this mode elementary streams are extracted from an MPEG system stream. The system stream packet
              structure is dissolved in the process. Typically each extracted stream is written to its own file.

       remux  This is like demux, except that the MPEG system stream structure is left intact. This  means  that
              the output is again an MPEG system stream with all but the selected elementary streams removed.

OPTIONS

       -a, --ac3
              AC3  sound  packets  in  DVD  MPEG2  streams have a 3 byte header that is neither part of the MPEG
              specification nor of the AC3 specification. When this option is used, these 3 bytes are removed to
              produce  a  correct  AC3  stream. Note that this option applies to all selected substreams without
              checking whether they actually contain an AC3 elementary stream.

       -b, --base-name name
              When demultiplexing more than one stream, the output file names can be set using this  option.  To
              generate  the  output file name for a stream, every # character in name is replaced by a hex digit
              of the stream id. For example, to extract all video streams in one go, use something like

              $ mpegdemux -d -b video_##.m1v -s 0xc0-0xcf src.mpg

              to get files video_c0.m1v, video_c1.m1v, ...

       -c --scan
              Scan a system stream for elementary streams. This is the default mode. All streams and  substreams
              are automatically selected when using this option.

       -d, --demux
              Demultiplex an MPEG system stream. The demultiplexed streams are written to the output file unless
              the --base-name option is used. If the --base-name option is not used,  only  one  stream  can  be
              demultiplexed  (if  more  streams  are  specified, they will be randomly interleaved in the output
              file).

       -D, --no-drop
              Don't drop incomplete packets in demuxing and remuxing mode.

       -e, --no-end
              Don't print end codes in listing mode. Additionally, in remuxing mode, make  sure  that  there  is
              exactly one end code at the end of the stream.

       -E, --empty-packs
              When  streams  are removed during remuxing, packs can become empty. Including these empty packs in
              the output is pointless and therefore is not done by default. Use this option to  force  inclusion
              of all packs.

       -F, --first-pts
              In  scan  mode,  in  addition  to each stream's first packet, also list the packet with the lowest
              presentation time stamp.

       -h, --no-system-headers
              Don't print system headers in listing mode. Additionally, in remuxing mode,  don't  repeat  system
              headers.

       -i, --invalid spec
              Select  invalid  streams.  Packets  of  invalid  streams  are  not recognized as packets and their
              contents are parsed as MPEG system stream data rather than  being  skipped.  This  is  useful  for
              broken/incomplete  streams.  The  syntax for spec is the same as for -s.  Additionally, if spec is
              "-" then all streams that have not yet been selected by -s are made invalid.

       -k, --no-packs
              Don't print packs in listing mode.

       -K, --remux-skipped
              Copy bytes that are skipped while looking for a start code.

       -l, --list
              List the system headers, packs and packets in an MPEG system stream.

       -m, --packet-max-size size
              Set the maximum packet size to size. Packets in the input stream that are  larger  are  considered
              invalid.  As with the -i option, the packet is not simply skipped but parsed as MPEG system stream
              data.

       -p, --substream spec
              This option selects private substreams. Whenever Private Stream 1 (0xbd) is selected using -s, the
              substreams within that private stream can be selected using -p. The syntax for spec is the same as
              for -s.

       -P, --substream-map id1 id2
              Remap substream id1 to id2 when remuxing.

       -r, --remux
              Remultiplex an MPEG system stream. The output MPEG system stream is written to  the  output  file.
              Many options control what is copied from the input to the output and what is discarded.

       -s, --streams spec
              This option selects streams. spec specifies the stream IDs in the following form:

              [+|-]<id>[-<id>]{/[+|-]<id>[-<id>]}

              where  id is either a numeric stream ID or one of all or none. A "-" in front of an ID range means
              exclusion. For example the spec

              -s 0xc0-0xcf/-0xc2

              selects all video streams (0xc0 - 0xcf) except stream 0xc2.

       -S, --stream-map id1 id2
              Remap stream id1 to id2 when remuxing.

       -t, --no-packets
              Don't print packets in listing mode.

       -u, --spu
              This option is used to extract DVD subtitles. It is necessary because the subtitle streams on  DVD
              don't  contain all the timing information (the time stamps in the packet headers are required). If
              this option is used during demultiplexing, the output files for all substreams are written in  the
              following format:

              "SPU " (4 bytes)

              PTS (8 bytes, MSB first)
              SPU packet

              PTS (8 bytes)
              SPU packet

              and so on

       -x, --split
              Split  the remuxed stream at sequence boundaries. This option is only meaningful in remuxing mode.
              It can not be used together with the -e option. The individual  sequences  are  written  to  files
              whose name was set with the -b option.

       --help Print usage information

       --version
              Print version information

EXAMPLES

       Scan a system stream for elementary streams:

       $ mpegdemux -c -v src.mpg

       List the contents of an MPEG system stream:

       $ mpegdemux -l -k -s all -p all src.mpg

       Extract the first video stream:

       $ mpegdemux -d -s 0xe0 src.mpg dst.m1v

       Extract all audio streams:

       $ mpegdemux -d -s 0xc0-0xdf -b audio_##.mpa src.mpg

       Remove the second video stream:

       $ mpegdemux -r -s all/-0xc1 -p all src.mpg dst.mpg

       Extract the first AC3 audio stream from a DVD MPEG2 system stream:

       $ mpegdemux -d -s 0xbd -p 0x80 --ac3 src.mpg dst.ac3

       Exchange the first and the second audio stream:

       $ mpegdemux -r -s all -p all -S 0xc0 0xc1 -S 0xc1 0xc0 src.mpg dst.mpg

SEE ALSO

       mplex(1)

AUTHOR

       Hampa Hug <hampa@hampa.ch>