I’m trying to select some parts of an video, concat them, and apply an overlay that should have 1/6 of the video width:
<code>ffmpeg -reinit_filter 0 -i "input.mp4" -t 12 -loop 1 -i flag.webp -an -filter_complex "[0]select='between(t,3,9)',setpts=PTS-STARTPTS[P1];[0]select='between(t,12,15)',setpts=PTS-STARTPTS[P2];[0]select='between(t,60,70)',setpts=PTS-STARTPTS[P3];[P1][P2][P3]concat=n=3:v=1:a=0[vid];[1][vid]scale2ref=w=iw/6:h=ow/mdar[flag][vid];[vid][flag]overlay=x=20:y=20:enable='between(t,1,7)'[vid]" -map [vid] -c:v libx264 -b:v 900K -y "output.mp4"
</code>
<code>ffmpeg -reinit_filter 0 -i "input.mp4" -t 12 -loop 1 -i flag.webp -an -filter_complex "[0]select='between(t,3,9)',setpts=PTS-STARTPTS[P1];[0]select='between(t,12,15)',setpts=PTS-STARTPTS[P2];[0]select='between(t,60,70)',setpts=PTS-STARTPTS[P3];[P1][P2][P3]concat=n=3:v=1:a=0[vid];[1][vid]scale2ref=w=iw/6:h=ow/mdar[flag][vid];[vid][flag]overlay=x=20:y=20:enable='between(t,1,7)'[vid]" -map [vid] -c:v libx264 -b:v 900K -y "output.mp4"
</code>
ffmpeg -reinit_filter 0 -i "input.mp4" -t 12 -loop 1 -i flag.webp -an -filter_complex "[0]select='between(t,3,9)',setpts=PTS-STARTPTS[P1];[0]select='between(t,12,15)',setpts=PTS-STARTPTS[P2];[0]select='between(t,60,70)',setpts=PTS-STARTPTS[P3];[P1][P2][P3]concat=n=3:v=1:a=0[vid];[1][vid]scale2ref=w=iw/6:h=ow/mdar[flag][vid];[vid][flag]overlay=x=20:y=20:enable='between(t,1,7)'[vid]" -map [vid] -c:v libx264 -b:v 900K -y "output.mp4"
The output video results in a video that contains only the first part of the selections [P1] (or even less)…
Strangly if I use something like this without using concat filter everything works like expected:
<code>ffmpeg -reinit_filter 0 -i "input.mp4" -t 12 -loop 1 -i flag.webp -an -filter_complex "[0]select='between(t,3,9)+between(t,12,15)+between(t,60,70)',setpts=N/FRAME_RATE/TB[vid];[1][vid]scale2ref=w=iw/6:h=ow/mdar[flag][vid];[vid][flag]overlay=x=20:y=20:enable='between(t,1,7)'[vid]" -map [vid] -c:v libx264 -b:v 900K -y "output.mp4"
</code>
<code>ffmpeg -reinit_filter 0 -i "input.mp4" -t 12 -loop 1 -i flag.webp -an -filter_complex "[0]select='between(t,3,9)+between(t,12,15)+between(t,60,70)',setpts=N/FRAME_RATE/TB[vid];[1][vid]scale2ref=w=iw/6:h=ow/mdar[flag][vid];[vid][flag]overlay=x=20:y=20:enable='between(t,1,7)'[vid]" -map [vid] -c:v libx264 -b:v 900K -y "output.mp4"
</code>
ffmpeg -reinit_filter 0 -i "input.mp4" -t 12 -loop 1 -i flag.webp -an -filter_complex "[0]select='between(t,3,9)+between(t,12,15)+between(t,60,70)',setpts=N/FRAME_RATE/TB[vid];[1][vid]scale2ref=w=iw/6:h=ow/mdar[flag][vid];[vid][flag]overlay=x=20:y=20:enable='between(t,1,7)'[vid]" -map [vid] -c:v libx264 -b:v 900K -y "output.mp4"
Does anyone know what I’m doing wrong or how to use concat with scale2ref and overlay together? Thanks…