Skip to content
OneKitly

Why Your Video Cut Lands Two Seconds Early

Published 7/3/2026 · 7 min read · File tools

Daniel Okonkwo

Daniel OkonkwoFront-end developer and tech writer at OneKitly

Web performance · File formats

Checked against 3 sources

View profile
In short

A compressed video does not store complete pictures. It stores an occasional full frame — a keyframe — and then, for every frame after it, only the differences from what came before. A frame in the middle of that run is meaningless on its own: it says what changed, not what is there. So a cut that copies the streams without re-encoding cannot start anywhere it likes. It has to start at a keyframe, because that is the only place where a decoder can begin without the preceding frames, and it therefore snaps your requested time back to the last keyframe before it. That is the entire phenomenon, and the size of the error is the distance between keyframes, which nothing about your request controls: a phone camera typically places one every two seconds, an editing export can go ten seconds or more between them, a screen recording often sits around five. Ask for 1:23 on a phone clip and you may get 1:21 or 1:22; ask for it on an exported film and you may get 1:15. The trade is real and worth understanding rather than fighting. Copying streams is instantaneous even on a large file, costs no quality whatsoever because nothing is decoded, and is the right answer whenever a second or two of lead-in does not matter — a clip for a message, a section of a lecture, trimming dead air off the end. When the cut has to be exact, the only way is to re-encode the video, which means decoding every frame and writing new ones, at the cost of time and a generation of quality. Choose by what the cut is for, not by which sounds more precise.

You asked for 1:23 and got 1:21. Nothing is broken: a cut that does not re-encode can only land on a keyframe, and how far away the nearest one is depends entirely on what recorded the video. Here is how to know which you have and when to accept the drift.

Most frames are differences, not pictures

Video compression works because consecutive frames are nearly identical. Storing each one in full would waste almost everything, so a codec stores one complete frame and then describes the next few dozen as changes from it: this block moved here, this area got brighter, the rest is the same. The complete frame is the keyframe, and the run that depends on it is a group of pictures. Playback from the start is unaffected — the decoder builds each frame from the last — but jumping into the middle is not, because a difference has nothing to be a difference from.

The distance between keyframes is set by whatever recorded it

There is no standard value, and that is why the same request behaves differently on two files. A phone camera keeps keyframes close together, roughly every two seconds, because it expects the footage to be scrubbed and edited. An export from editing software often stretches them much further to save space, because it expects the file to be watched from the beginning; ten seconds between keyframes is unremarkable in a delivered film. Screen recorders sit in between. Streaming re-encodes tend to align keyframes to segment boundaries, which puts them at tidy intervals of a few seconds.

The practical rule follows: the worst case for your cut is one keyframe interval, and you can estimate that from what produced the file rather than from anything you can see in it. A two-second drift on a phone clip is normal and usually invisible. A ten-second drift on an exported film is normal too, and very visible, which is why the same tool feels precise on one file and broken on another.

What you buy by accepting the drift

Speed and quality, both completely. A stream copy reads bytes and writes them out again: it never decodes a frame, never runs the encoder, and finishes in about the time it takes to read the file from disk. Trimming a two-gigabyte recording takes seconds rather than the several minutes an encode would need on the same machine, and the result is bit-for-bit the same video, just shorter. Re-encoding to hit an exact frame throws that away twice over — the time, and a generation of compression that no setting fully avoids.

When the drift actually matters

Rarely, and it is worth being specific about when. A clip sent in a message, a section of a recorded talk, an excerpt for a slide: a second or two of extra lead-in is at worst untidy and at best useful context. Where it does matter is when the cut is a boundary rather than a beginning — removing a name or a face from the start of a clip, splitting a recording into parts that must join back seamlessly, or cutting to a beat. In those cases the drift is not cosmetic: it can leave in exactly the thing you were removing.

The check is the same one every article in this batch ends on: look at the result before you send it. Play the first two seconds. If what you meant to cut is still there, you have learned the keyframe interval on this file, and you now know that an exact cut needs a re-encode rather than another attempt at the same operation.

