A phone recording starts in sync.

Twenty minutes later, the voice is a few frames ahead of the picture.

A screen recording plays correctly in one app but stutters in the editor. Captions land late. Multicam cuts slowly drift apart.

Variable frame rate often gets blamed. Sometimes it is the problem. Sometimes it is only the first clue.

The real issue is timing.

Quick answer

Constant frame rate, or CFR, uses evenly spaced video frames. A 30 fps CFR timeline expects one frame every 1/30 second.

Variable frame rate, or VFR, allows the time between frames to change. Each frame carries a presentation timestamp so playback can preserve real elapsed time.

VFR is common in phones, screen recorders, webcams, conferencing tools, and game capture because the device can reduce or vary frame output when the image is static, light is low, or system load changes.

A properly timestamped VFR file can play correctly.

Trouble begins when an editor, plug-in, caption tool, audio process, or export path treats those frames as evenly spaced—or when the capture itself contains broken timestamps, dropped frames, or clock drift.

For precise editorial work, convert troublesome VFR media to a known CFR format while preserving duration.

VFR vs CFR at a glance

PropertyConstant frame rateVariable frame rate
Frame timingRegular intervalsFrame durations may vary
Playback timingDerived from fixed cadencePreserved by timestamps
Editing compatibilityMost predictableDepends on software and timestamps
Storage efficiencyRecords at chosen cadenceCan reduce frames during static or constrained periods
Common sourcesCinema cameras, broadcast, conventional exportsPhones, screens, webcams, meetings, game capture
Best useEditing, interchange, delivery specsAdaptive capture and playback when supported

What constant frame rate means

A CFR file uses a regular frame cadence.

At true 30 fps, each frame occupies 1/30 second.

At 30000/1001 fps—commonly called 29.97—each frame occupies 1001/30000 second.

The count and duration remain predictable throughout the recording.

That makes CFR a strong fit for:

  • frame-accurate editing;
  • broadcast and delivery specifications;
  • multicam;
  • external audio;
  • captions;
  • visual effects;
  • timecode workflows;
  • interchange; and
  • long-form projects.

CFR does not guarantee perfect capture

A file can be labeled CFR and still contain problems.

The recorder may duplicate frames when the system cannot capture a new one. It may drop content while maintaining the nominal timeline. Audio may come from a drifting hardware clock.

CFR describes the output cadence.

It does not prove that every captured moment is unique or that every device clock remained locked.

What variable frame rate means

VFR stores frames with changing durations.

One frame might remain on screen for 33 milliseconds. Another may remain for 50. A later section may approach 60 fps.

The player follows presentation timestamps rather than assuming one fixed interval.

Average frame rate is not the full story

A one-minute VFR clip can average 29.97 fps without containing a steady 29.97 cadence.

The average tells you:

total decoded frames ÷ total duration

It does not reveal how individual frame durations vary.

A file inspector may report:

  • minimum frame rate;
  • maximum frame rate;
  • average frame rate;
  • nominal frame rate; and
  • frame-rate mode.

Those fields are useful, but timestamps are the authoritative evidence.

Every frame still has a place in time

VFR does not mean random playback speed.

A correctly authored file tells the player when each frame should appear.

The clip can remain the correct real-time duration even though the number of frames captured per second changes.

Timeline diagram comparing evenly spaced CFR frames with timestamped VFR frames

CFR uses equal frame durations. VFR can use unequal durations while timestamps preserve the same real playback time.

Why devices record VFR

VFR lets a recorder adapt.

Phones

A phone may change frame timing to balance:

  • exposure in low light;
  • heat;
  • battery use;
  • storage;
  • stabilization;
  • processing load; and
  • camera features.

Do not assume every phone clip is VFR. Inspect the actual file.

Screen recording

A static desktop does not need the same temporal detail as a fast-scrolling page or game.

A screen recorder may emit fewer frames while nothing changes, then increase cadence during motion.

System load can also interrupt capture timing.

Webcams and meetings

Network conditions, camera drivers, CPU load, and conferencing software can create variable frame timing or timestamp irregularities.

The recorded file may combine:

  • camera frames;
  • screen shares;
  • network-received media;
  • local audio; and
  • server-side processing.

Game capture

Game frame rate and recording frame rate are separate.

If the game or capture pipeline cannot sustain the target, the recorder may vary timestamps, repeat frames, or drop frames.

Security and low-bandwidth recording

Some systems deliberately reduce the frame count when a scene is static.

That can save storage without changing real elapsed time.

Why VFR can cause editing problems

NLE support has improved.

Many modern editors can import and play VFR media.

That does not make every downstream tool VFR-aware.

