Audio Codecs & Bitrates: AAC, MP3, Opus, FLAC Guide

“Is exporting the podcast at 320k more professional?” “Will 256k make the narration clearer?” — bitrate is the dimension most often wasted by “the size doesn’t matter” thinking. Speech and music occupy completely different bands; stacking bitrate you can’t hear costs double the bandwidth for nothing. This guide gives the per-scenario answers.

Two Axes First

  • Lossy vs lossless: MP3/AAC/Opus are lossy compression (discarding perceptually irrelevant content — irreversibly); FLAC is lossless (perfectly recoverable, roughly 5–10× the size);
  • Efficiency generations: MP3 (1993) → AAC (1997) → Opus (2012). Opus needs the least bitrate at equal quality, while MP3 wins on “everything reads it”. The compatibility history is in Browser Audio Format Support.

The Cheat Sheet

Audio bitrate table Figure 1: scenario → format → bitrate

Speech / podcast: 64–96 kbps AAC or Opus

The voice band lives in the mid frequencies and compresses superbly — 96k AAC speech is indistinguishable from 256k. Distribute podcasts at 64~96k: half the size, zero clarity lost. Exporting podcasts at 320k is pure waste.

Streaming music: 128–192 kbps AAC

128k AAC is the de-facto streaming tier; for listeners with golden ears, 192–256k already sits in the “transparency zone” (most people can’t blind-test it from lossless). 320k is for peace of mind and re-editing headroom.

Lossless archive: FLAC

FLAC isn’t for web delivery — it is the master discipline: original recordings, critical material, and anything awaiting re-creation keeps a FLAC (or WAV) forever. Every lossy version can be re-derived from it; never the reverse.

Real-time calls: Opus 32–64 kbps

Built for real-time communication: low latency, elastic bitrate, the speech-efficiency king — WebRTC’s default codec.

Dub tracks for web video: AAC 64–96 kbps

When mounting dub tracks, speech content at 64~96k m4a is plenty — spend the bandwidth on the video track.

The Web Compatibility Decision

Browser decode compatibility order: MP3 ≥ AAC > Opus/FLAC (MP3/AAC universal; Opus fine in modern browsers but Safari dragged historically; FLAC recently filled in). For “unknown audience” web delivery, AAC is the default; for clearly modern-browser audiences, Opus saves more.

Three Disciplines

  1. Lossy is irreversible: 128k MP3 can never become 320k again — re-encoding degrades. Keep the lossless master forever;
  2. Encode once: avoid MP3→AAC→AAC generation chains; every lossy pass discards more;
  3. Price by scenario: bitrate follows the scenario (speech 64~96 / music 128~192 / archive lossless), not the feeling.

Beyond: Audio on the Player Side

Once bitrate is settled, the web experience is the player’s job — ZWPlayer’s music mode upgrades audio content into a vinyl-plus-lyrics-plus-spectrum experience, and multiple audio tracks mount several dubs on video.