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>