Frame-based tools expect a grid

Editing operations often rely on a regular sequence timebase.

Examples include:

  • frame-number references;
  • captions;
  • markers;
  • motion tracking;
  • stabilization;
  • multicam sync;
  • audio waveform caching;
  • frame interpolation;
  • plug-ins;
  • XML/AAF exchange; and
  • external review notes.

A VFR clip must be mapped onto that regular project grid.

The application can repeat, skip, or resample frames while preserving duration.

Different applications may make different choices.

Seeking can become less predictable

Interframe compression already requires neighboring frames for decoding.

Variable timestamps add another timing layer.

The combination can produce:

  • slow scrubbing;
  • inaccurate thumbnail positions;
  • delayed seeking;
  • mismatched proxy timing;
  • cache problems; or
  • inconsistent frame references.

Transcription and caption tools

A transcript may be timed against media timestamps, a nominal frame rate, or an exported audio file.

If the handoff changes the timing model, captions can drift even when the words remain in order.

For long-form transcription, normalize the media path before final caption timing.

Why audio drifts out of sync

VFR is one possible cause.

It is not the only cause.

1. Software assumes CFR

If software ignores per-frame timestamps and lays the frames onto a nominal cadence, video duration can change slightly.

Audio continues at its original duration.

The difference accumulates.

2. Broken or imprecise timestamps

A capture may contain timestamp gaps, overlaps, discontinuities, or rounding errors.

The source player may conceal them better than the NLE.

3. Separate hardware clocks

A camera and external audio recorder do not share a perfect clock unless they are synchronized or genlocked appropriately.

Even two files labeled 48 kHz can drift because their physical clocks run slightly fast or slow.

That is not a VFR problem.

4. Wrong audio sample-rate interpretation

Audio recorded or interpreted at the wrong sample rate can change duration.

For video, 48 kHz is the standard practical target.

A 44.1 kHz source can be used, but it should be resampled correctly rather than relabeled.

5. Dropped capture frames

A recorder can lose video frames under load while audio continues.

Depending on timestamp handling, the file may remain real-time with repeated images or become shorter than the audio.

6. Speed interpretation

Changing a clip’s interpreted frame rate changes playback speed.

Interpreting a 30 fps clip as 24 fps produces slow motion. It does not perform a duration-preserving CFR conversion.

Do not use Interpret Footage as a general VFR repair.

Diagram showing six possible causes of video and audio sync drift

VFR is one branch of sync diagnosis. Bad timestamps, independent clocks, sample-rate errors, capture load, and speed changes can look similar.

How to tell whether a file is VFR

Use MediaInfo

Open the text or tree view.

Look for:

  • Frame rate mode
  • Frame rate
  • Minimum frame rate
  • Maximum frame rate
  • Original frame rate
  • Duration

A result of Variable is useful evidence.

A result of Constant does not rule out bad timestamps or repeated frames.

Use ffprobe summary fields


ffprobe -v error \

  -select_streams v:0 \

  -show_entries stream=codec_name,r_frame_rate,avg_frame_rate,time_base,duration,nb_frames \

  -of default=noprint_wrappers=1 \

  "input.mp4"

Compare r_frame_rate and avg_frame_rate, but do not treat a mismatch as definitive proof by itself.

Container and demuxer reporting can vary.

Inspect frame timestamps


ffprobe -v error \

  -select_streams v:0 \

  -show_entries frame=best_effort_timestamp_time,pkt_duration_time \

  -of csv=p=0 \

  "input.mp4"

If frame timestamps or durations vary, the stream uses variable timing or contains irregular timestamps.

For a long file, write the output to a text file and analyze the deltas programmatically.

Compare audio and video duration


ffprobe -v error \

  -show_entries stream=index,codec_type,time_base,start_time,duration \

  -of table \

  "input.mp4"

A small duration difference can be normal because streams may begin or end on different sample boundaries.

A growing sync error needs deeper analysis.

How to diagnose the real sync problem

Step 1: play the untouched source

Use the original capture application and one independent player.

Ask:

  • Is sync already wrong?
  • Does the error stay constant?
  • Does it grow over time?
  • Does it jump at one point?

A constant offset and progressive drift are different problems.

Step 2: identify the pattern

SymptomLikely area
Same offset from beginning to endSlate/sync point, latency, edit placement
Drift grows steadilyClock mismatch, wrong timing assumption, sample-rate issue
Sudden jumpDropped frames, timestamp discontinuity, edit gap
Stutter without long-term driftFrame duplication/drop, decode load, bad cadence
Only one application is wrongApplication interpretation or cache
Proxy differs from originalProxy-generation or relink timing failure

