ffmpeg
kann jetzt GIF mit höherer Qualität ausgeben. Wenn Sie einen älteren Build verwenden, sollten Sie einen kürzlich erstellten statischen Build herunterladen oder kompilierenffmpeg
.
ffmpeg
Beispiel
203k
In diesem Beispiel werden die ersten 30 Sekunden der Eingabe übersprungen und eine Ausgabe von 3 Sekunden erstellt. Es skaliert die Ausgabe auf 320 Pixel und bestimmt automatisch die Höhe, wobei das Seitenverhältnis beibehalten wird. Die palettegen
und- paletteuse
Filter erstellen eine benutzerdefinierte Palette, die aus Ihrer Quelle generiert wird, und verwenden diese.
Erzeugen Sie eine Palette:
ffmpeg -y -ss 30 -t 3 -i input.flv \ -vf fps=10,scale=320:-1:flags=lanczos,palettegen palette.png
Geben Sie das GIF mithilfe der Palette aus:
ffmpeg -ss 30 -t 3 -i input.flv -i palette.png -filter_complex \ "fps=10,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
Siehe Hochwertige GIF mit FFmpeg für viele weitere Beispiele und Optionen.
convert
Beispiel
Eine andere Befehlszeilenmethode wäre, den Film in Frames zu exportieren und ffmpeg
dann die GIF-Datei mit convert
ImageMagick (oder GraphicsMagick) zu erstellen .
246k
Frames exportieren:
mkdir frames ffmpeg -i input -vf scale=320:-1:flags=lanczos,fps=10 frames/ffout%03d.png
Dann
convert
(odergm convert
wenn Sie GraphicsMagick bevorzugen), um ein animiertes GIF zu erstellen:convert -loop 0 frames/ffout*.png output.gif
Mit können convert
Sie die Verzögerung zwischen Bildern mit einstellen, -delay
falls gewünscht.