Как вытеснить одно видео, пока поступает другое, с помощью FFMPEG?

Как вытеснить одно видео, пока поступает другое, с помощью FFMPEG?

Я пытаюсь добиться эффекта скользящей анимации, при ffmpegкотором текущий ввод выталкивается влево, а следующий ввод появляется на экране справа.

Пока что у меня есть эта команда, которая достигает последней части эффекта с помощью фильтра overlay.

ffmpeg -y -i /tmp/temp_videos/0000.mp4 -itsoffset 5 -i /tmp/temp_videos/0001.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS[v0]; \
[1:v]setpts=PTS-STARTPTS+7/TB[v1]; \
[v0][v1]overlay=x='if(gte(w-(t-7)*2000,0),w-(t-7)*2000,0)':y=0[out]" -map '[out]' -y test.mp4

Он берет два входных видеофайла и накладывает второй поверх первого. Через 7 секунд второй входной файл выдвигается справа, закрывая первый входной файл. Положение x второго входного файла начинается за пределами экрана и уменьшается, пока не достигнет 0. Как я уже сказал, это вторая половина эффекта анимации, которого я пытаюсь добиться.

Как сделать так, чтобы первый входной сигнал выталкивался влево при поступлении второго?

Это почти тот же эффект, который я ищу, за исключением движения в противоположном направлении: https://github.com/tanersener/ffmpeg-video-slideshow-scripts/raw/master/docs/transition_push_horizontal.gif

Связанный контент