Donnerstag, 4. April 2013

Bilder aus Flash-Dateien extrahieren

Manchmal ist es nötig, aus Flash-Dateien Bilder zu extrahieren. Dabei handelt es sich um Dateien mit der Endung .swf. Die meisten Linux-Distributionen haben in ihren Repositorys ein Paket mit der Bezeichnung swftools, das Werkzeuge zum Bearbeiten von Flash-Dateien und zum Konvertieren anderer Dateien in Flash-Dateien enthält. Das Paket ist in der Regel nicht nach der Grundinstallation vorhanden, sondern muss nachinstalliert werden.

Zu den swftools gehört das Kommandozeilenprogramm swfextract, das es ermöglicht, Videoclips, Klänge, Bilder und anderes aus Flash-Dateien zu extrahieren. Im folgenden Beispiel wollen wir ein Bild bekommen, das sich in der Datei beispiel.swf befindet. Mit dem Befehl swfextract beispiel.swf können wir uns anzeigen, was die Datei enthält.

In diesem Beispiel zeigt die zweite Zeile, dass die Datei ein JPEG-Bild mit der ID 2 enthält. Wir wollen nun dieses Bild extrahieren. Dazu geben wir folgenden Befehl ein:

swfextract -v -j 2 -o jpeg_datei.jpg beispiel.swf

Die Option -v steht für "verbose" und bedeutet nur, dass ausgegeben werden soll, was passiert. Mit -j 2 wird das JPEG-Bild mit der ID 2 angegeben, das wir bekommen wollen. Die Option -o gibt die Output-Datei an, das heißt, die Datei, in der das Ergebnis gespeichert werden soll. In diesem Fall geben wir der Datei die Bezeichnung jpeg_datei.jpg. Als letztes wird noch die Flash-Datei angegeben, der das Bild entnommen werden soll. In diesem Fall heißt sie beispiel.swf.

Das Bild sollte nach der Eingabe des Befehls aus der Flash-Datei extrahiert werden. Wer mehr über die Optionen des Tools erfahren möchte, kann den Befehl swfextract --help eingeben.