I have a code which capture screen and make a video from the screenshots using OpenCV. So if I change fps to 60 in my videoWriter object(video lasts 10 seconds or more) will play for 1 second. As I understood, higher FPS makes video faster and lower FPS makes it's slower. Could you explain for me why it works that way?
- 1FPS = Frames per second. That says everything.Doch88– Doch882021-04-09 14:14:30 +00:00Commented Apr 9, 2021 at 14:14
- I know that, but the main problem is that when I set FPS to 60 it's much faster than the same video with FPS = 30. I don't understand why it gets faster? Could you explain please?Little Max– Little Max2021-04-09 14:44:42 +00:00Commented Apr 9, 2021 at 14:44
- 1Because the number of frames that are contained in the video is fixed. If you change the FPS you will change the number of frames that are shown in a single second. Therefore, you will speed up the video.Doch88– Doch882021-04-09 14:50:36 +00:00Commented Apr 9, 2021 at 14:50
Add a comment |
1 Answer
Imagine you record a video for 4 seconds with 2 FPS. You'll record 8 frames in total:
Now suppose you double the frame rate to 4 FPS. This tells your video player to show 4 frames every second, so those 8 frames are now shown to the viewer in 2 seconds - a speed up of the video.
2 Comments
Little Max
Thank you for the answer! I understand what you mean, but problem is that when I record 10 seconds in 30 FPS, after that when I play it there is no 30FPS because it's too fast. So my 10 seconds video recorded with 30 FPS is played for 5 seconds but if I record around 14 FPS it's similar to 30 FPS by the speed. Or maybe I don't understand something, thanks in advance!
Christian Vorhemus
It could be helpful if you edit your question and share a sample video file, maybe one recorded in 14 FPS and one with 30

