[[Vorlage(Getestet, bionic, focal, jammy)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [https://owl.phy.queensu.ca/~phil/exiftool/ ExifTool] {en} 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 [wikipedia:Exchangeable_Image_File_Format:Exif]-Daten direkt in der Kamera erzeugt und gespeichert werden, dienen [wikipedia:IPTC-NAA-Standard:IPTC/IIM] und das neuere [wikipedia:Extensible_Metadata_Platform: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. [https://activityworkshop.net/software/prune/ Prune] {en} zur [wikipedia:Geo-Imaging:Bildverortung]. Leider fehlt unter Linux bisher eine grafische Oberfläche für ExifTool, aber im Abschnitt [#Links Links] am Ende des Artikels sind Hinweise auf alternative Programme zu finden. = Installation = [[Bild(Wiki/Icons/synaptic.png, 48, align=right)]] Folgende Pakete müssen installiert werden [1]: {{{#!vorlage Paketinstallation libimage-exiftool-perl, universe perl-doc, optional, für die englische Dokumentation }}} = Benutzung = Die allgemeine Syntax von ExifTool lautet: {{{#!vorlage Befehl 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 [:man: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 [https://owl.phy.queensu.ca/~phil/exiftool/exiftool_pod.html Dokumentation] {en} 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): {{{#!vorlage Befehl exiftool -b -ThumbnailImage DATEINAME.EXT > DATEINAME_thumb.jpg }}} * Extrahieren eines Preview-Bildes aus dem Bild (sofern vorhanden): {{{#!vorlage Befehl exiftool -b -PreviewImage DATEINAME.EXT > DATEINAME_preview.jpg }}} * Ausgabe von Dateiname und Bildgröße (Breite mal Höhe) für JPG-Dateien: {{{#!vorlage Befehl exiftool -p '$Filename $ImageSize' *.jpg }}} * Anzeige aller Bilder im aktuellen Verzeichnis, die mit einer Kamera von Canon aufgenommen wurden: {{{#!vorlage Befehl exiftool -p '$Filename' -m -if '$make eq "Canon"' . }}} * Auslesen der Seriennummer (falls vorhanden; siehe [https://www.stolencamerafinder.com Stolen Camera Finder] {en}): {{{#!vorlage Befehl exiftool -SerialNumber DATEINAME.EXT }}} * Extrahieren von Metadaten aller Bilder aus einem Verzeichnis in eine CSV-Datei: {{{#!vorlage Befehl 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): {{{#!vorlage Befehl 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): {{{#!vorlage Befehl exiftool -AllDates+='HH:MM' -overwrite_original DATEINAME.EXT }}} * Verlustfreie Änderung des [wikipedia:Punktdichte:dpi]-Wertes mehrerer JPG-Dateien: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl exiftool -TagsFromFile QUELLDATEI.EXT --Orientation ZIELDATEI.EXT }}} * Umbenennen des Dateinamens anhand des Aufnahmedatums im EXIF-Tag. Ergebnis: '''20110604_21h28m05s_Handy.jpg''': {{{#!vorlage Befehl exiftool -P -'FilenameFileModifyDate" *.jpg }}} === Löschen von Informationen === * Entfernen aller Metadaten aus einer JPG-Datei: {{{#!vorlage Befehl exiftool -all= DATEINAME.JPG }}} * Entfernen aller Metadaten aller JPG-Dateien im aktuellen Verzeichnis: {{{#!vorlage Befehl 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 [https://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/MWG.html MWG Tags] {en} 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 (`+=`) 1. keine Sicherungskopien der Originaldateien angelegt werden 1. nur Dateien mit der Endung '''.jpg''' innerhalb eines Ordners berücksichtigt werden {{{#!vorlage Befehl exiftool -mwg:keywords+="SCHLÜSSELWORT" -overwrite_original *.jpg }}} = Links = * [https://exiftool.org/ Projektseite] {en} * [https://exiftool.org/TagNames/ ExifTool Tag Names] {en} - Liste aller unterstützten Tags * [:Photini:] - beschränkt sich zwar auf die wichtigsten Tags, aber sehr empfehlenswert ## * [:Archiv/pyExifToolGUI:] - kleine grafische Oberfläche für ExifTool * [topic:gui-fuer-exiftool-nun-auch-unter-linux:Forendiskussion zu grafischen Oberflächen] * [https://www.haplessgenius.com/photogrok/ PhotoGrok] {en} - Java-basierte Anwendung * Alternativen für die Kommandozeile: * [:Exiv2:] - Ändern der Exif-, IPTC/IIM- und XMP-Metadaten * [:JHead:] - Ändern der Exif-Daten * [:Metadaten:] {Übersicht} Übersichtsartikel * [https://ctaas.de/linux-install.htm#exiftool Fotos Sortieren leicht gemacht] {de} Howto Bilder: optimiert umbenennen, Zeitstempel anpassen, nach Datum in Ordner sortieren, korrigieren der Aufnahmezeit usw. # tag: Grafik, GPS, Metadaten, Perl