[FFmpeg-devel] One pass volume normalization (ebur128)

Jan Ehrhardt phpdev at ehrhardt.nl
Sun Jul 14 18:57:14 CEST 2013


Kieran Kunhya in gmane.comp.video.ffmpeg.devel (Sun, 14 Jul 2013
16:20:27 +0100):
>>>R128 refers to programme loudness.
>>
>> I believe you. But aren't there loudness recommendations for live steams
>> of popconcerts, the Bayreuther Festspiele or the like?
>
>As far as I know this is the job of the mixing engineer using
>traditional meters.

Strange, since there are methods to come close to the EBU recommendation
for prerecorded programs.

>I really think this patch should not be committed since it has little
>to do with R128, although a lot of commercial manufacturers call their
>realtime products R128 compatible.

OK, that is an argument I did not hear before. And the argument seems
plausible.

But am I remembering it correctly that you were the one that once on
#ffmpeg-devel uttered the wish to do normalization on the fly? Did you
change your mind?

>I also don't understand why you specifically need 1-pass when you
>appear to have a file-based workflow.

Simple, speed. My users are professionals that record interviews with
their clients (with their consent) and put them securely online to get
feedback from their colleagues and coaches. The typical recording is one
to two hours, depending on the project. But last week someone from
Kansas even uploaded a 5:28h recording (1GB after transcoding to
400*300). The project in Kansas has put 7000 hours of video online since
they started in October 2011, so they are doing a lot of transcoding.

I try to squeeze out every minute of the transcoding time to keep my
users satisfied. FFMpeg 2.0 was a happy surprise because it was about
10% faster than the previous version I had rolled out to the users.

For volume normalization I have long been depending on the -af volnorm
filter of MEncoder. But MEncoder is not maintained anymore, so we were
looking for an alternative for '-af volnorm' within FFMpeg. Clement's
patch provided us with that.

I am in no way bound to EBU recommendations, so maybe we should rephrase
the issue: how can we implement an equivalent to the -af volnorm filter
in FFMpeg? See here for the docs on -af volnorm:
http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html#AUDIO%20FILTERS

Jan

PS. http://x32.elijst.nl/single.mp4 is a good example why I need volume
normalization. The video is too short to make full use of the filter.
The volume is only increased from -40 LUFS to -35. But if I use the same
video 4 times in a row the volume is already raised to -23.8 LUFS. So
with videos of 40+ seconds I get the desired result.



More information about the ffmpeg-devel mailing list