Step 3: inspect timestamps and sample rate

Record:

  • frame-rate mode;
  • average/minimum/maximum rate;
  • time base;
  • video and audio start times;
  • stream durations;
  • audio sample rate; and
  • source clock arrangement.

Step 4: make a short CFR conversion

Convert a representative section to the intended project rate.

If sync and editing behavior improve, use the same controlled process on the full clip.

If drift remains, investigate audio clock and capture integrity.

How to convert VFR to CFR safely

The goal is usually:

preserve the clip’s real-time duration while placing video frames on a regular cadence

That requires duplication, dropping, or interpolation.

Duplication and dropping

Current FFmpeg documentation defines CFR mode as duplicating and dropping frames to achieve the requested constant rate.

This is the safest general conversion for documentary, meeting, phone, and screen recordings because it preserves real time without inventing blended motion.

Frame interpolation

Optical flow can create new frames.

Use it only when motion smoothness justifies the risk of artifacts around hands, hair, screens, cuts, and occlusions.

It is not required for normal VFR repair.

FFmpeg ProRes editing conversion

Choose the target rate based on the project. This example uses 30000/1001:


ffmpeg -i "input.mp4" \

  -map 0:v:0 -map 0:a? \

  -vf "fps=30000/1001" \

  -c:v prores_ks -profile:v 2 -pix_fmt yuv422p10le \

  -c:a pcm_s24le -ar 48000 \

  "output_CFR_2997_ProRes422.mov"

The fps filter creates the regular video cadence. Audio is resampled and stored at 48 kHz without being relabeled.

Encoding an 8-bit 4:2:0 source into 10-bit 4:2:2 ProRes does not restore missing source precision or chroma detail.

It creates a robust editing file.

FFmpeg H.264 conversion


ffmpeg -i "input.mp4" \

  -map 0:v:0 -map 0:a? \

  -vf "fps=30000/1001" \

  -c:v libx264 -preset slow -crf 17 -pix_fmt yuv420p \

  -c:a aac -b:a 320k -ar 48000 \

  -movflags +faststart \

  "output_CFR_2997.mp4"

Use a high-quality intermediate rather than H.264 when the file will undergo heavy editing or several renders.

Verify the result

Check:

  • duration;
  • sync at the start, middle, and end;
  • frame-rate mode;
  • repeated/dropped-frame cadence;
  • audio sample rate;
  • color tags;
  • orientation metadata;
  • resolution; and
  • pixel format.

Do not delete the original.

Choosing the target frame rate

Use the rate that matches the final project and dominant source.

Common targets

  • 24000/1001 for 23.976 projects
  • 24 for true 24 fps workflows
  • 25 for PAL-region and 50 Hz workflows
  • 30000/1001 for 29.97 projects
  • 30 for true 30 fps delivery
  • 50 or 60000/1001 for high-frame-rate motion
  • 60 for true 60 fps workflows

Do not casually replace 29.97 with 30 or 23.976 with 24.

The difference is small per second and significant over long durations.

Use the timeline rate, not the average VFR number

A VFR file might report 28.73 fps.

That is not a useful delivery standard.

If the recording was intended as a 30 fps source, convert to 29.97 or 30 based on the capture and project standard.

Preserve motion honestly

Converting a source that sometimes falls to 15 fps into 30 fps does not create 30 unique motion samples.

It produces a 30 fps timeline with repeated or generated frames.

Recommendations by source type

iPhone and phone video

Inspect every clip.

For short simple edits, modern NLEs may handle the originals well.

For long-form, external audio, multicam, or caption-critical work, normalize troublesome VFR sources first.

Screen recordings

Convert to the delivery or sequence rate before detailed zooms, callouts, captions, and sound sync.

Preserve native pixel dimensions and avoid unnecessary scaling in the transcode.

Zoom and meeting recordings

Test sync at the end of the longest file.

If the capture includes server-side composites or changing participants, expect timestamp irregularities and resolution changes.

Create a stable CFR mezzanine before editorial lock. Adobe Media Encoder is one practical way to manage repeatable transcodes.

OBS and game capture

Configure a sustainable recording rate and encoder load.

A nominal CFR setting cannot recover frames the system fails to capture.

Monitor dropped and skipped frames during recording.

External audio

VFR conversion will not fix independent recorder clock drift.

After the video is normalized, measure the remaining audio drift and apply a controlled time stretch if necessary.

Social downloads

Platform-downloaded files may have been remuxed or transcoded.

Treat them as delivery media. Normalize before precision editorial work.

Workflow for inspecting converting and verifying VFR video before editing

