FFmpeg recipe
FFmpeg: Normalize Loudness with EBU R128 (loudnorm)
Loudnorm implements the EBU R128 standard: perceptual loudness normalization (not peak normalization). Required by Spotify, Apple Podcasts, and TV broadcasters.
Command
ffmpeg -i input.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -y output.mp4Prefer no terminal?
Use the Audio Normalizer in your browser
What each flag does
| -i | Input file. Can be a video, audio, or image. Repeat for multiple inputs. |
|---|---|
| -af | Audio filter chain. e.g. silenceremove, loudnorm. |
| -y | Overwrite output file without confirmation. |
| I=-16 | Integrated loudness target (LUFS). -16 = podcast standard, -14 = Spotify, -23 = TV broadcast. |
| TP=-1.5 | Maximum true peak (dBTP). -1.5 leaves headroom for codec-induced clipping. |
| LRA=11 | Loudness range. 11 LU is standard for spoken content. |
Notes & gotchas
- For two-pass loudnorm (much more accurate), see the FFmpeg wiki: https://trac.ffmpeg.org/wiki/AudioVolume.
- For YouTube, target I=-14 to match algorithm-normalized playback.
Related recipes
Extract audio Β· MP4
Pull the audio track out of an MP4 with FFmpeg. Stream-copy is lossless and instant.
Extract audio as MP3 Β· Any video
Extract audio as MP3 from any video format with FFmpeg. 192 kbps default for transparent quality.
Remove silence Β· Audio / video
Auto-cut silent gaps from a recording with FFmpeg silenceremove filter. Kills dead air in podcasts and meetings.
Trim Β· MP4
Trim an MP4 with FFmpeg using stream-copy for lossless, instant output. Copy-paste command with explanations.