Varying fps in Video?

Hi,

I have a setup that is supposed to record a video at 2 fps. However, when I check the frame rate it never is exactly 2.0 fps.

Can it be that the frame rate is slightly changing over the video?

What I mean: Is it possible that the time delay between two frames varies within a video?
And if yes: Is it possible to extract the exact time delays between the frames as an array of time delays, so that I can plot the time delays over frame number.

That's an odd thing to create, OK, colour me intrigued.

What kind of format is the original video in? I.E. Is the original recording at 29.97 frames per second? It might help to know more about the problem you are trying to solve because I can't figure out what anyone would need an exactly 2 frames per second video feed for.

time lapse i imagine. and when he speeds it up it must not look very smooth.

i used to fix webcam footage that had inconsistent frame rates by exporting it in a lower frame rate or whatever it's lowest frame rate it would dip down to. and then exporting frame blended to something higher.

but what your wondering is if theres a way for a program to detect every time a frame changes , and then reassemble the video to perfectly fit a consistent frame rate. i dont think so.

best bet is to put it in premiere and export the video as an actual 2fps file and premiere should automatically move the nearest frames into the correct place.

Particle Image Velocimetry based on a video from a camera.
It takes two pictures "compares" them and extract the distance the particles in the pictures moved in between the two frames. Then it calibrates this distance(in pixels) to a distance in cm and with the exact time delay between the frames the speed of the particles can be calculated.

If i now set the frame rate to 2.0 fps, but I get a varying time delay and an average frame rate of 1.98 fps, it will sometimes over estimate and sometimes under estimate the velocity of the particles.

This is not yet a deal breaker, as long as I can quantify by how much the time delay varies and what effect this has on the velocity estimate.
For this I need the exact time delays at which the pictures were taken. I do not want to change or fix the frame rate I want to know exactly what the time delays in my video are.

so the actual cameras frame rate isn't consistent essentially?

Not really. I just want to know the exact time delay between each set of frames. So either I get a camera that can capture in perfect 2.00 fps or I extract the exact time delays from the video. I don't want to reassemble the video afterward.

try filming a stopwatch running on at least a 60hz display so each milisecond will appear in the actual frame

or mixing in a stopwatch signal with your footage when recording

or just record in highspeed then move it down to 2fps so the camera captures more information more accurately than less information inaccurately

Thanks for the suggestions.
If I film a stopwatch I then have to extract the time delays from visual information. I have to have a program in place that automatically extract numbers from a picture. Plus, I don't have a stop watch precise enough.

I cannot capture at a higher frame rate, because I have a 4gb file limitation and my experiments run for several hours and over night.

Is there really no way to extract the time delays from the video directly?

if there's no information in the actual file that shows the errors in the time the camera actually captured , then i dont know how you would go about that.

essentially you need a frame of reference that keeps time in the real world and then inputs the information into the video to compensate for the inconsistent rate the camera is capturing in.

or.... you just find a way to record at a normal frame rate without a 4gb file limit which frankly in 2017 is very low.