[FFmpeg-user] Reducing frame rate without reencoding
Sven C. Dack
sven.c.dack at sky.com
Thu Oct 27 00:07:21 EEST 2016
On 26/10/16 20:06, Ronald F. Guilmette wrote:
> Apologies if this is an FAQ.
> I have a video with a fixed frame rate of 59.940 fps. Some of my devices
> don't cope with this very well. Thus, I'd like to convert the video to
> one with exactly half the frame rate (29.970), but preferably without
> doing any reencoding, e.g. just by stripping away every odd numbered
> frame (or every even numbered one).
> Is there a way to do this with ffmpeg, and if so, what is the command
> line to do it?
this is only possible when the input is composed of absolute frames, i.e. with
Motion JPEG. Your video will probably have been compressed with one of the more
advanced algorithms and these purposely do not treat frames as absolute, but use
their differences for their encoding. As such can you not drop every second
frame, because you don't have full frames and dropping some of the intermediate
frame information means you lose vital information for reconstructing the frames.
If you want to change the frame rate then you have to use the "-r" option. For
$ ffmpeg -i input.mp4 -r 29.97 -c:v libx264 -y output.mp4
More information about the ffmpeg-user