Bilder aus Filmen extrahieren mit ffmpeg

Bilder aus Filmen extrahieren mit ffmpeg

Bei meinem letzen Projekt1 stand ich vor dem Problem, dass ich neben den Filmaufnahmen keine Fotos gemacht hatte. Nach einiger Suche habe ich einen einfachen Weg gefunden aus einem Film gute Bilder fürs Web zu extrahieren. Dazu verwende ich das Tool FFmpeg. In diesem Blogbeitrag beschreibe ich, wie das Tool installiert und angewendet wird.

Wenn man ein Video dreht und darüber noch einen Blogbeitrag schreibt, steht man vor der Herausforderung, zusätzlich zum filmen noch fotografieren zu müssen, um ein paar gute Bilder für die Beschreibung zu erhalten. Ich finde es schwierig gleichzeitig zu filmen und zu fotografieren. Ein gutes Bild und eine gute Filmsequenz sind doch recht unterschiedliche Dinge.

Schon einige Zeit hatte ich die Idee, die Bilder einfach aus dem Film zu extrahieren. Leider hat eine erste Googelsuche kein brauchbares Resultat gebracht. Dann ist mir das Kommandozeilentool FFmpeg2 eingefallen. FFmpeg kann fast jedes Film-, Grafik- oder Audioformat in ein anderes umwandeln oder Teile davon extrahieren. Und tatsächlich, eine kurze Googelsuche hat den richtigen Befehl hervorgezaubert.

Aber bevor man mit FFmpeg loslegen kann, muss es installiert werden. FFmpeg läuft auf allen gängigen Betriebsystemen3. Ich beschreibe hier die Installation für das Mac OSX mit Hilfe von Homebrew.

Homebrew4 ist ein Werkzeug um beliebige Kommandozeilen Programme auf dem Mac zu installieren. Für die Installation genügt es folgende Zeilen in der Kommandozeile einzugeben und den Anweisung zu folgen:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Danach ist Homebrew bereit FFmpeg zu installieren oder eben zu brauen. Dazu genügt ein simples

brew install ffmpeg

Damit ist FFmepg installiert und kann eingesetzt weden. Mit folgendem Kommando kann jetzt ein Bild zum einem genauen Zeitpunkt zu exrahiert werden.

ffmpeg -i pfad_zur_video_datei -ss 00:00:14.435 -vframes 1 out.png

Nun möchte ich alle 10 Sekunden ein Bild von meinem Video erhalten. Das erledigt folgendes Kommando:

ffmpeg -i pfad_zur_video_datei -f image2 -vf fps=1/10 img%03d.jpg

Nach ca. 2 Minuten hatte ich von einem achtminütigen Video 50 Bilder extrahiert. Das spart viel Arbeit. Was mich noch fast mehr erstaunt hat: Es waren tatsächlich viele gute Bilder darunter. Ich hatte keine Probleme passende Bilder für die Beschreibung des Videos zu finden. Wer genau wissen will was obige Kommandozeile macht, kann dies im FFmpeg Wiki 5 nachlesen.

 

2 Comments

Neat blog! Is your theme

Neat blog! Is your theme custom made or did you download it from somewhere? A theme like yours with a few simple tweeks would really make my blog jump out. Please let me know where you got your design. Thanks fddegkfadefa

It's a corolla theme. I was

It's a corolla sub theme. I was looking for a simple theme, that is easy to tweak and is responsive out of the box. It's based on adaptive theme, which has lots of good documentation. If you're familiar with drupal it's easy to customize. Adding responsive styles is also very easy, which was a must for me.

Neuen Kommentar schreiben