diff mbox

[FFmpeg-devel] doc/filters: Add double-pass example for loudnorm

Message ID 20180819193354.31123-1-epirat07@gmail.com
State Superseded
Headers show

Commit Message

Marvin Scholz Aug. 19, 2018, 7:33 p.m. UTC
---
 doc/filters.texi | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

Comments

Carl Eugen Hoyos Aug. 19, 2018, 9:27 p.m. UTC | #1
2018-08-19 21:33 GMT+02:00, Marvin Scholz <epirat07@gmail.com>:
> ---
>  doc/filters.texi | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>
> diff --git a/doc/filters.texi b/doc/filters.texi
> index 32c95b591c..2078ee0f6f 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -3659,6 +3659,29 @@ Set print format for stats. Options are summary,
> json, or none.
>  Default value is none.
>  @end table
>
> +@subsection Examples
> +
> +For double pass processing you need to first run the filter with
> +@code{print_format} set to either @code{json} or @code{summary}, then read
> +the values in the output and pass it to the next run of the filter:
> +
> +@example
> +$ ffmpeg -i file.mov -map 0:a -af loudnorm=I=-13:TP=-1:print_format=summary
> -f null -
> +
> +[...]
> +Input Integrated:     -9.0 LUFS
> +Input True Peak:      +1.5 dBTP
> +Input LRA:             9.4 LU
> +Input Threshold:     -19.5 LUFS
> +@end example
> +
> +Then pass the input measurements to the next run that produces the result:
> +
> +@example
> +ffmpeg -i file.mov -af
> loudnorm=I=-13:TP=-1:measured_I=-9.0:measured_TP=1.5:measured_LRA=9.4:
> measured_thresh=-19.5:print_format=summary out.mov

I believe it should be "ffmpeg -i input"
Why does the first run output to null but the second to mov?

Carl Eugen
Marvin Scholz Aug. 19, 2018, 9:42 p.m. UTC | #2
On 19 Aug 2018, at 23:27, Carl Eugen Hoyos wrote:

> 2018-08-19 21:33 GMT+02:00, Marvin Scholz <epirat07@gmail.com>:
>> ---
>>  doc/filters.texi | 23 +++++++++++++++++++++++
>>  1 file changed, 23 insertions(+)
>>
>> diff --git a/doc/filters.texi b/doc/filters.texi
>> index 32c95b591c..2078ee0f6f 100644
>> --- a/doc/filters.texi
>> +++ b/doc/filters.texi
>> @@ -3659,6 +3659,29 @@ Set print format for stats. Options are 
>> summary,
>> json, or none.
>>  Default value is none.
>>  @end table
>>
>> +@subsection Examples
>> +
>> +For double pass processing you need to first run the filter with
>> +@code{print_format} set to either @code{json} or @code{summary}, 
>> then read
>> +the values in the output and pass it to the next run of the filter:
>> +
>> +@example
>> +$ ffmpeg -i file.mov -map 0:a -af 
>> loudnorm=I=-13:TP=-1:print_format=summary
>> -f null -
>> +
>> +[...]
>> +Input Integrated:     -9.0 LUFS
>> +Input True Peak:      +1.5 dBTP
>> +Input LRA:             9.4 LU
>> +Input Threshold:     -19.5 LUFS
>> +@end example
>> +
>> +Then pass the input measurements to the next run that produces the 
>> result:
>> +
>> +@example
>> +ffmpeg -i file.mov -af
>> loudnorm=I=-13:TP=-1:measured_I=-9.0:measured_TP=1.5:measured_LRA=9.4:
>> measured_thresh=-19.5:print_format=summary out.mov
>
> I believe it should be "ffmpeg -i input"

Ok

> Why does the first run output to null but the second to mov?

If I understood correctly, the output of the first run is not relevant
as the only interesting thing is the filter "Input" measurements for
the whole file, which on second pass is then given to it so the filter 
can
know those in advance and behave based on those and this output with the
filter applied is the one that is actually the "good" result.

But maybe I misunderstand something here.

>
> Carl Eugen
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Carl Eugen Hoyos Aug. 19, 2018, 9:49 p.m. UTC | #3
2018-08-19 23:42 GMT+02:00, Marvin Scholz <epirat07@gmail.com>:

> But maybe I misunderstand something here.

No, unlikely;-)

Carl Eugen
diff mbox

Patch

diff --git a/doc/filters.texi b/doc/filters.texi
index 32c95b591c..2078ee0f6f 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -3659,6 +3659,29 @@  Set print format for stats. Options are summary, json, or none.
 Default value is none.
 @end table
 
+@subsection Examples
+
+For double pass processing you need to first run the filter with
+@code{print_format} set to either @code{json} or @code{summary}, then read
+the values in the output and pass it to the next run of the filter:
+
+@example
+$ ffmpeg -i file.mov -map 0:a -af loudnorm=I=-13:TP=-1:print_format=summary -f null -
+
+[...]
+Input Integrated:     -9.0 LUFS
+Input True Peak:      +1.5 dBTP
+Input LRA:             9.4 LU
+Input Threshold:     -19.5 LUFS
+@end example
+
+Then pass the input measurements to the next run that produces the result:
+
+@example
+ffmpeg -i file.mov -af loudnorm=I=-13:TP=-1:measured_I=-9.0:measured_TP=1.5:measured_LRA=9.4:measured_thresh=-19.5:print_format=summary out.mov
+@end example
+
+
 @section lowpass
 
 Apply a low-pass filter with 3dB point frequency.