DragonFly On-Line Manual Pages
recmpeg(1) recmpeg recmpeg(1)
NAME
recmpeg - simple video encoder
SYNOPSIS
recmpeg [options] [output_file] [input_file]
DESCRIPTION
recmpeg is a simple video encoder based on the fame library.
It can encode MPEG-1, MPEG-4 rectangular, and MPEG-4 arbitrary shaped
videos.
The input sequence must be provided in uncompressed raw YUV 4:2:0
format (also called YV12). Each frame of the sequence starts from the
top left corner to the bottom right, with width*height pixels for the
luminance component (Y), and width/2*height/2 for the each of the two
chrominance components (U, V), each packed together, in Y, U, V order.
Width and height of the sequence are not provided in input file. Thus
the input sequence has the following structure:
[ frame 1 Y ][ frame 1 U ][ frame 1 V ][ frame 2 Y ] ...
output_file and/or input_file can be specified but are not required. If
no input_file is specified, standard input will be used instead. If no
ouput_file is specified, standard output will be used instead.
OPTIONS
--help Show usage information.
--verbose
Show information about the progress of the encoding.
--profile
Select the profile to use. "mpeg1", "mpeg4" and "mpeg4_shape"
are currently supported. When this option is not specified, the
default is "mpeg1".
--motion
Select the motion estimation algorithm to use. "none", "pmvfast"
and "fourstep" are currently supported. When this option is not
specified, the default is "pmvfast".
--refresh
Number of frames before outputing a new sequence header. This
option is useful for example when broadcasting output to a
network to allow users to start decoding in the middle of a
sequence. The default is to generate only one sequence header at
the beginning of the output stream.
--fps Number of frames per second of the input sequence. When not
specified, the default is 25. Fractional frame rates are
allowed.
--search
Specifies the search window, in pixel unit, for motion
estimation. Small values give better result on slow motion
videos, whereas bigger values work better with fast motion. The
default is 16 pixels.
--alpha
Quality of the shape coding in percent. Lower quality will
produce smaller bitstream. The default is 100% since shape data
is often negligible compared to video data.
--buffer
Size of the output bitstream buffer. This should be set
according to the size of the video being coded. Prediction over
a large number of frames and large frame sizes require a greater
output buffer. The default is set to 1Mbyte, which should be
enough for nearly all videos. The unit is in bytes but Kbytes
and Mbytes can be specified by appending a K (resp. an M) to the
number (e.g. 4M).
--bitrate
Use fixed bitrate. The unit is in bits per second but Kbits/s
and Mbits/s can be specified by appending a K (resp. an M) to
the number (e.g. 4M). When this option is used, quality will
vary according to the complexity of the scene, and thus the
--quality option becomes irrevelant. The default is to use fixed
quality. Note that the actual bitrate after encoding may be
slightly different from the one specified here.
--quality
Quality of the encoded video in percent. The lower quality, the
smaller encoded bitstream. When using fixed quality, bitrate may
vary depending on the complexity of the scene, thus the
--bitrate option becomes irrevelant. The default is to use fixed
quality 75%.
--coding
Specifies the order and type of frames to be coded. Currently
supported frame types are 'I' for intra frames (completely
coded) and 'P' for predicted frames (estimated from preceding
'I' or 'P' frame). Other types such as 'B' (bidirectionnal) or
'S' (sprite) are *not* yet supported. The default is "I", i.e.
intra frames only. Coding must always begin with an I frame,
thus "IP" is valid whereas "PI" is not.
--picture
Specifies the picture size in the sequence. It can be either
specified in widthxheight format, or by using names such as CIF
(352x288), SIF (352x240) or QCIF (176x144). The default is CIF.
EXAMPLES
recmpeg -v video.mpg video.yuv
For encoding a simple MPEG-1 video, and see what's going on.
recmpeg -q 50 -P mpeg4 video.cmp video.yuv
For encoding a simple MPEG-4 video at 50% quality.
recmpeg -P mpeg4_shape video.cmp video.yuv video.seg
For encoding an MPEG-4 video with shape coding.
recmpeg -c IP video.mpg video.yuv
For encoding an MPEG-1 video with motion compensation.
RESTRICTIONS
buffer must be large enough to contain encoded data. There is no
checking of buffer overflow as this would be too slow. Encoding of B
frame is not yet supported.
SEE ALSO
FAME home page at http://fame.sourceforge.net
AUTHOR
The recmpeg utility and FAME library were written by Vivien Chappelier,
Thomas Cougnard and Damien Vincent.
recmpeg July 29, 2001 recmpeg(1)