
Jemand hat eine ähnliche Frage gestellt, nur dass er viele Bilder verschoben hat und deshalb meine Lösung nicht aus seiner Antwort ableiten konnte. Ich versuche, nur ein Bild von rechts nach links zu verschieben, indem ich es auf ein Hintergrundbild lege. Meine Startposition (640) ist so verschoben, dass das gleitende Bild am Anfang nicht sichtbar ist, sondern das Hintergrundbild. Das Ziel ist, dass das Bild nach 46 Sekunden zu gleiten beginnt und anhält, wenn es sich an derselben Position wie das Hintergrundbild befindet, anstatt weiter zu gleiten, bis es verschwindet. Unten steht, was ich ohne Erfolg versucht habe.
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
Ich glaube, es hat etwas mit (*100) zu tun, aber ich komme einfach nicht auf die Lösung. Ich habe alle meine Versuche erschöpft.
Antwort1
Verwenden
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