Frame rate workflow

Variable frame rate video problems.
Make a constant copy before the edit.

If a phone clip or a screen recording behaves badly in your editor, drifting against its sound or stuttering on the timeline, the first thing to rule out is a variable frame rate. The fix is a constant frame rate copy made before you cut, and a free tool does it. Fix it early: this host plays your export at the frame rate it was exported at and does not convert it afterwards.

See the plans

Video hosting for filmmakers · 5 GB free · Paid plans from USD 9/month

By uncompressed.io · Updated September 2026

The three modes

A file can hold one frame rate or many,
and editors want one.

A constant frame rate file shows every frame for the same length of time. A variable frame rate file lets that timing change within the clip. An editing timeline runs on a fixed grid of frames, which is why HandBrake singles out editing as the case for a constant rate.

Variable (VFR)
Constant (CFR)
Peak (PFR)
WhatHandBrakedoes
Makes the new file's frame ratean exact copy of the source
Makes the new file exactlyone frame rate throughout
Leaves parts at or below thechosen rate unchanged, and limitsfaster parts to that rate
How toselect it
Same as Source, thenVariable Frame Rate
Same as Source or a specificrate, then Constant Frame Rate
A specific rate, thenPeak Frame Rate
Use itfor
Watching, when the sourcetiming should be kept
Footage headed intoan editing application
Capping a rate for playbackwithout forcing it constant

Summarized from HandBrake's Frame rates article, which HandBrake marks as a draft. It describes constant frame rate as not recommended except in special circumstances, and names import into an editing application (NLE) as one of them. Fetched 18 September 2026.

Reading the symptom

Drift is a reason to test,
not a diagnosis.

The complaint looks like this: a phone or screen clip whose sound slides away from the picture as the clip plays in the editor, or a timeline that stutters where the original played smoothly. Variable frame rate is the first thing to rule out, because the fix is cheap and documented. It is not the only possible cause, and we could not find an official source today that states it causes drift, so treat the steps below as a test: if the constant copy stays in sync, you have your answer; if it does not, look elsewhere.

To see what you have, open the clip in MediaInfo, a free, open source inspector for Windows, macOS, Linux and mobile, and read the frame rate it reports. Compare it with what you set on the device and with your editor’s clip properties. If they disagree, or the rate is not what you shot, make the constant copy.

The fix, in HandBrake

Convert once, before the first cut,
then edit the copy.

HandBrake is free and does this job. You do not need a paid host, including this one, to fix a variable frame rate clip.

1

Open the clip

Load the phone or screen recording as the Source. Work on a copy; keep the original untouched.

2

Set the frame rate

Set the frame rate to Same as Source and select Constant Frame Rate (CFR). HandBrake detects the source rate and makes the variable parts constant at that rate. If your project runs at another rate, pick that rate instead.

3

Keep quality high

Use constant quality, which HandBrake's non-draft guidance recommends unless you have a reason not to. For x264 and x265 a lower RF means higher quality; stay at the low end of the range, 20 for 1080p, 22 for 4K. Or use a Production preset, built for editing, with much larger files.

4

Edit the copy

Import the constant copy, check sync over the full length of the clip, and cut with it. When you export, keep a constant frame rate that matches the timeline.

This is a re-encode

HandBrake encodes the video again to make the copy. The copy is one generation from the original. That is the price of a stable timeline, and it is why you pay it once, on the way in, at a high quality setting. HandBrake’s own ranges for x264 and x265 are RF 20 to 24 at 1080p and RF 22 to 28 at 4K; a higher RF means lower quality and a smaller file.

After the edit

The host plays what you give it,
so settle the rate before you upload.

Hosts differ in what they do to a file after upload. YouTube asks for content encoded and uploaded at the frame rate it was recorded, and lists 24, 25, 30, 48, 50 and 60 as common rates while accepting others. Its upload guidance says nothing about variable or constant frame rate.

Here, nothing touches the frame rate. Browser playback uses your uploaded export without another platform re-encode. Codec, device and connection requirements still apply. The upload check reads the container, duration, average bitrate, codec and picture size; it does not read the frame rate, does not detect a variable file and does not convert one. The file plays at the frame rate it was exported at. Our published export recommendation is H.265 at a constant frame rate matching the timeline, 2-pass VBR. For the full settings, see export settings for client review.

Before the edit

Make a constant frame rate copy of phone and screen footage. This is where the problem is cheapest to fix.

In the edit

Cut with the constant copies and check sync over the whole length of each clip, not just the start.

At export

Keep a constant frame rate that matches the timeline. The file you upload here is the file your client sees.

Questions

Frequently asked

Does variable frame rate cause audio to go out of sync?

It is worth ruling out first, but we found no official source today that states it as a rule, so we do not present it as one. What HandBrake's documentation does say is that constant frame rate is the setting for footage going into an editing application. If a phone or screen clip drifts in your editor, make a constant copy first. If the drift remains, the cause is somewhere else.

Will uncompressed.io convert my variable frame rate file on upload?

No. The upload check reads the container, duration, average bitrate, codec and picture size. It does not read the frame rate, does not detect variable frame rate and does not convert anything. The file you upload is the file that streams, so it plays at the frame rate it was exported at.

Is the HandBrake conversion lossless?

No. HandBrake re-encodes the video, so the copy is one generation away from the original. Keep that generation small: use constant quality at the low end of HandBrake's recommended RF range for the resolution, or one of its Production presets, which HandBrake describes as suited to professional editing and which make very large files.

Which frame rate should the constant copy use?

The one your project will use. With Same as Source and Constant Frame Rate, HandBrake detects the source rate and makes the variable parts constant at that rate. If your timeline runs at a different rate, pick that rate instead, so the conversion happens once, in HandBrake, and not again in the editor.

Export constant, upload once

Settle the frame rate in the edit, export at the timeline's rate, and share that file. It is stored and streamed as uploaded, with no re-encode on our side. Codec, device and connection requirements still apply.