So vergrößern und verkleinern Sie Videos mit FFmpeg
FFmpeg ist ein leistungsstarker Open-Source-Audio- und Videokonverter. Mit FFmpeg können wir fast alle Arten von Mediendateien kodieren, dekodieren, transkodieren, muxen, demuxen, aufzeichnen, in der Größe ändern, streamen, filtern und abspielen. Darüber hinaus können wir auch Live-Audio-/Videostreams abrufen. FFmpeg wird mit vielen Filtern geliefert, um verschiedene Aufgaben auszuführen. Einer der weniger bekannten, aber nützlichen Filter ist Zoompan. Mit dem Zoompan-Filter können wir Videos unter Linux einfach vergrößern und verkleinern. Lassen Sie mich Ihnen anhand eines Beispielbefehls zeigen, wie das geht.
Stellen Sie sicher, dass Sie FFmpeg auf Ihrem Linux-Computer installiert haben. Im folgenden Link haben wir die Schritte zur Installation von FFmpeg auf gängigen Linux-Betriebssystemen dokumentiert.
- So installieren Sie FFmpeg unter Linux
Sobald FFmpeg installiert ist, gehen Sie zu dem Speicherort, an dem Sie das Video gespeichert haben, und führen Sie den folgenden Befehl aus, um es alle X Sekunden zu vergrößern und zu verkleinern:
ffmpeg -i input.mp4 -vf "zoompan=z='if(lte(mod(time,10),3),2,1)':d=1:x=iw/2-(iw/zoom/2):y=ih/2-(ih/zoom/2):fps=30" output.mp4
Mit dem obigen Befehl wird für die ersten 3 Sekunden jedes 10-Sekunden-Blocks in die Mitte des Videos hineingezoomt, um 2x zu vergrößern. Ersetzen Sie input.mp4
durch Ihren Dateinamen. Passen Sie außerdem die Werte entsprechend Ihren Anforderungen an und stellen Sie die FPS für den Filter so ein, dass sie mit der Eingabe übereinstimmt. Der Standardwert ist 25.
Sie können die FPS-Details neben anderen Details eines bestimmten Videos mit dem folgenden Befehl finden:
ffmpeg -i input.mp4
Finden Sie den FPS-Wert eines Videos mit ffmpeg
Hier ist das eigentliche Eingabevideo vor der Konvertierung:
Video eingeben
Und hier ist das konvertierte (vergrößerte) Video:
Video ausgeben
Haben Sie den Unterschied bemerkt? Das Video wird in den ersten 3 Sekunden auf das Zweifache vergrößert und wechselt dann wieder zum Normalzustand (Herauszoomen). Genau bei der 10. Sekunde wird das Video für die ersten 3 Sekunden erneut vergrößert und der Zyklus wird fortgesetzt, bis das Video endet.
Sie können auch die folgenden Zoompan-Einstellungen ausprobieren, die im Hilfeabschnitt zum FFmpeg-Zoompan-Filter aufgeführt sind.
Vergrößern Sie das Bild bis zum 1,5-fachen und schwenken Sie gleichzeitig zu einer Stelle in der Nähe der Bildmitte:
zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360
Bis zum 1,5-fachen heranzoomen und immer in der Bildmitte schwenken:
zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
Wie oben, jedoch ohne Pause:
zoompan=z='min(max(zoom,pzoom)+0.0015,1.5)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
Nur für die erste Sekunde des Eingabevideos 2x in die Bildmitte hineinzoomen:
zoompan=z='if(between(in_time,0,1),2,1)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
Weitere Beispiele für FFmpeg-Befehle finden Sie in der folgenden Anleitung:
- Über 20 FFmpeg-Befehle für Anfänger
Hoffe das hilft.