[FFmpeg-user] Missing ')' or too many args in 'between(t'

Ulf Zibis Ulf.Zibis at CoSoCo.de
Thu May 7 03:46:19 EEST 2020


Am 06.05.20 um 20:48 schrieb James Darnley:
> On 06/05/2020, Ulf Zibis <Ulf.Zibis at cosoco.de> wrote:
>> -af volume='not(between(t,46:50,48:50))',volume='not(between(t,1:30:00,1:31:00))',atempo=1/1.1/1.3,aresample=48000/1.1,asetrate=48000
>> [Parsed_volume_0 @ 0x55b1b575cd40] [Eval @ 0x7ffed56fa4a0] Missing ')' or
>> too many args in 'between(t'
>> [Parsed_volume_0 @ 0x55b1b575cd40] Error when evaluating the volume
>> expression 'not(between(t'
>> [AVFilterGraph @ 0x55b1b575c5c0] Error initializing filter 'volume' with
>> args 'not(between(t'
>
> You need to escape those commas.  Commas separate different filters.
> Probably the colons too which separate different arguments for a
> single filter.

Thanks for the hint. I already tested escaping the commas with '\' but with hours:minutes:seconds. This didn't work.

Now I tried with pure seconds, an this worked. Here is my command:
$ ffmpeg -ss 03:00 -t 01:30:50 -i in.mp3 -f lavfi -i life=s=320x240:mold=10:r=30:ratio=0.1:death_color=#C83232:life_color=#00ff00 -af volume='not(between(t\,2791\,2911))':eval=frame,volume='not(between(t\,5397\,5457))':eval=frame,atempo=1/1.1/1.3,aresample=48000/1.1,asetrate=48000 -vf format=yuv420p -crf 39 -shortest out_1.3x.mp4

I tried several versions to escape the collons, but found no solution.
I think, that there must be a solution similar to the examples here: https://ffmpeg.org/ffmpeg-filters.html#Examples-5

Does one have a clue, how it could work?

-Ulf



More information about the ffmpeg-user mailing list