Converts to a different frame rate
see also :
yuvscaler - lavpipe - lav2yuv - mpeg2enc
[-r Num:Den] [-s Num:Den]
[-i Interlacing] [-I
Interlacing] [-c] [-n] [-w]
[-v 0-2] [-h]
add an example, a script, a trick and tips
cat "$VIDEO1" | yuvfps -s 50:1
-r $FRAMERATE | yuvmotionfps -t 1024 -r
50:1 -s 0 -p 10 -b 8 > "$VIDEO0"
# Muunnos dv-muotoon
cat stream.yuv | \
yuvfps -r 30000:1001 -v 0 | \
mpeg2enc --sequence-length 4300 --nonvideo-bitrate 238 --aspect 2
-f 8 \
is a general (UP or DOWN) resampling utility that is
provided to allow the generation of video streams with the
frame rates required for each standard video format.
yuvfps reads a YUV4MPEG stream from the standard
input and outputs a YUV4MPEG stream to the standard output
in which frames from the original ones are skipped
(downsampling) or duplicated (upsampling). This allows for
other mjpegtools that require a specific frame rate to
process the stream.
uses by default Bresenham’s algorithm to do the
resampling so that the new video stream is similar to the
original one. Note, however, that downscaling is a
non-reversible operation because frames are dropped.
Moreover, the resulting video stream may not have the exact
same duration as the original one if the new frame rate is
not a whole multiple of the original rate.
alternative to simply dropping or duplicating frames each
output frame/field can be produced as a weighted average of
the two temporally closest input frames/fields. In this
mode, yuvfps can also change the interlacing mode of
also can "fix" the framerate specified in the
YUV4MPEG header. This allows for the generation of effects
(fast-forwarding, slow motion) and also when the source
stream has some framerate that is very close, but not
exactly, the rate required for some standard video (for
example, 24.9 vs 25).
resulting stream frame rate.
frame rate in the input stream and assumes this frame rate
for the input stream.
interlacing mode of the resulting stream. The interlacing
mode can be changed only when using the weighted average
resampling mode (the -w option).
p - progressive
t - top-field first
b - bottom-field first
interlacing mode information in the input stream and assumes
this interlacing mode for the input stream. The possible
values are the same as for the -i option.
Changes the stream header frame rate and interlacing
mode in the output stream but copies frames from the
original stream without changes. The -r and -i options
specify the frame rate and interlacing mode for the output
By default yuvfps tries to find a normalized framerate.
Some programs create framerates like: 29969909:1000000 which
is actually th typical NTSC framerate of 30000:1001. yuvfps
prints out the normalizes values and the original when it
starts. If you think the normalized value is not correct and
want yuvfps to use the original given number you have to add
that option. So yuvfps does not try to normalize the
Produce each output frame/field as a weighted average of
the two temporally closest input frames/fields instead of
simply dropping or duplicating frames. The blending of two
adjacent frames/fields reduces visible stepping compared to
the default drop/duplicate algorithm but as a drawback it
makes fast moving objects appear blurred and is much
0 = warnings and error messages only.
1 = add informative messages, like the framerate
2 = add chatty debugging message, too.
mjpegtools, lavpipe , lav2yuv
This man page
was written by Alfonso García-Patiño
Johannes Lehtinen added information about the weighted
average resampling mode and the related options.
If you have questions, remarks, problems or you just want to
contact the developers, the main mailing list for the
For more info, see our website at