staging.inyokaproject.org

ExifTool

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png ExifTool 🇬🇧 ist ein Perl-Modul mit einem zusätzlichen Kommandozeilen-Werkzeug zum Lesen und Schreiben der Metainformationen von Bild-, aber auch Audio- und Video-Dateien. Es ist das umfangreichste und zu empfehlende Werkzeug, wenn es um die Änderung von Metadaten der Formate Exif, IPTC/IIM und XMP in digitalen Bildern geht.

Der entscheidende Vorteil von Metadaten ist, dass diese im Allgemeinen im Bild gespeichert werden - ohne das Bild selbst zu beeinflussen. Damit entspricht diese Vorgehensweise dem Festhalten von Informationen auf der Rückseite von Papierbildern. Während Exif-Daten direkt in der Kamera erzeugt und gespeichert werden, dienen IPTC/IIM und das neuere XMP für Bildinformationen zur Katalogisierung und Veröffentlichung. Eine Ausnahme stellt nur XMP insofern dar, dass Metadaten auch in einer zusätzlichen Datei pro Bild ("sidecar") abgelegt werden können, wenn das Dateiformat keine Integration zulässt.

Unterstützt werden die Formate Exif (inkl. GPS-Daten), IPTC/IIM, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP und ID3-Metainformationen sowie die (RAW-)Metainformationen, die verschiedene Digitalkameras (von Canon, Casio, Fuji, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Ricoh, Sanyo und Sigma/Foveon) in den Bildern speichern. Des Weiteren werden auch viele andere Dateiformate wie PDF und Office-Dokumente wie .doc oder .odt unterstützt. Eine vollständige Liste aller unterstützten Dateiformate findet sich auf der Projektseite.

Darüber hinaus verwenden viele Programme ExifTool im Hintergrund als Werkzeug zum Lesen und Schreiben der Metadaten, wie z.B. Prune 🇬🇧 zur Bildverortung. Leider fehlt unter Linux bisher eine grafische Oberfläche für ExifTool, aber im Abschnitt Links am Ende des Artikels sind Hinweise auf alternative Programme zu finden.

Installation

Wiki/Icons/synaptic.png Folgende Pakete müssen installiert werden [1]:

  • libimage-exiftool-perl (universe)

  • perl-doc (optional, für die englische Dokumentation)

Befehl zum Installieren der Pakete:

sudo apt-get install libimage-exiftool-perl perl-doc 

Oder mit apturl installieren, Link: apt://libimage-exiftool-perl,perl-doc

Benutzung

Die allgemeine Syntax von ExifTool lautet:

exiftool [Optionen] DATEINAME.EXT 

Wird das Programm ohne Option(en) aufgerufen [2], so werden alle Informationen zur angegebenen Datei auf der Standardausgabe ausgegeben (also in der Regel auf dem Bildschirm). Eine detaillierte Übersicht der möglichen Optionen findet man im Unterartikel ExifTool/Optionen.

Zusätzlich sehr empfehlenswert ist die Manpage zu ExifTool. Die Manpage liefert außerdem eine vollständige Liste der unterstützen Dateiformate und Hinweise, ob Metadaten nur gelesen oder auch geschrieben werden können. Die offizielle Dokumentation 🇬🇧 beschreibt den aktuellen Stand von ExifTool, der nicht der installierten Version unter Ubuntu entsprechen muss.

Beispiele

Nachfolgend einige Beispiele für Befehle, die man in einem Terminalfenster [2] nutzen kann. Statt DATEINAME.EXT kann auch ein kompletter Ordner, mit .jpg alle JPG-Dateien oder mit . alle Dateien im aktuellen Ordner angegeben werden. Die Option -overwrite_original sorgt dafür, dass keine Sicherungskopie (DATEINAME.EXT_original) angelegt wird.

