Animierte Gifs sind allgegenwärtig auf Social-Media-Websites, Boten und mehr. Sie sind meist kurz und direkt auf den Punkt. Wollten Sie schon einmal einen kurzen Ausschnitt eines interessanten Teils eines Videos teilen? Sie können ein animiertes GIF aus einer Videodatei erstellen, die Sie über mehrere soziale Websites und / oder Chat-Anwendungen teilen können.

Dieser Artikel beschreibt, wie ein animiertes GIF eines Snippets eines Videos unter Linux mithilfe von Befehlszeilentools erstellt wird.

Konfiguration

Um ein animiertes Gif aus einem Video zu erstellen, benötigen wir zwei Tools. Die erste würde verwendet werden, um nur den Teil des Videos abzuschneiden oder zu schneiden, an dem wir interessiert sind, und gleichzeitig Schnappschüsse zu machen und die einzelnen Gif-Bilder zu erzeugen. Das zweite Tool würde diese generierten Gifs in das fertige animierte Gif kombinieren.

Tool 1 ist ffmpeg, das nach seiner eigenen Definition in der Lage ist, alles, was Menschen und Maschinen erstellt haben, zu dekodieren, zu encodieren, zu transcodieren, zu muxen, zu demuxen, zu streamen, zu filtern und zu spielen . Leider ist ffmpeg aus Gründen, die nicht in den Rahmen dieses Artikels fallen, nicht auf den offiziellen Ubuntu-Repositories für Ubuntu-Versionen zwischen 11.10 und 14.10 verfügbar. Zum Glück soll ffmpeg ab Ubuntu 15.04 zu den offiziellen Ubuntu-Repositories zurückkehren und im April 2015 veröffentlicht werden.

Um ffmpeg in Ubuntu-Versionen zu installieren, wo es nicht in den offiziellen Repositories ist, können Sie entweder die statischen Builds von hier herunterladen, den Quellcode mit git klonen,

 git Klon git: //source.ffmpeg.org/ffmpeg.git ffmpeg 

oder fügen Sie Jon Svenrinssons PPA mit den folgenden Befehlen hinzu:

 sudo apt-add-repository ppa: jon-severinsson / ffmpeg sudo apt-get Aktualisierung sudo apt-get install ffmpeg 

Das zweite Werkzeug ist imagemagick, mit dem Benutzer Bilder auf verschiedene Arten manipulieren können. Imagemagick ist über die offiziellen Ubuntu Installationskanäle verfügbar und kann mit folgendem Befehl installiert werden:

 sudo apt-get installieren ImageMagick 

Snipping das Video

Animierte Gifs sind besser als kurze Clips. Ein animiertes GIF ist eine Folge von verschiedenen GIF-Bildern, die nacheinander angezeigt werden. Wenn jedes GIF 1 MB groß ist und Ihre Animation 100 Bilder enthält, wäre Ihr animiertes GIF 100 MB. Du willst definitiv keinen zweistündigen Film in ein animiertes Gif verwandeln. Das erste, was wir tun würden, ist, Schnappschüsse des Videos zwischen einem gewählten Start- und Stopp-Punkt zu machen und diese Schnappschüsse als gif-Bilder zu speichern.

Erstellen Sie zuerst ein Verzeichnis, in dem die generierten Gifs gespeichert werden.

 mkdir ffmpeg_dir 

Dann führe den Befehl aus und ersetze "video.mp4" mit deiner gewünschten Videodatei:

 ffmpeg -ss 00:00:02 -i video.mp4 -zu 5 -r 5 -vf scale = 400: -1 ffmpeg_dir / out% 04d.gif 

Im obigen Befehl sind die Optionen und ihre Beschreibungen:

  • ss - Aufnahme an der Position starten. Die Position kann entweder eine Zahl in Sekunden oder eine absolute Position im Video sein, ausgedrückt in "hh: mm: ss [.xxx]" (mit Millisekunden optional)
  • i - der Eingang video.mp4
  • - Stoppt die Aufnahme an der Position. Die Position kann auch eine Zahl in Sekunden sein (was bedeutet, dass sie für die angegebene Anzahl von Sekunden aufgezeichnet werden kann), oder sie kann eine absolute Position im Video sein.
  • vf - Filtergraph. Wir verwenden es, um die generierten Bilder auf unsere gewünschte Größe zu skalieren (Maßstab = Breite: Höhe). Wir haben -1 für die Höhe angegeben, was bedeutet, dass das Seitenverhältnis beibehalten werden sollte, während die Breite 400 Pixel betragen sollte. Die erzeugten Bilder können verzerrt werden, indem willkürliche Werte für Breite und Höhe angegeben werden
  • r - Bildrate (Bilder pro Sekunde). Ein höherer Wert bedeutet, dass mehr Bilder erfasst werden, was zu einer flüssigeren Animation, aber einem größeren animierten GIF führen würde.

Der Ordner "ffmpeg_dir" sollte nun gif-Bilder enthalten. Die Gesamtanzahl der Bilder hängt von der Länge des gewünschten Clips und der Bildfrequenz ab.

Erstellen der Animation

Um die Gifs zu einem riesigen animierten GIF zusammenzufügen, verwenden wir ein ImageMagick Tool namens Convert.

 convert -delay 1x5 -loop 0 ffmpeg_dir / out * .gif ffmpeg_dir / animation.gif 

  • delay - Gibt die Dauer der Pause zwischen den Bildern an (dh die Animationsgeschwindigkeit). 1 × 5 zeigt 5 Bilder pro Sekunde an.
  • loop - gibt die Anzahl der erforderlichen Iterationen an. 0 bedeutet unendlich.

Fazit

An diesem Punkt sollten Sie eine benutzerdefinierte Animation haben, bereit, mit reddit, google +, facebook, bbm und mehr zu teilen. Experimentieren Sie mit der Bildrate auf ffmpeg (-r) und konvertieren Sie (-delay), um die kleinste Animation bei der kleinsten Gesamtdateigröße zu erzielen. Jetzt können Sie animierte Gif-Bilder von Ausschnitten Ihrer Lieblingsvideos erstellen.