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
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
- Lossy is irreversible: 128k MP3 can never become 320k again — re-encoding degrades. Keep the lossless master forever;
- Encode once: avoid MP3→AAC→AAC generation chains; every lossy pass discards more;
- 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.