FPS is defined as number of frames per second. But when I try to calculate FPS using total frames / duration, I get slightly different number than the FPS shown in ffmpeg:
For this video http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4 using ffmpeg, we can get its FPS, duration and total frames:
ffprobe -select_streams v -show_streams ForBiggerFun.mp4 | grep nb_frames
nb_frames=1440
ffmpeg -i ForBiggerFun.mp4
23.98 fps Duration: 00:01:00.07
If we calculate duration per frame using nb_frames, we get fps = nb_frames/Duration = 1440/60.07 = 23.972032628599965, which is different from 23.98
Which value is more reliable? Does the difference means duration of a frame might be different from others (frames are not evenly distributed)?