in short: I set -r 25 , but I see in the converting process that it's fps=18. Why?

I am trying to convert a video to H.264 format using ffmpeg, and I am trying to set the framerate(out framerate) to 25. I am willing to accept more than 25 if possible but not below.
so I use this command:

ffmpeg -i Millionaire.mp4 -y -c:v libx264 -r 25 file.h264  

But I see that in the convertion process in the cmd that: fps=18
Now I understand that fps means "frames per second".
And right after I hit the enter key, it starts as fps=25 but then it drops by 1 every few seconds until it reaches 18.

The input file is 1.61 GB
ffmpeg version:
ffmpeg-20170130-cba4f0e-win64-static.zip 47340467 30-Jan-2017 06:02
from the website: https://ffmpeg.zeranoe.com/builds/win64/static/

System information:
i7-4702MQ CPU 2.20 GHZ
RAM = 8 GB
Windows 10 x64

Anybody knows why it doesn't stay on fps=25? And how can I force it to not drop below 25 fps?
Thank you

1 Answer 1


That's processing speed i.e. ffmpeg is encoding 18 frames per second, not the output file's framerate. You can set -preset fast to speed it up but again this has nothing to do with output file's framerate.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.