Worst-case drift
Typical keyframe spacing by source, and the worst-case drift of a copy-mode cut
SourceKeyframe everyWorst-case driftNoticeable?
Phone camera~2 s (60 frames at 30 fps)2 sUsually not
Re-encoded web video~2 s (48 frames at 24 fps)2 sUsually not
Screen recording~5 s (300 frames at 60 fps)5 sOften
Editing export~10 s (250 frames at 25 fps)10 sYes — re-encode if the cut must be exact
Trim VideoPick the clip on a filmstrip and hear it before you cut. The cut itself is done without re-encoding, so quality and format are untouched.Try the tool

Frequently asked questions

Can I force an exact cut?
Only by re-encoding, which decodes every frame from the last keyframe onwards and writes new ones, so the cut can start wherever you ask. It costs time proportional to the length of the clip and one generation of compression. That is the whole menu: there is no third option where an exact cut is also free, because the frame you want to start on does not exist as a complete picture until something builds it.
Why is the end of my clip exact but the start is not?
Because the two ends are not symmetrical. The start has to be a point a decoder can begin from, which means a keyframe. The end is just where the copying stops, and it can stop after any frame, so it lands where you asked. That asymmetry is a good diagnostic: if your cut is right at the end and early at the start, the tool is copying streams and behaving exactly as designed.
The first second of my trimmed clip is frozen or black. Why?
That is the same problem wearing a different hat: the copy started at a frame that was not a keyframe, so the decoder had nothing to build the first images from and showed whatever it could until the next keyframe arrived. Some tools avoid it by snapping backwards, which produces the early cut described here; others do not, which produces this. Either way the fix is the same — accept the earlier keyframe, or re-encode.
Does trimming reduce the file size proportionally?
Roughly, and not exactly, because bitrate is not constant across a video. A minute of a static talking head weighs far less than a minute of movement, so cutting the quiet half of a recording removes less than half the bytes. If you are trimming in order to meet a size limit rather than to choose a section, expect to have to compress as well, and do the trim first so the compression has less to work on.
Is audio cut at the same place as video?
Close, but not necessarily to the frame. Audio is stored in packets that are much shorter than a group of pictures, so the audio cut can land nearer your requested time than the video cut does. In practice that means a copied trim can begin with a fraction of a second of sound before the picture settles. It is rarely noticeable on speech and can be audible on music, which is another reason to re-encode when the cut is musical.

Articles you may find interesting

All guides
GuideWhy a Three-Second GIF Outweighs the Video It Came FromA GIF has no real video compression: every frame is a whole picture, capped at 256 colours. That gives you an arithmetic you can do in your head — width times height times frames — and three levers to pull when the upload box says the file is too big.GuideWhich Video Resolution to Choose, and What Each Step Costs in MegabytesGoing from 1080p to 720p does not halve the picture: it removes 56 % of the pixels, and it removes rather less than that of the file. Here is the ladder with real pixel counts, honest bitrates and what three minutes weighs at each rung — plus the reason a low-bitrate source barely shrinks at all.How-toGetting a Video Under an Upload Limit Without GuessingThe quality slider cannot aim at a file size — that is not what it is for. But the limit and the length of your clip already fix the bitrate you are allowed to spend, and one division tells you whether the resolution you are using can possibly fit.ExplainerMOV to MP4: Why the iPhone Video Will Not Open on WindowsThe extension is almost never the real problem. A .mov and a .mp4 are cousins from the same family of file formats, and what actually stops the video is the codec sealed inside it — usually HEVC. Here is how to tell the two failures apart, and when changing the box is enough.How-toRemoving the Sound From a Video Without Touching the PictureOne ffmpeg command, no encoder, and a result whose video stream is byte-for-byte the one you started with — verified by checksum. Plus why the file barely shrinks, and the difference between a silent track and no track at all.ExplainerRotating a Video 90° or 180°: the Flag or the PixelsThere are two completely different ways to turn a video, and only one of them touches the picture. This tool takes the slow, lossy, universal road — and there is a good chance your sideways phone clip does not need it at all.

Related tools

Retention windows and processing models are what each service published on the dates cited. They change without notice — re-run the offline test on any tool you rely on rather than trusting a comparison, including this one.

Sources

Spotted a mistake in this article?