Schnittdauer des animierten Gifs

11

Ich habe ein animiertes GIF und möchte die letzten 5 Sekunden abschneiden. Weiß jemand, wie man das unter Linux / Ubuntu macht?

Rotareti
quelle
Ich denke, ein Online-Editor wäre viel einfacher als ein spezieller GIF-Editor für Ubuntu zu finden. Wenn Sie die Datei jedoch als Ebenen in GIMP öffnen, können Sie die nicht gewünschten Frames manuell löschen, bevor Sie sie erneut als GIF exportieren.
TheWanderer

Antworten:

13

Es gibt mehrere Möglichkeiten, dies zu tun.

Option 1: Verwenden Sie ein Befehlszeilenprogramm namens gifsicle . Es ist in Standard-Ubuntu / Debian-Repositorys verfügbar.

Es ist schnell und hat keinen Einfluss auf die Qualität. Beim Kauf werden nur Bildnummern und keine Zeit akzeptiert. Wenn Sie also die genaue Zeit kürzen müssen, sollten Sie die Bildnummer selbst herausfinden. Mit diesem Befehl können Sie die Gesamtzahl der Frames und die Verzögerungszeiten zwischen den einzelnen Frames anzeigen:

gifsicle --info YOURFILE.gif

Dann können Sie die Zeit, die Sie schneiden möchten, durch die Bildverzögerung teilen und erhalten die Anzahl der Bilder in dieser Zeit, sodass Sie das Startbild und das Endbild herausfinden können.

Ersetzen Sie XXXX durch den Rahmen, in dem Ihr GIF beginnen soll, und JJJJ durch den Rahmen, in dem Ihr GIF enden soll.

gifsicle YOURFILE.gif '#XXXX-YYYYY' -O3 > cut.gif

Option 2: Verwenden von FFMPEG. Es ist auch in apt erhältlich.

FFMPEG akzeptiert die Zeit direkt, ist also sehr einfach, kann jedoch in einigen Fällen die Qualität des Ausgabe-GIF verschlechtern und die Dateigröße erhöhen.

ffmpeg -i YOURFILE.gif -ss 00:00:04 -t 00:00:08 -async 1 cut.gif

Option 3: Wenn Sie mit Online-Tools einverstanden sind und Ihr GIF 20 MB nicht überschreitet, kann dieses Online-Tool GIFs nach Frame-Nummer oder Zeit schneiden und hat keinen Einfluss auf die Qualität.

Maadinsh
quelle
1
FYI für andere -O3ist eine Optimierungsoption und nicht erforderlich (obwohl möglicherweise hilfreich) und #XXXXnur ein Platzhalter für die Rahmennummer. Verwenden Sie die Frame-Nummern so, wie sie in der vorherigen --infoSchrittausgabe angezeigt wurden. In meinem Fall '#0-74'für ein GIF habe ich gerade gemacht. (Wurde für einen Moment an vierstelligen Zahlen aufgehängt, als ich das zum ersten Mal sah.)
Hendy