mplex(1)
NAME
mplex - MPEG 1/2 program/system stream multiplexer
SYNOPSIS
mplex [-v|--vervose num] [-m|--mpeg 1|2] [-b|--videobuffer video_buffer_size_kB] [-r|--muxed-bitrate
muxed_bitrate_kbps] [-l|--mux-limit num] [-O|--sync-offset
num] [-f|--format format_code] [-V|--vbr] [-s|--sectorsize sector_size_B] [-p|--packets-per-pack num] [-h|--sys
tem-headers] [-S|--max-segment-size output_file_
size_limit_MB] [-M|--split-segment] [-?|--help] -o|--out
put output_filename_patterninput_file...
DESCRIPTION
Mplex is a general-purpose audio/video multiplexer for
MPEG-1/MPEG-2. It accepts one or more MPEG-1/2 video
stream, MPEG layer II/III audio streams and AC3 audio
streams and multiplexes them into a combined program/sys
tem stream according to the constraints specified. Many
different types of output structure are supported along
with presets for standard VCD and SVCD streams. These
latter can be burned to CD using tools such as vcdim
ager(1) and played in stand-alone players.
It is also capable of automatically splitting the output
stream into chunks of a specified size either indepen
dently or at sequence end/start points in the input video
stream.
GENERAL FUNCTION LETTERS
- -o|-output output_filename_pattern
- This (compulsorary) option sets the pattern for the
name(s) of output files. - An integer format code (e.g. %d) in the name is
replaced by the number of the file generated (see
printf(3)). - -v|--verbose num
- Set verbosity level to num:
0 - warnings and errors only,
1 - information as well,
2 - really verbose. - -?|--help
- Display a synopsis of the command syntax.
FUNCTION LETTERS
- -f|--format format_code
- This command allows one of a number of convenient
preset output formats or generic MPEG1 or MPEG2
output to be selected. For the generic formats
other function letters can be used to control many
aspects of the multiplexed stream. For
VCD/SVCD/DVD compliant output the corresponding
formats must be used as the standards require the
multiplexer to enforce a variety of special con
straints on the structure of the output stream.
0 - Generic MPEG1. A simple general-purpose MPEG1 - format primarily suitable for software decoders.
Buffer sizes and VBR must be specified. Bit-rate
can be auto-detected.1 - VCD. Standard VCD. Overrides other option - settings.
2 - User VCD. VCD format but buffer size, bit
- rate and VBR can be set manually.
3 - Generic MPEG2. Like 0 except MPEG2.
4 - SVCD. Standard SVCD. Overrides other option - settings.
5 - User-rate SVCD. SVCD format but buffer size
- bit rate and VBR can be set.
6 - VCD Stills stream (mixed mode with hi-res and
- standard-res image streams multiplexed are
supported).7 - SVCD Stills stream.
8 - DVD. Don't get too excited. This is really a - very minimal mux format. It includes empty
versions of the peculiar GOP start sectors
DVD VOB's include. This is enough to persuade
some hardware players to play the stream but
is a long way from full DVD authoring. - -r|--mux-bitrate num
- The total (non VBR) / peak (VBR) bit-rate of the
output stream in k Bits/sec. If unspecified and not
set by a preset it is automatically calculated from
the input stream. - -b|--video-buffer num
- The size of the video input buffer available in the
target decoder. The default is 46KB the (tiny)
size specified for VCD. The size to use for SVCD
is the (more reasonable) 230KB. If you are encod
ing for a half-decent software decoder it makes
sense to push this up to 500K or more. - -l|--mux-limit num
- Multiplex limit. Multiplex only the specified num
ber of sectors. Useful for tuning and debugging. - -O|--sync-offset num
- Set the presentation timestamp offset of video
stream w.r.t. audio stream (video-audio) in mSec.
This flag is used to produce a stream with synchro
nised audio/video when one stream started
before/after the other. This is common when
transcoding as the synchronisation information is
typically lost during the (seperate) decod
ing/encoding of audio and video. - -V|--vbr
- Set variable bit rate multiplexing. This is needed
to multiplex variable bit-rate video streams cor
rectly. - -s|--sector-size num
- This option specifies the sector size of the output
stream in bytes. - -p|--packets-per-pack num
- This option specifies the number of packets per
pack in the output stream. - -S|--max-segment-size num
- This option specifies the maximum size of output
files in MBytes (2^10). The default is 2000 Mbytes
(splitting output before 2G limits can hit). When
the limit is reached a new file is started. - Note: This option is not suitable for splitting a
long video across multiple VCD's or SVCD's. - It simply splits a single long sequence into in a
way that prevents bits of a video GOP(group of pic
tures) or audio frame being split between chunks.
frame reasonable. This is fine for formats like
that used for DVDs where all stream parameters
appear every GOP. However, for VCD / SVCD it won't
work as the players expect each file to start a new
MPEG sequence. - For VCD / SVCD a different technique is used. If
mplex encounters a sequence break (sequence end
followed by start) in the input video stream it
starts a new output stream and file at the sequence
start. Thus to split a long video across
VCD's/SVCD's you have to get the MPEG video encoder
to introduce sequence splits at the right points
(see mpeg2enc(1) for details of how to do this). - -M|--split-segment
- When splitting a long stream in files based on -S
mplex does a certain amount of careful "running
out" to prevent a GOP or audio frame being split.
This is wasteful for continuous bit-rate streams.
If the files are simply going to be concatenated
for playback this "run out" is superfluous and -M
turns it off. - -h|--system-headers
- A system header is generated in every pack rather
than just in the first.
DIAGNOSTIC OUTPUT
When multiplexing using mplex you may get warning or error
messages complaining about buffer underflow. This means
that the bit-rate you have specified is simply too low to
permit the video and audio to be played back without skip
ping. The fix is to either reduce the data-rate of the
input material or increased the output stream bit-rate.
BUGS
The multiplexer should handle AC3 and MPEG(5.1) audio too.
AUTHOR
- This man page was written by Andrew Stevens.
If you have questions, remarks, problems or you just want
to contact the developers, the main mailing list for the
MJPEG-tools is: - mjpeg-users@lists.sourceforge.net
- For more info, see our website at
- http://mjpeg.sourceforge.net