[FFmpeg-devel] One pass volume normalization (ebur128)
phpdev at ehrhardt.nl
Sun Jul 14 00:35:55 CEST 2013
Nicolas George in gmane.comp.video.ffmpeg.devel (Sat, 13 Jul 2013
>Le quintidi 25 messidor, an CCXXI, Jan Ehrhardt a écrit :
>> Not really. If you look at the origional you will see that fixed, float
>> and double are values for the precision.
>I was indeed wrong on this point.
>> Two of the three hardcoded values should be hardcoded. The -23 is part
>> of the EBU R128 specs: http://tech.ebu.ch/loudness
>Not all people want to implement EBU R128.
-23 LUFS is a good starting point. If they want a higher or lower
volume, they could add another volume filter after the
volume=metadata=lavfi.r128.I. A dual volume filter is no nice solution,
but it is workable.
> And even if they do, with the
>current infrastructure, using r128.I will not yield a global -23 dB loudness
>and using the other variables will give audible distortion. Therefore, it is
>not currently possible to comply with EBU R128 recommendations in single
There are some situations where you cannot do a dual pass. For instance,
if you are live broadcasting a symphony with a grand finale, there is no
hardware or software solution possible that produces a fully EBU R128
compliant loudness. Something like my patch must be close enough. After
all, EBU R128 is only a recommendation.
>> Not quite either. f_ebur128.c hardcodes the errorlevel to verbose if the
>> metadata are set. You do not want to see the intermediate metadata if
>> you do a 'one pass' transcoode. If needed you can always set the
>> loglevel to view them.
>This still do not belong in this patch.
I do not mind to make it a separate patch.
How do we proceed? I can make some adjustments to my patch, but for some
(f.i. the "evil plan") I have a lack of knowledgde. Could you make the
adjustments and publish a new patch?
It would be really nice if it would be there in, say, version 3.0.
More information about the ffmpeg-devel