ffmpeg-Vorschaubilder mit genauem Seitenverhältnis der Hauptgröße

3

Hallo, brauche ein Thumbnail mit einer Auflösung von 560x420.

Ich benutze diesen Befehl:

ffmpeg -i "file.mp4" -vf "scale=560:-1,pad=max(iw\,ih):420:(ow-iw)/2:(oh-ih)/2" \
  -frames:v 1 best.png

Dieser Befehl funktioniert .. jede andere Alternative? Das Bild kann nicht deformiert werden.

diogopms
quelle
1
Und was ist an diesem besonders falsch? ffmpeg hat diesen Trick immer für mich gemacht.
David Jashi

Antworten:

1

Hacken Sie es von dieser Befehlszeile, die jeden Keyframe extrahiert, zu einem JPG mit konstanter Breite im gleichen Verhältnis des Bildes

ffmpeg -threads 4 -i my_movie.mp4 -vf "select=eq(pict_type\,I)" -vsync vfr -filter:v scale=560:-1,crop=iw:ih*0.75 -q:v 3 -qscale:v 3 out%05d.jpg

Auf diese Weise wird Ihr Verhältnis von 560/420 beibehalten, ohne dass Bilder verzerrt werden, da jeder Overhead abgeschnitten würde.

Sie wollen wahrscheinlich nur diesen Teil: -vsync vfr -filter:v scale=560:-1,crop=iw:ih*0.75

Mokubai
quelle
a) Sie beschneiden das Bild, OP hat nicht gesagt, dass das OK ist, und auf jeden Fall Ihr ih*0.75 Angenommen, die Eingabe ist quadratisch. Es sollte gerecht sein 420, Sie müssen auch c) auffüllen, wenn Sie eine Bildsequenz ausgeben, vsync ist irrelevant - auch hier wollte das OP nur ein Bild.
Gyan