Home / LinuxUser / 2010 / 09 / Metainformationen bearbeiten und Bilder organisieren mit Exiftool

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

AA_tools_lusi_scx_1200629.jpg

© Lusi, sxc.hu

Alles im Griff

Metainformationen bearbeiten und Bilder organisieren mit Exiftool

13.08.2010 Das Perl-Programm Exiftool erweist sich beim Umgang mit Metadaten als Schweizer Taschenmesser: Mit ihm organisieren Sie Ihre Bilder ruckzuck in einem sauber geordneten Archiv.

Zurück aus dem Urlaub, wandern die Bilder aus der ganzen Welt in der Regel in eine Fotodatenbank. Wer sich aber nicht darauf verlassen möchte, dass deren Tags und Kategorien zuverlässig kompatibel mit kommenden Versionen der Software bleiben, der nutzt das Dateisystem für eine grundlegende Struktur in den Aufnahmen. Das Perl-Programm Exiftool [1] leistet dabei zuverlässig Hilfe. Angenehmerweise holen Sie sich die Software ohne viel Aufwand auf die Platte (siehe Kasten "Installation").

Installation

Wer in den Repositories nach dem Begriff exif sucht, findet zwar einige Programme wie Exif, Exifprobe oder Exiftran, die aber allesamt nur einen Teil des Funktionsumfangs von Exiftool abdecken. Letzteres fällt nicht direkt ins Auge, da es als Teil einer Perl-Bibliothek (libimage-exif-perl) entstand. Manche Distributionen paketieren es aber in ein eigenes Paket (libimage-exiftool-perl). Die Namen weichen je nach verwendetem System vermutlich etwas ab.

Selbst ältere Versionen unterstützen bereits eine Vielzahl an Dateiformaten. Daher brauchen Sie in der Regel nichts weiter zu tun, als den Paketmanager anzuwerfen und die Software zu installieren.

Der Griff zur aktuellsten Version von der Website empfiehlt sich dann, wenn dies den Support für ein neueres, von Ihnen verwendetes Format verspricht. Die Bibliothek – und damit verbunden das Programm Exiftool – versteht sich nämlich nicht nur auf Bildformate: Sie beherrscht noch viele weitere Medienformate, wie zum Beispiel M2TS*[2], die auf manchen modernen Camcordern zum Einsatz kommt.

Um den digitalen Aufnahmen eine erste Ordnung zu verleihen, bietet es sich an, sie nach Datum zu organisieren. Eine mögliche Variante wäre ein Ordner pro Jahr mit Unterordnern für den Monat sowie darunter für den Tag, falls viele Dateien anfallen. Fotografieren Sie selten, reicht vermutlich eine weitere Ebene unterhalb des Jahres-Ordners.

Um die Bilder nun nicht von Hand zu sortieren, nutzen Sie am einfachsten die Informationen, die in den Bilddateien selbst stecken – die sogenannten EXIF-Tags. Das Tag DateTimeOriginal beispielsweise liefert, sofern Sie die Kamera korrekt eingestellt haben, das passende Datum zur Aufnahme. Das verwenden Sie nun, um mit Exiftool die Files vollautomatisch ins Archiv zu verschieben.

Das Programm beherrscht eine Vielzahl von Operationen auf EXIF-Daten. Die Website sowie die Manpage des Programms geben ausführlich darüber Auskunft. Für den genannten Fall machen Sie sich zunutze, dass die Software auf Wunsch Werte aus den EXIF-Tags als Eingabe für Operationen verwendet. Darüber hinaus bietet es die Möglichkeit, beim Umbenennen einen Formatstring einzusetzen, der Pfadtrenner enthält. Als Goodie erstellt es beim Verschieben der Bilder gleich alle noch fehlenden Verzeichnisstrukturen.

In einem Rutsch

Übergeben Sie Exiftool ein Verzeichnis als Argument, so bearbeitet es alle Dateien darin. Mit -r taucht es in Unterverzeichnisse ab, mit -ext EXT beschränken Sie das Bearbeiten auf Dateien mit der Endung EXT. In diesem sowie im Fall von Tags spielt es keine Rolle, ob Sie die Groß/Kleinschreibung beachten oder nicht.

Um den Zeitstempel der Dateien zu erhalten, wählen Sie die Option -P. Damit sehen Sie im Dateimanager ebenfalls den genauen Zeitpunkt der Aufnahme. Haben Sie die Dateien mittlerweile verschoben, stimmt dieses Datum natürlich nicht mehr mit dem Aufnahmedatum überein. Daher bietet es sich an, dies in einem ersten Schritt zu korrigieren. Das erledigen Sie mit dem folgenden Befehl:

exiftool -'filemodifydate<createdate' Dateiname

Die einfachen Anführungszeichen um die beiden Tags brauchen Sie, um zu verhindern, dass die Shell den Befehl auswertet und als Umleitung versteht.

Geben Sie als Argument statt eines Dateinamens ein Verzeichnis an, so bearbeitet das Programm wiederum alle Dateien darin. Für jedes File legt die Software aber in beiden Fällen eine Kopie des Originals an, an dessen Namen sie die Endung _original anhängt. Mit der Option -overwrite_original verhindern Sie das.

Da zu diesem Zeitpunkt vielleicht noch alle Dateien in einem Verzeichnis liegen, bietet es sich an, diese eventuell auch mit einem Kommentar und einem Copyright-Vermerk zu versehen:

exiftool -overwrite_original -P -copyright="Max Mustermann" -comment="Alle Mann nach Mallorca" Verzeichnis

