Page 1 of 1

Analyze Video Levels

Posted: Sat Sep 21, 2019 7:41 pm
by RezaHosseini
Hi!

Are there any plans on creating an analyze function for analyzing video levels?

Example workflow:
Folder(Monitor folder)>Loudness(analyze loudness)>Video Levels(analyze video levels)>Conditional(if LUFS and Peak values are legal, and video levels are legal)>Folder(Deliverys)

I would love this feature.

Kind regards Reza!

Re: Analyze Video Levels

Posted: Sun Sep 22, 2019 6:44 am
by emcodem
Hey Reza!
to be honest, in first place asking for a "video levels analyzer" looks to be a quite common request but typically this kind of analysis is very specific to a certain usecase so i cannot imagine what exact data would be of interest for many people.

What exactly are you referring to when talking about Video Levels - ist it the "signal range (0-255,16-235)" - so are you talking about the common term "broadcast safe"?

Are you aware that you can make your own custom ffprobe using the commandline node currently in ffastrans?

Re: Analyze Video Levels

Posted: Sun Sep 22, 2019 6:52 pm
by RezaHosseini
Hi emcodem!

Yes I am talking about the signal range. For example, I want it to analyze all frames in the videofile and give me the lowest and highest value.
If all frames are within the signal range of 16-235 then the file should be forwarded.

I have started reading about how to do it with ffprobe but I need to read some more and I have not tried it yet. I need to learn how it works and how to get the lowest and highest value from the videofile into textfiles so i can populate then into variables in FFAStrans.
From what i have read, it seems that ffprobe gives you all the values for each frame and i am only interested in getting the lowest and highest.
There might be a way to get this, so its back to reading some more.
Any help to get this info from ffprobe would be appreciated.

Kind regards Reza.

Re: Analyze Video Levels

Posted: Mon Sep 23, 2019 9:24 am
by emcodem
Unfortunately it is not clear to me what exactly you are after, the request leaves lots of space for interpretation. In this kind of scenario one typically knows some EBU number or similar for the algorithm he wants to have applied.
Can you tell if the values you seek are contained in the signalstats filter Output like here?

Code: Select all

ffmpeg -v 32 -stats -i "INPUTFILE" -vf:? "signalstats,metadata=print:file='c\:\\temp\\levels.txt'" -f null -