ffmpeg, a free multi-platform command-line tool, can do this.
Use the volumedetect and EBUR filters on each of the files
ffmpeg -i input.mov -af volumedetect,ebur128 -f null - 2> input.log
This will produce a log file with the initial lines looking like this:
[Parsed_ebur128_1 @ 0000000002d42400] t: 12.7 M: -32.7 S: -32.7 I: -30.7 LUFS LRA: 3.1 LU
[Parsed_ebur128_1 @ 0000000002d42400] t: 12.8 M: -33.2 S: -32.7 I: -30.8 LUFS LRA: 3.1 LU
[Parsed_ebur128_1 @ 0000000002d42400] t: 12.9 M: -33.2 S: -32.7 I: -30.8 LUFS LRA: 3.1 LU
[Parsed_ebur128_1 @ 0000000002d42400] t: 13 M: -34.3 S: -32.9 I: -30.8 LUFS LRA: 3.1 LU
[Parsed_ebur128_1 @ 0000000002d42400] t: 13.1 M: -34.3 S: -32.9 I: -30.9 LUFS LRA: 3.1 LU
and the final lines:
[Parsed_volumedetect_0 @ 00000000005db400] n_samples: 18700288
[Parsed_volumedetect_0 @ 00000000005db400] mean_volume: -31.5 dB
[Parsed_volumedetect_0 @ 00000000005db400] max_volume: -5.3 dB
[Parsed_volumedetect_0 @ 00000000005db400] histogram_5db: 22
[Parsed_volumedetect_0 @ 00000000005db400] histogram_6db: 32
[Parsed_volumedetect_0 @ 00000000005db400] histogram_7db: 250
[Parsed_volumedetect_0 @ 00000000005db400] histogram_8db: 470
[Parsed_volumedetect_0 @ 00000000005db400] histogram_9db: 816
[Parsed_volumedetect_0 @ 00000000005db400] histogram_10db: 936
[Parsed_volumedetect_0 @ 00000000005db400] histogram_11db: 1796
[Parsed_volumedetect_0 @ 00000000005db400] histogram_12db: 2632
[Parsed_volumedetect_0 @ 00000000005db400] histogram_13db: 4516
[Parsed_volumedetect_0 @ 00000000005db400] histogram_14db: 6028
[Parsed_volumedetect_0 @ 00000000005db400] histogram_15db: 8846
[Parsed_ebur128_1 @ 0000000002d42400] Summary:
Integrated loudness:
I: -28.6 LUFS
Threshold: -38.9 LUFS
Loudness range:
LRA: 9.0 LU
Threshold: -49.0 LUFS
LRA low: -33.6 LUFS
LRA high: -24.6 LUFS
The mean_volume
is the RMS value.
(Download the latest nightly/snapshot binary for your platform)