Category: Compression / Codecs

One of the most common questions new editors ask is: "How do I re-encode my video so it exactly matches the quality and bitrate of the source file?"

It sounds logical. If your camera shot at 50Mbps, you should export at 50Mbps to keep it looking the same, right?

Wrong.

Video compression is "lossy." Every time you encode a video (unless you use uncompressed formats which are massive), you are throwing away data. Trying to "match the bitrate" is not only inefficient; it often leads to worse quality or bloated file sizes.

Why "Matching Bitrate" Fails

Imagine you have a pristine glass of water (your source file). You pour it into a new glass (the export). In the process, you spill a few drops. You can never get 100% of the water back.

If you try to force the new file to be the exact same size (bitrate) as the old one, the encoder might waste space trying to preserve "noise" or artifacts from the original camera compression, rather than the actual image details.

The Solution: Constant Rate Factor (CRF)

Instead of telling the encoder "I want this file to be 50 megabytes," you should tell it: "I want this file to look good, no matter how much space it takes."

This is where CRF (Constant Rate Factor) comes in. It is the default setting for x264 and x265 encoders (used in Handbrake, FFmpeg, and OBS).

How CRF Works:

  • Lower Number = Higher Quality (and larger file size).

  • Higher Number = Lower Quality (and smaller file size).

  • 0 is lossless (perfect copy, but huge file size).

  • 51 is the worst quality.

The Magic Numbers

You don't need to guess. For most H.264 (MP4) exports, stick to these ranges:

  • CRF 18-20: Visually lossless. This is "Archival Quality." It will look identical to the source to the human eye, but the file size will be whatever it needs to be to maintain that look.

  • CRF 23: The default. Good balance of quality and size.

  • CRF 28+: Good for smaller web previews or email.

The Command Line Fix

If you are using x264 or ffmpeg via command line and want to "match quality," don't use a bitrate flag (-b). Use the CRF flag.

The Command: x264 --crf 18 -o output.mp4 input.mp4

Summary

Stop obsessing over the bitrate number. It is an arbitrary container. If you want your output to look like your source, trust the CRF value. Set it to 18, let the encoder do the math, and enjoy a file that looks perfect without wasting space.


0 comments

Leave a comment

Please note, comments need to be approved before they are published.