Кто-то задал похожий вопрос, за исключением того, что они скользили по нескольким изображениям и поэтому не могли найти свое решение из своего ответа. Я пытаюсь скользить только одно изображение справа налево, накладывая его на фоновое изображение. Моя начальная позиция (640) смещена так, что скользящее изображение не видно в начале, но фоновое изображение. Цель состоит в том, чтобы изображение начинало скользить через 46 секунд и останавливалось, когда оно находилось в том же положении, что и фоновое изображение, а не продолжало скользить, пока не исчезло. Ниже то, что я пытался без какого-либо успеха.

ffmpeg -loop 1 -t 67 -i background.png -loop 1 -t 5 image1.png
       -filter_complex
        "[0:v]scale=640x720,setsar=1/1[v0];[1:v]scale=640x720,setsar=1/1[v1]
        [v0][v1]overlay=shortest=1:x='min(640,-(t-46)*100))'"
       -y output.mp4

Я думаю, что это как-то связано с (* 100), но я просто не могу найти решение. Я исчерпал все свои попытки.

1 ответ1

0

использование

ffmpeg -loop 1 -t 67 -i background.png -loop 1 -t 6.5 image1.png 
  -filter_complex "[0:v]scale=640x720,setsar=1/1[v0];
                   [1:v]scale=640x720,setsar=1/1,setpts=PTS+46/TB[v1];
                   [v0][v1]overlay=shortest=1:x='max(0,640-(t-46)*100))':enable='gte(t,46)'"
  -y output.mp4

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .