Video compression guides

Every setting in the compressor is a trade between file size, picture quality and encoding time. These guides explain that trade well enough that you can make the choice deliberately instead of dragging a slider and hoping.

The model these guides share

Video compression works by not storing most of what you see. A codec keeps one reference frame, then describes the frames after it as differences from what came before — plus a set of deliberate approximations in the parts of the picture the eye is worst at scrutinising. Every "quality" control you will ever touch is really a control over how aggressive those approximations are allowed to be.

There are three levers, and they are not equal. Bitrate — bits spent per second — dominates file size and is the first thing to change. Resolution decides how many pixels those bits are spread across, so lowering it makes a given bitrate go much further. Encoder effort costs you time rather than quality: a slower preset searches harder for savings and reaches a smaller file at the same visual result.

The fourth thing worth knowing is that none of this is uniform across content. A static screen recording and a handheld shot of rain need wildly different bitrates to look equally good, which is why every number in these guides is a starting point to test from rather than a setting to copy.

Want to apply this immediately? Compress a video in your browser or shrink one to a specific size limit.

Browse by topic

All guides, newest first

Technical deep dive ffmpegwebassemblytechnical

ffmpeg.wasm explained: how FFmpeg runs in the browser

· updated · 5 min read

How ffmpeg.wasm runs FFmpeg inside a browser tab: the WebAssembly build, the in-memory filesystem, and why multi-threading needs COOP and COEP headers.

Read this if you want to know how an encoder ends up running inside a browser tab at all — WebAssembly, SharedArrayBuffer, COOP and COEP.

Delivery guide compressionwebguide

How to compress video for the web: web-optimized MP4

· updated · 6 min read

How to compress video for the web with FFmpeg: codec, CRF and resolution, plus -movflags +faststart for a web-optimized MP4 that starts playing straight away.

Read this when the destination is a web page and you are choosing between H.264, VP9 and a resolution.

Settings by content type compressionqualitytips

How to reduce video file size without losing quality

· updated · 6 min read

How to cut video file size without visible quality loss: CRF values by content type, when to downscale, audio savings, and encoder preset trade-offs.

Read this when you know what bitrate is and want to know how far you can push it on your specific footage.

What is video bitrate, and what happens when you lower it?

· updated · 5 min read

What video bitrate controls, how the encoding bitrate drives file size and quality, what a lower bitrate costs you, CBR vs VBR vs CRF, and how to pick a number.

Read this first if any of the numbers in the compressor are meaningless to you. Everything else on this page assumes it.

Guides by topic

Elsewhere on the site