Auslesen von Informationen

  • Extrahieren eines Thumbnail-Bildes aus dem Bild (sofern vorhanden):

    exiftool -b -ThumbnailImage DATEINAME.EXT > DATEINAME_thumb.jpg 
  • Extrahieren eines Preview-Bildes aus dem Bild (sofern vorhanden):

    exiftool -b -PreviewImage DATEINAME.EXT > DATEINAME_preview.jpg 
  • Ausgabe von Dateiname und Bildgröße (Breite mal Höhe) für JPG-Dateien:

    exiftool -p '$Filename $ImageSize' *.jpg 
  • Anzeige aller Bilder im aktuellen Verzeichnis, die mit einer Kamera von Canon aufgenommen wurden:

    exiftool -p '$Filename' -m -if '$make eq "Canon"' . 
  • Auslesen der Seriennummer (falls vorhanden; siehe Stolen Camera Finder 🇬🇧):

    exiftool -SerialNumber DATEINAME.EXT 
  • Extrahieren von Metadaten aller Bilder aus einem Verzeichnis in eine CSV-Datei:

    exiftool -q -r -t -f -S -n -csv -fileName -GPSPosition -Model -FocalLength -ExposureTime -FNumber -ISO -BrightnessValue -LensID "." > DATEINAME.csv 

Ändern von Informationen

  • Korrektur aller Datums- und Uhrzeiten (z.B. bei falsch eingestellter Kamera):

    exiftool -AllDates='JJJJ:MM:TT HH:MM:SS' DATEINAME.EXT 
  • Verschieben sämtlicher Bildzeiten um eine bestimmte Zeitdauer (hier: Addition; z.B. bei falsch eingestellter Kamera):

    exiftool -AllDates+='HH:MM' -overwrite_original DATEINAME.EXT 
  • Verlustfreie Änderung des dpi-Wertes mehrerer JPG-Dateien:

    exiftool -Xresolution=150 -Yresolution=150 -ResolutionUnit=inches *.jpg 
  • Kopieren der EXIF-Tags von einer Datei zu einer anderen, mit Ausnahme des "Orientation"-Tags, um etwaige Probleme mit redundanter Drehung des Bildes zu umgehen:

    exiftool -TagsFromFile QUELLDATEI.EXT --Orientation ZIELDATEI.EXT 
  • Umbenennen des Dateinamens anhand des Aufnahmedatums im EXIF-Tag. Ergebnis: 20110604_21h28m05s_Handy.jpg:

    exiftool -P -'Filename<DateTimeOriginal' -d %Y%m%d_%Hh%Mm%Ss_Handy.%%e ORDNERNAME/* 
  • Ändern von Zeit und Datum der Datei anhand des Aufnahmedatums im EXIF-Tag:

    exiftool "-DateTimeOriginal>FileModifyDate" *.jpg 

Löschen von Informationen

  • Entfernen aller Metadaten aus einer JPG-Datei:

    exiftool -all= DATEINAME.JPG 
  • Entfernen aller Metadaten aller JPG-Dateien im aktuellen Verzeichnis:

    find . -iname "*.jpg" -type f -exec exiftool -all= {} \; 

Problembehebung

Metadaten für unterschiedliche Standards schreiben

Bedingt durch die Koexistenz unterschiedlicher Metadaten-Standards (Exif, IPTC, XMP) und damit unterschiedlicher (oder auch fehlender) Tags, stellt sich die Frage, welches Format man zum Speichern von Metadaten verwenden sollte. Die MWG Tags 🇬🇧 von ExifTool lösen dieses Problem, in dem die gewünschten Informationen gleichzeitig in allen Metadaten-Formaten gespeichert werden (zumindest soweit technisch möglich). Der Vorteil, damit für alle Eventualitäten gerüstet zu sein, überwiegt den Nachteil der redundanten Speicherung bei weitem.

Folgendes Beispiel soll dies verdeutlichen. Professionelle Fotografen verschlagworten ihre Fotos mit Schlüsselwörtern (keywords). Statt diese jeweils einzeln für IPTC und XMP zu schreiben (Exif kennt keine Schlüsselwörter), schreibt ExifTool beide Formate:

exiftool -mwg:keywords="SCHLÜSSELWORT"

Für den praktischen Einsatz wandelt man diese Syntax leicht ab. Der folgende Befehl sorgt dafür, dass

  1. ein Schlüsselwort hinzugefügt wird, ohne dabei vorhandene Schlüsselwörter zu löschen (+=)

  2. keine Sicherungskopien der Originaldateien angelegt werden

  3. nur Dateien mit der Endung .jpg innerhalb eines Ordners berücksichtigt werden

exiftool -mwg:keywords+="SCHLÜSSELWORT" -overwrite_original *.jpg 

Diese Revision wurde am 15. April 2023 09:35 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Grafik, GPS, Metadaten, Perl