Configure FFmpeg Loudnorm Integrated Loudness Target

This article provides a straightforward guide on how to configure the integrated loudness target using the loudnorm filter in FFmpeg. You will learn the specific parameter used to set this target, the standard values for various platforms, and practical command-line examples to normalize your audio.

Understanding the Integrated Loudness Parameter

The loudnorm filter in FFmpeg uses the EBU R128 algorithm for loudness normalization. To configure the integrated loudness target, you must use the i (integrated) option.

Common Loudness Targets

Depending on your target platform, you should adjust the i value accordingly:

Command Examples

Single-Pass Normalization (Quick)

Single-pass normalization is fast but relies on dynamic estimation, which may cause slight target deviations. Use the following syntax to set the integrated loudness target to -16.0 LUFS:

ffmpeg -i input.mp3 -filter:a "loudnorm=i=-16" output.mp3

To set it to -14.0 LUFS for streaming platforms:

ffmpeg -i input.wav -filter:a "loudnorm=i=-14" output.wav

Two-Pass Normalization (Accurate)

For precise target matching, a two-pass process is recommended.

Pass 1: Run the filter with the print_format=json option to analyze the audio.

ffmpeg -i input.mp3 -filter:a "loudnorm=i=-16:print_format=json" -f null -

This command will output a JSON block in the terminal containing measured values: * input_i * input_tp (true peak) * input_lra (loudness range) * input_thresh * target_offset

Pass 2: Input these measured values back into the loudnorm filter alongside your target i value to output the final, perfectly normalized file.

ffmpeg -i input.mp3 -filter:a "loudnorm=i=-16:measured_i=-19.5:measured_tp=-1.2:measured_lra=8.5:measured_thresh=-30.1:offset=0.2" output.mp3