VIDEOZ

MP4 · HLS · FLV · Media inspector

Check whether a video has a variable frame rate (VFR)

A video has a variable frame rate when its frames don’t all last the same amount of time — common in phone and screen recordings. VFR can cause audio drift and stutter in Premiere Pro and other editors. Drop an MP4 or MOV below: VideoZ reads every frame’s duration and reports the real frame-rate range.

Drop an MP4 file or click to browse

click or drag & drop

Last updated

How VideoZ detects VFR

MP4 and MOV files store each frame’s duration in the stts (time-to-sample) table. VideoZ reads the whole table, so it checks every frame without decoding anything — instant even for hour-long recordings. Tiny differences of up to 1% (for example 23.976 fps stored in a 90 kHz timescale) are treated as constant.

Some tools estimate the frame rate from the start of the file only, so a recording that switches frame rate partway through can be reported as constant.

Where VFR comes from

  • Phone cameras, which can lower the frame rate in low light
  • Screen recorders and meeting recordings, which only emit frames when the screen changes
  • Game capture and streaming software under load

How to convert to constant frame rate

Converting requires a re-encode. Pick the frame rate of your editing project; CRF 18 is visually near-lossless for H.264. In HandBrake, choose “Constant Framerate” in the Video tab.

ffmpeg -i input.mp4 -vf fps=30 -c:v libx264 -crf 18 -c:a copy output.mp4

Frequently asked questions

Is variable frame rate bad?
Not for playback — players handle it fine. It is a problem for editing, where timelines assume a fixed frame rate and audio can drift out of sync.
Why does MediaInfo say my file is constant frame rate?
MediaInfo and some editors inspect only part of the file. VideoZ checks the duration of every frame in the stts table.
Does VideoZ check fragmented MP4?
Not yet. Fragmented MP4 stores frame timing per fragment, and VideoZ reports that it was not checked rather than guessing.

Sources

Related