[FFmpeg-user] Framerate issues

Moritz Barsnick barsnick at gmx.net
Tue Oct 30 15:24:37 EET 2018


On Tue, Oct 30, 2018 at 08:01:59 -0500, Calvin Arndt wrote:
> I clearly select an output framerate of 7fps.
> My camera's set to limit each connection to 7fps (and I have verified 
> it is doing so).

[...]

> Why is fps=2.0? Totally not what I selected, nor what is provided by 
> camera.

It is a bit confusing if you don't understand what it means: It's the number of
output frames ffmpeg is *processing* per second - not the framerate of
the actual video.

> Why is drop=1320. The machine doing this is quite capable of the full 
> framerate.

You are grabbing input video at (presumably) 25 fps, but requesting
ffmpeg to output 7 fps. ffmpeg achieves this by dropping frames -
therefore, drops are reported.

Indeed, 7 / 25 is approximately equal to 515 / (1230 + 515).

> Resultant videos are the full 3600 seconds, but they play in 900 seconds!

Presumably, your input MJPEG stream doesn't have any timestamps (or
ffmpeg is incapable of processing them. ffmpeg assumes 25 fps when it
really is 7, therefore the speedup. You could tell ffmpeg via an
*input* option what the actual input framerate is. Or you can tell
ffmpeg to use wallclock timestamps, i.e. use the arrival time.

> frame=  515 fps=2.0 q=20.7 Lsize=    2069kB time=00:01:13.57 bitrate= 
> 230.3kbits/s dup=0 drop=1320

BTW, your ffmpeg is very old. Newer versions have a speed indicator,
possibly showing you that you are not capable of processing this video
in realtime (i.e. speed < 1.0x).

Cheers,
Moritz


More information about the ffmpeg-user mailing list