ffmpeg -i input.mp4 -vf "scale=(iw*sar)*min(1280/(iw*sar)\,720/ih):ih*min(1280/(iw*sar)\,720/ih), pad=1280:720:(1280-iw*min(1280/iw\,720/ih))/2:(720-ih*min(1280/iw\,720/ih))/2" output.mp4
Lassen Sie mich diesen Befehl für Sie aufschlüsseln:
ffmpeg -i input.mp4
Dies ist die Standardeingabemethode für ffmpeg. Ersetzen Sie "input.mp4" durch den Namen Ihrer Eingabedatei.
-vf
Gibt an, dass im Befehl einige Videofilter folgen. Die angegebenen Videofilter werden nacheinander auf jedes Bild angewendet.
scale=(iw*sar)*min(1280/(iw*sar)\,720/ih):ih*min(1280/(iw*sar)\,720/ih)
Der erste Filter ist der Skalenfilter. Der Skalenfilter ist leistungsfähig, da er Wertersetzung und Mathematik ausführen kann. In diesem Fall berechnet die Mathematik die neue skalierte Breite und Höhe. Das Eingabebild wird so skaliert, dass es der Breite und / oder Höhe des gewünschten Ausgabeformats entspricht, ohne das Bild zu verzerren. Sie müssen keine Änderungen an den Skalenparametern vornehmen, da diese automatisch die tatsächlichen Werte für "iw", "sar" und "ih" ersetzen. Da Ihr Eingangsvideo 4x3 ist, wissen wir, dass die Berechnung auf eine Höhe von 720 aber eine Breite von weniger als 1280 skaliert werden kann. Weitere Informationen: https://ffmpeg.org/ffmpeg-filters. html # scale-1
pad=1280:720:(1280-iw*min(1280/iw\,720/ih))/2:(720-ih*min(1280/iw\,720/ih))/2
Der zweite Filter ist der Pad-Filter. Es hat die gleichen mathematischen / Substitutionsfunktionen wie die Skalierungsfunktion. So wird es die genauen Zahlen für Sie herausfinden. Sie müssen nichts ändern, damit es funktioniert. Die Parameter weisen den Pad-Filter an, die Ausgabe auf 720 x 1280 zu stellen und das Eingabebild in der Mitte des Frames zu platzieren. Der Pad-Filter füllt das Ausgabebild überall dort mit Schwarz, wo das Eingabebild nicht bedeckt ist. Bei Ihrer Eingabe wissen wir, dass der Skalenfilter die Höhe auf 720 skaliert hat, die Breite jedoch 1280 nicht erreicht hat. Daher werden die Seiten mit schwarzen Balken versehen, um den Unterschied auszugleichen. Weitere Informationen: https://ffmpeg.org/ffmpeg-filters.html#pad
output.mp4
Dies gibt die Ausgabedatei an, in der ffmpeg die Ergebnisse ablegt. Möglicherweise müssen Sie alle Arten von Parametern für Format, Bitrate usw. hinzufügen, um Ihre genauen Anforderungen zu erfüllen.