.png)
Ich versuche, die Leinwandgröße einiger Videos zu vergrößern, wobei der Inhalt zentriert ist und auf jeder Seite ein Abstand von 50 % hinzugefügt wird. Ich verwende hauptsächlich FFMPEG. Ich habe auch Handbrake und VirtualDub zur Hand. Ich bin offen dafür, etwas anderes zu verwenden, wenn es funktioniert.
Ich möchte das Originalvideo nicht verkleinern.
Hier ist ein Code, den ich nicht zum Laufen bringen konnte:
ffmpeg -i input.webm -vf "pad=width=ow*2:height=oh*2:x=ow/2:y=oh/2:color=black" output.webm
Antwort1
Sie müssen iw
/ ih
anstelle von ow
/ verwenden oh
:
ffmpeg -i <input> -vf "pad=iw*2:ih*2:iw/2:ih/2" <output>
Andernfalls kann der Pad-Filter die gewünschte Größe nicht berechnen, da die Ausgabebreite/-höhe erst nach dem Auffüllen definiert wird.
Die Optionsnamen werden nicht benötigt, ebenso wenig wie die Definition von Schwarz als Hintergrundfarbe (das ist die Standardeinstellung).
Wenn Ihre Ausgabedatei eine geringere Qualität als die Eingabe hat, liegt das daran, dass ffmpeg das Video mit dem Standardencoder für das gewählte Ausgabeformat (z. B. libvpx-vp9
für .webm
oder libx264
für .mp4
) mit Standardqualitätseinstellungen neu kodiert. Sie sollten wahrscheinlich eine ausreichend hohe Bitrate (mit 2-Pass-Kodierung) oder einen ausreichend guten konstanten Qualitätsfaktor (CRF) wählen. Siehe dieVP9oderH.264Weitere Informationen zum Ändern der Qualität für diese bestimmten Codecs finden Sie in den Kodierungshandbüchern.