[FFmpeg-user] Problem with astats and adrawgraph

Michael Koch astroelectronic at t-online.de
Tue Nov 26 19:23:32 EET 2019


Am 26.11.2019 um 17:48 schrieb Michael Koch:
> Am 26.11.2019 um 17:32 schrieb Michael Koch:
>> Am 26.11.2019 um 14:26 schrieb Paul B Mahol:
>>>
>>>> I have a new example with testsrc2 and anoisesrc. There is no input 
>>>> file
>>>> required for reproducing.
>>>> There are two graphs: The first one uses signalstats and drawgraph, 
>>>> and
>>>> the second one uses astats and adrawgraph. The problem is that the two
>>>> graphs don't advance with the same speed in X direction. Do you 
>>>> have an
>>>> idea how to make them synchrone?The video width is the same in both
>>>> cases, otherwise vstack wouldn't work.
>>>> The speed of drawgraph is correct, 1 pixel per frame. The speed of
>>>> adrawgraph is too fast.
>>>>
>>>> Other question: reset=1 in astats means that the calculation result is
>>>> reset after each frame. But how does the filter know when a frame 
>>>> ends,
>>>> if the input of this filter is only an audio signal?
>>>>
>>>> c://ffmpeg/ffmpeg -f lavfi -i testsrc2=size=hd1080:duration=10:rate=25
>>>> -f lavfi -i anoisesrc=d=10:c=pink:r=48000 -lavfi
>>>> [0]signalstats,drawgraph=m1=lavfi.signalstats.YAVG:mode=line:slide=scroll:min=0:max=255,settb=1/25[G1];[1]astats=metadata=1:reset=1,adrawgraph=m1=lavfi.astats.1.RMS_level:mode=line:slide=scroll:min=-90:max=0,settb=1/25[G2];[G1][G2]vstack,settb=1/25 
>>>>
>>>> -r 25 -y test.mp4
>>>>
>>> Use asetnsamples, to change size of audio frame to match you video FPS.
>>
>> At which place would you insert it? I did insert 
>> asetnsamples=n=48000/25 before astats and now I get "Error while 
>> filtering: Cannot allocate memory"
>
> It works when I replace 48000/25 by 1920. Problem solved.

It seems that in some cases expressions are allowed and in other cases 
they are not allowed.
For example settb=1/25 is ok, but asetnsamples=n=48000/25 gives an 
unclear error message.
How can the user know for which parameters it's allowed to use 
expressions and for which not?
I mean without try and error.

Michael



More information about the ffmpeg-user mailing list