[FFmpeg-user] How to filter time dependent
Michael Koch
astroelectronic at t-online.de
Fri Apr 23 10:04:13 EEST 2021
Am 22.04.2021 um 23:27 schrieb Ulf Zibis:
>
> Am 22.04.21 um 13:01 schrieb Michael Koch:
>> Am 22.04.2021 um 12:50 schrieb Ulf Zibis:
>>> Hi,
>>>
>>> I want to filter a video from pts 0 to 1999 with filter A, then from
>>> 2000 to 2199 with filter B, from 2200 with filter A and finally the
>>> whole stream with filter C.
>>>
>>> Can one please give me an example for a working command line?
>>>
>>
>> untested:
>> ffmpeg -i input.mp4 -lavfi
>> split[a][b];[a]filter_A[c];[b]filter_B[d];[c][d]select=bitor(between(t,0,1999),between(t,2200,10000)),filter_C
>> out.mp4
>
> I found out, that the 'between(t,a,b)' should be surrounded by colons.
>
> But anyway the reality is more complex. I have to use 3 different
> filters. So I tried:
> ffmpeg -i input.mp4 -filter_complex
> "split[a][b][c];[a]filter_A[d];[b]filter_B[e];[c]filter_C[f];[d]select='between(t,0,1999)';[e]select='between(t,2000,2199)';[f]select='between(t,2200,10000)'",filter_D
> out.mp4
Sorry that my example was wrong. Please have a look at the
"streamselect" filter instead of "select".
However the problem might be easier to solve if your filters A, B and C
have timeline support with "enable" option. Use this command to find out
if your filters have timeline support:
ffmpeg -filters
Michael
More information about the ffmpeg-user
mailing list