Exiftool unterstützt weitere ausgeklügelte Operationen, mit denen Sie zum Beispiel die wichtigen Datumsangaben anpassen, falls Sie nach Umstellen auf die Sommer- oder Winterzeit vergessen haben, die Angaben in der Kamera zu aktualisieren. Zu den ausgefeiltesten Operationen gehört das Umbenennen der Dateien, wobei in diesen Prozess auch die Werte aus den Tags in der Datei einfließen dürfen.

Mit Format

Wie schon erwähnt liefert das EXIF-Tag DateTimeOriginal den Zeitpunkt (laut Kamera), zu dem Sie die Aufnahme gemacht haben. Wollen Sie also die Dateien entsprechend umbenennen, nutzen Sie dazu einen Formatstring, dessen Elemente sich aus einer Kombination von Prozentzeichen mit einem Buchstaben zusammensetzen. Die Bedeutung der Buchstaben korrespondiert mit Teilen des Datums respektive der Uhrzeit. So steht %m beispielsweise für den Monat, geschrieben als zweistellige Ziffer, oder %Y für das Jahr, geschrieben als vierstellige Ziffer.

Eine ausführliche Hilfe zu den verschiedenen Elementen eines Formatstrings finden Sie auf der Website von Exiftool. Hier erläutert der Autor auch, wie Sie die Prozentzeichen richtig setzen, wenn Sie die Technik in Skripten einsetzen möchten. Er zeigt zudem, welche zusätzlichen Zeichen es gibt, um Bestandteile des Pfads oder des Dateinamens mit in den String aufzunehmen. So kommt im Beispiel der Teil %%e zum Einsatz, der die Endung des alten Dateinamens an dieser Stelle einsetzt.

Um doppelt sicher zu gehen, legt der folgende Formatstring die Bilddaten jeweils in eine Dateisystemhierarchie aus Jahr, Monat und Tag und benennt gleichzeitig das Bild um, so dass der Name Datum und Uhrzeit getrennt durch einen Unterstrich reflektiert:

exiftool -P -'Filename<DateTimeOriginal' -d %Y/%m/%d/%Y%m%d_%H%M%S.%%e Verzeichnis

Läuft alles nach Plan, so finden Sie im Zielverzeichnis die gewünschte Hierarchie mit den umbenannten Bildern. Exiftool teilt am Ende des Durchlaufs mit, wieviele Verzeichnisse und Dateien es gescannt und wie viele Files es bearbeitet hat (Abbildung 1).

Abbildung 1

Abbildung 1: Nach einem Durchlauf macht Exiftool Angaben über die modifizierten Dateien.

Da sich fast alle Digitalkameras heute als externe Festplatte am System anmelden, beschränkt sich der Import mittels Exiftool auf eine Kommandozeile. Diese ließe sich zum Beispiel mittels einer Udev-Regel noch automatisieren [3]. Auf diese Weise könnten die Fotos nach dem Anstecken der Kamera an das USB-Kabel des Rechners künftig vollautomatisch ins Fotoarchiv wandern – bequemer geht es kaum.

Das Umbenennen der Bilder bringt einen Nachteil mit sich: Haben Sie sich beispielsweise auf einem Zettel während einer Reise Notizen zur Bildnummer gemacht, so fällt es nun schwer, diese zuzuordnen. Manche Kameras speichern allerdings die Bildnummer im Tag FileNumber. Dabei handelt es sich aber um eine herstellerspezifische "Marker Note" (siehe Kasten "EXIF, IPTC, XMP"), die sich nicht einmal in allen Modellen des gleichen Herstellers findet.

Da der Original-Dateiname nicht in den Standard-Tags von EXIF, IPTC oder XMP vorkommt, gilt es hier zu improvisieren. So ließe sich zum Beispiel das Feld ImageUniqueID missbrauchen, um darin den Dateinamen zu speichern. Da sich nach einer gewissen Zeit aber aufgrund des Namensschemas moderner Digitalkameras die Namen wiederholen, bringt das auf lange Sicht nur bedingt einen Ausweg. Sie brauchen dann trotzdem eine zweite Angabe, wie zu Beispiel das Datum.

EXIF, IPTC, XMP

Im Laufe der Zeit haben sich mehrere Ansätze herauskristallisiert, um Metadaten – also Angaben über den Autor, Inhalte und wie bei Fotos, technischen Details – in den Dateien einzubetten. Bei digitalen Bildern greifen die Hersteller bevorzugt auf das Exchangeable Image File Format (EXIF) zurück, dass aus der Schmiede der Japan Electronic and Information Technology Industries Association (JEITA) [4] stammt.

Vor allem im Bereich professioneller Fotografie kommen eine Reihe Tags zum Einsatz, die aus dem Information Interchange Model (IIM) der Newspaper Association of America (NAA) stammen und anschließend vom International Press Telecommunications Council (IPTC) weiterentwickelt wurde. Daher trägt der entsprechende Standard heute offiziell den Namen IPTC-NAA, in der Praxis verkürzt sich dies aber zu IPTC [5].

Mittlerweile verwenden viele Agenturen und Bilddatenbanken neben diesen Tags auch Adobes Extensible Metadata Platform (XMP), um Informationen in elektronischem Material zu speichern. Dieses Format basiert auf dem vom World Wide Web Consortium verabschiedeten RDF-Format [6].

Neben diesen Standards zum Speichern von Metadaten existieren die sogenannten Marker Notes: Dahinter verbergen sich herstellerspezifische Informationen, die nicht über alle Marken gleich umfangreiche ausfallen. Das führt beim Entschlüsseln der Informationen oft zu erheblichen Schwierigkeiten (siehe Kasten "Interview mit Phil Harvey").

Tip a friend    Druckansicht Bookmark and Share
Kommentare

7483 Hits
Wertung: 113 Punkte (11 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...