
Der folgende Code funktioniert einwandfrei, aber ich schaffe es nicht, den Bildzoom zu einem bestimmten Zeitpunkt zu starten. Ich möchte beispielsweise, dass der Zoom nach 5 Sekunden wirksam wird und nicht sofort, wenn das Hintergrundvideo startet.
ffmpeg -i background.avi -i image.png \
-filter_complex "1:v]scale=8000x4000,setsar=1/1,zoompan=z='min(zoom+0.005,10)':d=125:s=530x680,trim=duration=3[v1];[0:v][v1]overlay=20:20" \
-c:v libx264 output.avi
Antwort1
Verwenden
ffmpeg -i background.avi -loop 1 -i image.png \
-filter_complex
"[1:v]scale=8000x4000,setsar=1/1,zoompan=z='if(gte(in,125),min(pzoom+0.005,10),1)':d=1:s=530x680,
trim=duration=3[v1];[0:v][v1]overlay=20:20"
-c:v libx264 output.avi
Da Sie dies auf ein Video anwenden, ist pzoom die richtige Variable. d
sollte auf 1 gesetzt werden, da es die Dauer des Zoomeffektintervalls für jedenIndividuellRahmen. Stellen Sie sicher, dass Sie eine aktuelle ffmpeg-Version verwenden. In früheren Versionen gab es einen Fehler, bei dem pzoom nicht richtig funktionierte.