[FFmpeg-devel] [PATCH 2/2] doc/filters: add a signalstats example

Timothy Gu timothygu99 at gmail.com
Wed Jul 2 05:36:28 CEST 2014


On Tue, Jul 1, 2014 at 7:44 PM, Dave Rice <dave at dericed.com> wrote:
> From 64801547edf8b859fd11f7ea1f752e541ef4482b Mon Sep 17 00:00:00 2001
> From: Dave Rice <dave at dericed.com>
> Date: Tue, 1 Jul 2014 22:35:46 -0400
> Subject: [PATCH 2/2] doc/filters: add a signalstats example
>
> Signed-off-by: Dave Rice <dave at dericed.com>
> ---
>  doc/filters.texi | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/doc/filters.texi b/doc/filters.texi
> index f119a3a..8a2574e 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -7710,6 +7710,30 @@ Playback video while highlighting pixels that are outside of broadcast range in
>  @example
>  ffplay example.mov -vf signalstats="out=brng:color=red"
>  @end example
> +
> + at item
> +Playback video with signalstats metadata drawn over the frame.
> + at example

> +ffplay example.mov -vf signalstats=stat=brng+vrep+tout,
> drawtext=fontfile=FreeSerif.ttf:x=8:y=8:fontcolor=yellow:shadowx=3:
> shadowy=2:fontsize=20:tabsize=8:textfile=signalstat_drawtext.txt'

The x, y, fontcolor, shadow*, fontsize options are all optional.
Putting them here will only confuse the reader. You can keep the
tabsize but an explanation would be helpful.

Another problem is that there is an extra ' at the end of the command.

Also, can you do an 80-column wrap? This will look terrible on man pages.

> + at end example
> +
> +when the contents of signalstat_drawtext.txt are:

Drop the "when":
The contents of signalstat_drawtext.txt used in the command are:

> + at example
> +time (sec) %@{pts@}    pts %@{pts:hms@}        pict_type %@{pict_type@}
> +
> +       min     low     avg     high    max     diff
> +Y      %@{metadata:lavfi.signalstats.YMIN@}    %@{metadata:lavfi.signalstats.YLOW@}    %@{metadata:lavfi.signalstats.YAVG@}    %@{metadata:lavfi.signalstats.YHIGH@}   %@{metadata:lavfi.signalstats.YMAX@}    %@{metadata:lavfi.signalstats.YDIF@}
> +U      %@{metadata:lavfi.signalstats.UMIN@}    %@{metadata:lavfi.signalstats.ULOW@}    %@{metadata:lavfi.signalstats.UAVG@}    %@{metadata:lavfi.signalstats.UHIGH@}   %@{metadata:lavfi.signalstats.UMAX@}    %@{metadata:lavfi.signalstats.UDIF@}
> +V      %@{metadata:lavfi.signalstats.VMIN@}    %@{metadata:lavfi.signalstats.VLOW@}    %@{metadata:lavfi.signalstats.VAVG@}    %@{metadata:lavfi.signalstats.VHIGH@}   %@{metadata:lavfi.signalstats.VMAX@}    %@{metadata:lavfi.signalstats.VDIF@}
> +SAT    %@{metadata:lavfi.signalstats.SATMIN@}  %@{metadata:lavfi.signalstats.SATLOW@}  %@{metadata:lavfi.signalstats.SATAVG@}  %@{metadata:lavfi.signalstats.SATHIGH@} %@{metadata:lavfi.signalstats.SATMAX@}
> +
> +HUE (median)   %@{metadata:lavfi.signalstats.HUEMED@}
> +HUE (average)  %@{metadata:lavfi.signalstats.HUEAVG@}
> +TOUT           %@{metadata:lavfi.signalstats.TOUT@}
> +VREP           %@{metadata:lavfi.signalstats.VREP@}
> +BRNG           %@{metadata:lavfi.signalstats.BRNG@}
> +
> + at end example
>  @end itemize
>
>  @anchor{smartblur}

Theoretically no tabs are allowed in FFmpeg. But I get why you decided
to use it, and personally I'm OK with that. I'll leave final decision
to somebody else.

Timothy


More information about the ffmpeg-devel mailing list