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

SEE ALSO

mpeg2enc(1), mp2enc(1), lavrec(1), lavplay(1), lav2yuv(1), lav2wav(1), yuvscaler(1)
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout