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

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

KDE Plasma Workspaces 4.8
(306 Punkte bei 32 Stimmen)
SUSE12
(173 Punkte bei 4 Stimmen)
Pardus Linux am Ende?
(164 Punkte bei 4 Stimmen)
OpenSuse 12.1-Service Kit 01/12
(161 Punkte bei 4 Stimmen)
Meinst Du: Patch CD Updates?
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.
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: 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").

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

3914 Hits
Wertung: 0 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2012_02

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 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 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Knoppix: Bootvorgang mit Cheatcode beschleunigen
Knoppix: Bootvorgang mit Cheatcode beschleunigen
Marcel Hilzinger, 18.01.2012 21:05, 0 Kommentare

Die Bootsequenz der Live-Distribution sucht beim Start zunächst auf Festplatten, dann auf USB-Sticks und erst dann in den DVD-Laufwerken (/dev/sr* oder /dev/scd*) nac...

Aktuelle Fragen

OpenSuse 12.1-Service Kit 01/12
Christoph-J. Walter, 28.01.2012 08:52, 2 Antworten
Hallo Gemeinde, ich habe 12.1 neu installiert. Alles in Ordnung! Nun möchte ich das Service Kit (...
Ubuntu 11.10 konfigurieren
Michael Hinz, 27.01.2012 17:52, 0 Antworten
Ubuntu läuft bei mir. Allerdings nur, wenn die Daten-CD eingelegt ist. Unabhängig von Bios-Einste...
SUSE12
Jörg Müller, 25.01.2012 14:27, 5 Antworten
Hallo Gemeinde Ich habe schon ziemlich lange auf einem Rechner Linux laufen, bin also nicht ganz...
Hat jemand Erfahrung beim Einsatz einer Kinect / OpenNI?
GoaSkin , 24.01.2012 23:35, 0 Antworten
Hallo, ich habe mir eine Kinect zugelegt, um zu schauen, was man damit unter Linux so machen k...
Kollaboration - Zeichnen auf mehreren Geräten gleichzeitig
Ludwig jun. B., 19.01.2012 11:17, 4 Antworten
Schönen guten Tag, ich suche aktuell eine Software für Linux/Windows (eines von beiden), welch...