What is the difference between good and realtime deadline modes in libaom?

When encoding video using the AV1 codec via libaom, choosing the right deadline mode is critical for balancing processing speed and visual quality. This article breaks down the fundamental differences between the good and realtime deadline settings, explaining how they manage compression algorithms, their primary use cases, and how to choose the best option for your video project.

The Purpose of Deadline Modes in Libaom

In libaom, the --deadline (or -usage in newer versions) parameter tells the encoder how much time it is allowed to spend compressing each frame. Because AV1 is an incredibly complex codec, these modes act as high-level profiles that dictate whether the encoder should prioritize maximum compression efficiency or raw processing speed.

Good Quality Mode (--deadline=good)

The good mode is the default setting for libaom and is designed for file-based, ahead-of-time encoding.

Realtime Mode (--deadline=realtime)

The realtime mode is specifically engineered for low-latency, live video scenarios.

Key Differences at a Glance

Feature Good Mode (good) Realtime Mode (realtime)
Primary Focus Maximum visual quality and compression efficiency. Ultra-low latency and fast encoding speed.
Encoding Speed Slow to very slow. Extremely fast, capable of 30+ FPS live encoding.
Bitrate Efficiency High (smaller file sizes for the same quality). Lower (requires higher bitrates to avoid artifacts).
Algorithmic Depth Uses deep motion vector searches and complex block partitioning. Disables heavy tools; utilizes fast motion estimation and speed-optimized heuristics.

Which Mode Should You Choose?