Crisp › Learn › Keyframes

What is a keyframe?

Open a video file and you might assume it contains a sequence of pictures. It mostly doesn't. A small fraction of the frames are complete images, and the rest are descriptions of how the previous frame changed.

The complete ones are keyframes, also called I-frames. Everything else depends on them.

Why encoders work this way

Consecutive frames are overwhelmingly similar. In a two second shot of someone talking, the wall behind them is identical in every frame. Storing that wall sixty times is enormously wasteful, so the encoder stores it once and then records only what moved.

The saving is not marginal. A typical delivery file might place a keyframe every two to ten seconds, and the frames in between can be a small fraction of the size. That is most of why a ten minute video is not gigabytes.

The three consequences you actually feel

Scrubbing feels sticky on some files. To display an arbitrary frame, the decoder has to find the previous keyframe and rebuild every frame from there to the one you asked for. Drop the playhead just before a keyframe and the work is small. Drop it just after and there may be hundreds of frames to reconstruct first.

Cuts can land where you didn't put them. A trim that re-encodes can cut anywhere. A trim that copies the stream without re-encoding can only start at a keyframe, because there is nothing else to start from. That is why some tools quietly move your in-point by up to a few seconds and why the result is sometimes shorter or longer than you asked for.

Some operations are instant and some are not. Anything that can be done by copying compressed data straight across is fast and lossless. Anything that has to decode and re-encode costs time and a generation of quality.

Editing codecs make a different trade

ProRes and similar intermediate codecs store every frame independently, which is to say every frame is a keyframe. That is why scrubbing a ProRes file is instant and why cuts land exactly where you place them. You pay in file size, often by a factor of ten or more.

That trade is the whole reason both kinds of codec exist. Delivery codecs optimise for the viewer who watches start to finish. Editing codecs optimise for the editor who jumps around.

What this means in practice

If scrubbing is painful on a long file, the codec is usually the reason rather than your machine. Transcoding to an intermediate before a heavy edit is a real fix, not a superstition.

If a trim landed in the wrong place, the tool almost certainly took the fast stream-copy path. Crisp uses that path for container conversion, where it is genuinely lossless and finishes in seconds, and re-encodes when the codec cannot survive the change. Frame-accurate trimming in the timeline re-encodes, which is slower and lands exactly where you asked.

And if you are re-exporting the same file repeatedly, remember that each re-encode is a generation of loss. Keep the master.

Keyframes, in detail

Why does my video scrub smoothly in one app and badly in another?

Usually because one app has transcoded or cached an intermediate version. The underlying file still needs a keyframe plus every frame since, so an app that quietly builds a proxy will feel far faster on the same source.

Can I add more keyframes to make editing easier?

Only by re-encoding, which means a quality generation. If you are doing serious work the better move is transcoding to an intermediate codec where every frame is independent, rather than nudging the keyframe interval of a delivery codec.

Why is trimming sometimes instant and sometimes slow?

Instant means the tool copied the compressed stream without decoding, which can only start at a keyframe. Slow means it decoded and re-encoded, which lands the cut exactly where you asked and costs a generation.

Does a shorter keyframe interval improve quality?

Not directly, and it can hurt. Keyframes are large, so more of them at a fixed bitrate leaves fewer bits for everything else. Shorter intervals help seeking and streaming startup, which is why streaming platforms use them.

Download Crisp for Mac Free to try, one-time $19 to remove the watermark. Runs entirely on your Mac.