[FFmpeg-user] Extracting video levels on the command line

Dave Rice dave at dericed.com
Tue Aug 4 16:11:45 CEST 2015


> On Aug 4, 2015, at 6:22 AM, Robert Krüger <krueger at lesspain.de> wrote:
> 
> On Mon, Aug 3, 2015 at 10:49 PM, Paul B Mahol <onemda at gmail.com> wrote:
> 
>> Dana 3. 8. 2015. 22:28 osoba "Moritz Barsnick" <barsnick at gmx.net> napisala
>> je:
>>> 
>>> On Mon, Aug 03, 2015 at 21:55:59 +0200, Robert Krüger wrote:
>>>> Is there any other way than looking at each frame's histogram (using
>> the
>>>> histogram filter) and counting pixels?
>>> 
>>> It should probably be easy to write such a filter.
>>> 
>>> Have you looked at signalstats? It does seem to have the capability to
>>> identify various statistics on the Y, U, V planes, but reports them
>>> only in metadata, not in console output (IIUC).
>> 
>> ffprobe can output any metadata
> 
> 
> Thanks. I overlooked signalstats. It does not give me quite what I want,
> because it's per frame but it is a lot better than abusing the histogram
> filter for that. No idea if this makes sense but maybe this total min/max
> thing could even be implemented generically in ffprobe for any
> number-valued metadata but that's just an idea.

A summary section for signalstats would make sense. As a workaround you could output from the filter to a csv and then evaluate the csv:

ffprobe -f lavfi movie=file.mov,signalstats -show_entries frame_tags=lavfi.signalstats.YMIN,lavfi.signalstats.YMAX -of csv > stats.csv

Dave Rice



More information about the ffmpeg-user mailing list