A safe conversion preserves elapsed time, verifies duration and sync, and keeps the original recording as the source of truth.

Common myths

Myth 1: VFR always causes audio drift

No.

A correctly timestamped VFR file can remain perfectly synchronized in compatible software.

Myth 2: The average frame rate tells me the real cadence

No.

It summarizes total frames over duration. It does not show individual frame intervals.

Myth 3: Interpret Footage converts VFR to CFR

No.

Frame-rate interpretation changes playback speed. A CFR conversion preserves duration by mapping frames to a regular timeline.

Myth 4: A file labeled CFR cannot contain dropped frames

No.

The recorder can repeat or omit visual moments while maintaining a constant output cadence.

Myth 5: Converting to 60 fps creates smooth 60 fps motion

No.

Without interpolation, it repeats existing frames. With interpolation, it invents frames and may create artifacts.

Myth 6: Audio drift is always a video problem

No.

Separate recorder clocks, sample-rate errors, and capture discontinuities can cause drift.

Myth 7: Transcoding automatically fixes every timestamp problem

No.

A controlled transcode can normalize timing, but broken source timestamps may require repair decisions and manual validation.

The practical bottom line

Use VFR for adaptive capture when the recording system and playback path support it.

Use CFR for predictable editing, interchange, captions, external audio, and delivery specifications.

When a phone or screen recording causes trouble, inspect timestamps first.

Convert to a known CFR editing format while preserving duration. Then verify sync at the beginning, middle, and end.

If drift remains, investigate clocks and audio timing rather than blaming frame rate alone.

Frequently asked questions

What is the difference between variable and constant frame rate?

CFR places frames at regular intervals. VFR allows frame durations to change and uses timestamps to preserve playback timing. CFR is more predictable for editing; VFR can be efficient for adaptive capture.

Does variable frame rate cause audio sync problems?

It can when software assumes a fixed cadence or timestamps are damaged. A correctly timestamped VFR file can remain in sync. Clock drift, sample-rate errors, and dropped capture frames can cause similar symptoms.

How do I know whether a video is VFR?

Check Frame rate mode in MediaInfo, compare average and nominal rates, and inspect per-frame timestamps with ffprobe. Timestamp deltas provide stronger evidence than one summary number.

Should I convert phone video to constant frame rate?

Convert it when the original causes stutter, sync drift, proxy mismatches, caption timing problems, or unreliable seeking. Short simple projects may work directly in a modern NLE.

What frame rate should I use when converting VFR?

Use the project’s intended standard rate and the source’s intended cadence—such as 23.976, 25, 29.97, or 59.94. Do not use an odd average VFR value as the sequence rate.

Does converting VFR to CFR reduce quality?

The timing conversion must duplicate, drop, or generate frames. The codec transcode can also introduce image loss. Use a high-quality intermediate and preserve the original.

Can HandBrake convert VFR to CFR?

HandBrake can create constant-frame-rate output when configured accordingly. Verify the resulting duration, frame-rate mode, sync, and color properties rather than relying only on the preset label.

Does Premiere Pro support variable frame rate?

Modern Premiere versions support many VFR files, but precise behavior still depends on the source timestamps, codec, plug-ins, proxies, and downstream workflow. Normalize media that remains unstable.

Why does my screen recording drift out of sync?

The recorder may use VFR, drop frames under load, write irregular timestamps, or capture audio from a different clock. Inspect both timing streams before choosing a repair.

Is 29.97 the same as 30 fps?

No. 29.97 is commonly 30000/1001 fps. The difference accumulates over time and matters for long-form timing and timecode.

Official sources checked

Recheck before publication:

  • FFmpeg documentation: -fps_mode and -r

https://ffmpeg.org/ffmpeg.html

  • Apple AVFoundation: nominal frame rate and minimum frame duration

https://developer.apple.com/documentation/avfoundation/avpartialasyncproperty/nominalframerate

  • Adobe: Work with mixed frame rates

https://helpx.adobe.com/premiere/desktop/edit-projects/modify-clip-properties/change-the-frame-rate-of-a-clip.html

  • Apple Final Cut Pro: conform frame sizes and rates

https://support.apple.com/en-ie/guide/final-cut-pro/ver3363b44e/mac

  • MediaInfo documentation and current application behavior

https://mediaarea.net/en/MediaInfo/Support/Fields

Joseph Nilo, video producer and creator workflow writer
About the Author

Joseph Nilo has been working professionally in all aspects of audio and video production for over twenty years. His day-to-day work finds him working as a video editor, 2D and 3D motion graphics designer, voiceover artist and audio engineer, and colorist for corporate projects and feature films.