Übersicht über die Fotosammlung (Teil 3)

Du hast Verzeichnisse voller Bilder mit XMP- und/oder IPCT-Tags – und jetzt? Falls du noch keine eigenen Informationen in Bildern gespeichert hast wie in den vorherigen zwei Artikeln beschrieben (Teil 1, Teil 2), kannst du trotzdem weiterlesen und von den beschriebenen Anweisungen profitieren, denn alle Digitalkameras speichern sowieso alle Aufnahmewerte (wie Blende, Belichtungszeit, ISO-Wert und vieles mehr) in den Bildern ab. Aber natürlich wirst du keine Informationen in den Bildern finden, die du vorher nicht ins Bild gespeichert hast: Autor, Copyright, Bildbeschreibung etc.

Die einfachsten Art, exiftool anzuwenden, ist, Listen von Bildeigenschaften zu erstellen.

Inhalt

Listen von Bildeigenschaften

Zum Starten gleich mal ein Beispiel:

exiftool -common DSCN0705.JPG

gibt

File Name                    : DSCN0705.JPG
File Size                    : 4.0 MB
Camera Model                 : COOLPIX P7800
Date/Time Original           : 2017:02:10 14:47:31
Image Size                   : 4000x3000
Quality                      : Fine
Focal Length                 : 6.0 mm
Shutter Speed                : 1/30
Aperture                     : 8.0
ISO                          : 125
White Balance                : Auto1
Flash                        : Off, Did not fire

Wenn du es lieber in Deutsch hättest, füge «-lang de» in die Kommandos ein:

exiftool -lang de -common DSCN0705.JPG

gibt

Dateiname                    : DSCN0705.JPG
Dateigröße                   : 4.0 MB
Kameramodell                 : COOLPIX P7800
Erstellungsdatum/-uhrzeit    : 2017:02:10 14:47:31
Bildgröße                    : 4000x3000
Bildqualität                 : Fine
Brennweite                   : 6.0 mm
Belichtungsdauer             : 1/30
Blende                       : 8.0
ISO-Empfindlichkeit          : 125
Weißabgleich                 : Auto1
Blitz                        : Blitz wurde nicht ausgelöst, Blitz unterdrücken-Modus

So eine Liste ist zwar ok für ein einzelnes Bild, aber wenn du das Kommando auf ein ganzes Verzeichnis anwendest (exiftool -lang de -common .), ist die Ausgabe eher lang und unübersichtlich. Du kannst nur einzelne Tags angeben, aber dafür musst du die intern verwendeten Tagnamen wissen (nicht den in der Liste angezeigten Text). Der Parameter -s hilft dabei:
-s zeigt die internen Tagnamen statt der englischen oder deutschen Tag-Beschreibung in der Ausgabe.

exiftool -s -common DSCN0705.JPG

gibt

FileName                     : DSCN0705.JPG
FileSize                     : 4.0 MB
Model                        : COOLPIX P7800
DateTimeOriginal             : 2017:02:10 14:47:31
ImageSize                    : 4000x3000
Quality                      : Fine
FocalLength                  : 6.0 mm
ShutterSpeed                 : 1/30
Aperture                     : 8.0
ISO                          : 125
WhiteBalance                 : Auto1
Flash                        : Blitz wurde nicht ausgelöst, Blitz unterdrücken-Modus

Nun kannst du nur einzelne Tags ausgeben, indem du sie einfach alle auf der Kommandozeile angibst, jeweils mit einem Minus davor (Gross-/Kleinschreibung egal):

exiftool -lang de -FocalLength -shutterspeed -aperture -ISO DSCN0705.JPG

gibt

FocalLength                  : 6.0 mm
ShutterSpeed                 : 1/30
Aperture                     : 8.0
ISO                          : 125

Für viele Bilder wird das allerdings immer noch unübersichtlich. Aber es gibt mehrere Arten, die Listen der Ausgabe zu formatieren:

        • -t oder -tab gibt eine ähnliche Ausgabe wie oben, aber hinter jedem Tag-Namen folgt ein Tabulator-Zeichen und dann der Wert, statt der Leerzeichen und Doppelpunkte. Das ist besser, wenn man die Daten weiterverarbeiten will, aber immer noch nicht übersichtlich. Mit den Zusatz-Parametern -S oder -s1, -s2, -s3 kann man die Ausgabe verkürzen (s3 lässt z.B. die Tagnamen weg).
        • -T oder -table gibt die Daten mit Tabulatoren dazwischen aus, nur eine Zeile pro Bild. Dabei ist es nützlich, den Dateinamen auch auszugeben (-filename), weil es keine «Titelzeile» pro Bild gibt wie beim obigen Format.
        • -csv formatiert die Daten im CSV-Format (comma-separated value, kann in eine Tabellenkalkulation importiert werden). Gib die Liste auf die Konsole aus, bis sie deinen Erwartungen entspricht, dann füge am Ende der Kommandozeile «>» und den zu schreibenden Dateinamen an, um die Daten tatsächlich in die Datei zu speichern.
Beispiele:

Die gleichen Tags wie oben, aber for alle Bilder im aktuellen Verzeichnis (.), in Tabulator-getrennter Form (-T):

exiftool -T -fileName -FocalLength -shutterspeed -aperture -ISO .

gibt

DSCN7563.JPG    8.2 mm    1/640    8.0    80
DSCN7565.JPG    12.5 mm    1/400    8.0    80
DSCN7587.JPG    4.2 mm    1/33    2.2    40

Mit -r (oder -recurse) werden auch die Bilder in den Unterverzeichnissen aufgelistet. Dann ist es empfehlenswert, auch den Verzeichnisnamen aufzulisten mit -directory:

exiftool -t -r -directory -fileName -FocalLength -shutterspeed -aperture -ISO .

gibt

.    DSCN7563.JPG    8.2 mm    1/640    8.0    80
.    DSCN7565.JPG    12.5 mm    1/400    8.0    80
.    DSCN7587.JPG    4.2 mm    1/33    2.2    40
./todo    DSCN7575.JPG    12.5 mm    1/20    2.2    320
./todo    DSCN7579.JPG    6.0 mm    1/17    2.2    400

Noch ein paar Bemerkungen zu Beginn

Damit du die folgenden Bespiele besser verstehst und einfacher für deine Zwecke abändern kannst, lohnen sich ein paar allgemeine Bemerkungen.

        1. Kommandos kopieren und ändern
          Ein paar Kommandos, die ich weiter unten vorstelle, sind etwas komplizierter. Ich empfehle dir, sie nicht abzutippen. Am besten kopierst du das Kommando von hier in einen Texteditor, änderst es für deine Bedürfnisse ab und kopierst es dann vom Texteditor auf die Kommandozeile. Als Texteditor nimm so etwas wie Notepad (auf Windows) oder gedit (auf Linux), nimm auf keinen Fall MS Word oder ein ähnliches Textverarbeitungsprogramm! Word & Co. verändern nämlich je nach Einstellung die Anführungszeichen in «typografische» Anführungszeichen, welche zwar im Text schöner aussehen, aber auf der Kommandozeile nicht funktionieren.
        2. Bildauswahl
          Wie beim Schreiben der Tags (beschrieben im letzten Teil) kannst du auch beim Lesen die Kommandos auf ein einzelnes Bild anwenden oder auf mehrere, indem du den (oder die) letzten Parameter entsprechend angibst:

          • genauer Dateiname: nur das angegebene Bild wird behandelt (du kannst auch mehrere angeben, mit Zwischenraum getrennt)
          • Dateiname mit *: alle passenden Bilder werden behandelt (DSCN07*.JPG für alle Bilder deren Namen mit «DSCN07» beginnt)
          • Verzeichnisname: alle Bilder im Verzeichnis werden behandelt. Ein Punkt steht dabei für das aktuelle Verzeichnis. Mit dem Parameter «-r» (recursive) werden die Unterverzeichnisse auch behandelt.

          Als Beispiele kannst du die Kommandos beim Listenformat ansehen, dort werden Infos für einzelne Bilder oder Verzeichnisse ausgegeben.

        3. Ausgabe-Ziel
          Standardmässig gibt exiftool die Resultate auf die Konsole aus. Um sie stattdessen in eine Datei zu schreiben, kannst du jeweils hinter dem Kommando ein Grösser-Zeichen und den Dateinamen angeben:

          exiftool -T -r -filename -exposuremode -ISO . > out.txt

          Gibt eine Liste aus mit Datename, Belichtungsmodus und ISO-Wert für die Bilder im aktuellen Verzeichnis (.), pro Bild eine Zeile mit Tabulatoren zwischen den Werten (-T), und die Angaben werden nicht auf die Konsole ausgegeben, sondern in die Datei out.txt.

Bildeigenschaften auflisten

Schnell eine Übersicht über Bildeigenschaften von vielen Bildern zu haben, kann bei vielen Arbeiten mit Fotos helfen. Ein paar Kommandos, die ich häufig brauche:

Schnell kontrollieren, ob alle Bilder einen Aufnahmeort haben (und wenn nicht, sehe ich dank dem -filename schnell, wo ich noch ändern muss):

exiftool -T -Country -State -City -Location -filename .

Auf die gleiche Art: schnell kontrollieren, ob alle Bilder Autor und Copyright haben, oder alle Autoren-Angaben:

exiftool -T -Creator -Copyright -filename .
exiftool -T -xmp:author:all -filename .

Oder für Rating und Bildbeschreibung,  hier wird die Liste übersichtlicher, wenn der Filename am Anfang der Liste steht:

exiftool -T -filename -Rating -Description .

Alle diese Kommandos lesen nur Daten. Geschreiben wird nur, wenn ein Tagname von einem «=» gefolgt ist. Solange du nirgends Gleichheitszeichen in deinen Kommandos hast, kannst du also frischfröhlich experimentieren! Im «schlimmsten» Fall wird nichts ausgegeben, oder nicht, was du wolltest, aber du kannst nichts kaputtmachen.

Tag-Namen finden, Tag-Gruppen

Für die Ausgabe kannst du die Namen aller Tags verwenden, die es gibt (und das sind sehr viele!). Praktisch sind darum auch Tag-Gruppen (wie etwa in den obigen Beispielen -common oder -xmp:author). Die Beispiele unten enthalten die Namen einiger Tags und Gruppen, die ich verwende. Eine Tabelle meiner meistbenutzen Eigenschaften findest du am Schluss.

Wenn du weitere Tags suchst, konsultiere die Tag-Liste von Phil Harvey, da sind ausser den ersten paar Gruppen vor allem die vier Gruppen am Schluss der Liste interessant (Extra, Composite, Shortcuts, MWG). Composite-Tags etwa sind Werte, welche aus mehreren anderen zusammengefasst oder berechnet werden und darum einerseits praktischer sind zum Lesen von Informationen, aber andererseits nicht geschrieben werden können. Zum Beispiel kommt Aperture aus FNumber und ApertureValue, oder ShutterSpeed aus ExposureTime, ShutterSpeedValue und BulbDuration. In vielen Fällen sind die Werte gleich (z.B habe ich bisher nur fnumber gefunden, die den gleichen Wert enthalten wie aperture). Genaueres siehe exif-Doku über composite tags.

exiftool -t -r -directory -fileName -ExposureTime -FNumber .

gibt also (meistens?) dasselbe wie

exiftool -t -r -directory -fileName -shutterspeed -aperture .

Wenn du Tags suchst, aber nicht weisst, wie sie heissen, oder wenn du die volle Pracht von allen Tags einer Datei möchtest, hilft das folgende Kommando:

exiftool -a -u -g1 bildname.jpg

oder

exiftool -a -u -g1 -lang de bildname.jpg

Alle Tags zu einem Bild ausgeben, auch Duplikate (-a) und unbekannte Tags (-u), geordnet nach Gruppe (für Tag-Familie 1, -g1).
Wenn du noch -s einfügst (und -lang de weglässt), bekommst du wieder die internen Tagnamen statt der englischen oder deutschen Beschreibungen. Damit kannst du dann wieder Tags herauspicken für Liste über mehrere/viele Bilder.

Du kannst auch Sterne für die Tag-Namen verwenden, allerdings musst du den Parameter dann in einfache Anführungszeichen einschliessen:

exiftool "-*flash*" image.jpg

Listet alls Tags, die etwas mit dem Blitz zu tun haben.

Für Tag-Gruppen gibt es auch das Wort :all, sinnvollerweise mit -a  kombiniert (listet auch Duplikate):

exiftool -xmp:author:all -a image.jpg

Listet alle Tags der Gruppe xmp:author.

Exportieren in Spreadsheets

Zum Sortieren und Weiterverarbeiten der Tags ist es gut, die Angaben in ein Spreadsheet importieren zu können (LibreOffice Calc, Excel o.ä.). Das geht über eine CSV-Datei:

exiftool -r -csv -f -q -n -fileName -GPSPosition -CreateDate -ModifyDate -FocalLength -ExposureTime -FNumber -ISO -BrightnessValue . > DATEINAME.csv

Extrahiert bestimmte Metadaten aller Bilder im aktuellen Verzeichnis und in Unterverzeichnissen) in eine CSV-Datei:

        • -r (rekursiv): Bilder aus Unterverzeichnissen auch auflisten
        • -csv Werte im Format für csv-Files ausgeben (comma separated values). Diese Option stellt auch sicher, dass Werte in die korrekten Spalten einsortiert werden, es braucht also kein -f (siehe dort).
        • -f (force) druckt alle Tags, auch solche, für die es keinen Wert gibt (da wird «-» ausgegeben).
          In Verbindung mit -csv kannst du -f weglassen, dann bleiben Felder ohne Werte einfach leer. Wenn du hingegen tabellarische Übersichten mit -T erstellst, braucht es -f, damit die Werte in den korrekten Spalten landen.
        • -q (quiet) gibt keine Status-Meldungen aus, also z.B. am Ende kein «128 image files read». Das ist für .csv-Files empfehlenswert, denn diese Zeile möchtest du nicht im Datenfile.
        • -n schreibt numerische Werte als Zahlen. Z.B. wird die Belichtungszeit nicht «1/20«, sondern «0.05» geschrieben und GPS-Angaben als Gradzahlen mit Kommastellen:
          mit -n:   DSC0058.JPG,DSC0058.JPG,47.0146861111111 8.30545555555556,4.15,0.02,2.2,32,9.901033973
          ohne -n:   DSC0058.JPG,DSC0058.JPG,"47 deg 0' 52.87"" N, 8 deg 18' 19.64"" E",4.2 mm,1/50,2.2,32,9.901033973
        • > Dateiname.csv: In diese Datei wird die Ausgabe geschrieben. Lass die Angabe beim Testen deines Kommandos weg und schau dir die Ausgabe auf der Konsole an. Sobald sie dir gefällt, kannst du «>» und den Dateinamen am Ende der Kommandozeile angeben, um die Daten tatsächlich in die Datei zu speichern.

Du  magst dich fragen, ob solche Listen die Arbeit wirklich erleichtern. Ich  meine: definitiv! Wie oft habe ich schon Bildeigenschaften von mehreren Bildern hintereinander angeschaut, oder die Ansicht im File-Explorer, XnView oder einem anderen Tool zurechtgebastelt, um die gewünschten Eigenschaften von mehreren Bildern vergleichen zu können. Mit exiftool bin ich viel schneller und kann die extrahierten Listen erst noch weiterverarbeiten, falls nötig.

exiftool ist aber noch viel mächtiger. Im nächsten Teil zeige ich, wie man mit exiftool die gespeicherten Binärinformationen extrahiert (manche Bilder enthalten nämlich noch ein paar kleinere Versionen des Inhalts) und vor allem, was man mit Bedingungen anstellen kann. Dann wird es nämlich richtig spannend: wenn man einen Befehl nur auf ein paar Bilder in der Liste anwenden kann, ohne vorher die Bilder mühsam von Hand auszuwählen!

Zum Schluss wie versprochen noch meine Tag-Hitliste:

Tags, die ich oft brauche

(Die Namen sind unabhängig von Gross-/Kleinschreibung.)

Name Beschreibung
allDates Tag-Gruppe: DateTimeOriginal, CreateDate, ModifyDate
(nur lesen)
City Stadt des Aufnahmeortes
Common Tag-Gruppe: die wichtigsten Kameraeinstellungen zum Bild (Blende, Belichtungszeit etc.)
Copyright Copyright-Vermerk
Country Land des Aufnahmeortes
CreateDate Datum/Zeit, wann das Bild aufgenommen wurde.
(«creation date of the digital representation» – siehe auch DateTimeOriginal)
Creator  Ersteller
DateTimeOriginal Datum/Zeit, wann das abgebildete Werk geschaffen wurde.
Wird von den Kameras gleich gesetzt wie CreateDate, aber eigentlich ist es das Datum, wann der Inhalt geschaffen wurde (Bsp: wenn ich eine Statue fotografiere, müsste DateTimeOriginal das Datum sein, wann die Statue geschaffen wurde. – «creation date of the intellectual content being shown»)
Description kurze Bildbeschreibung
Directory Pfad der Datei (relativ zum Verzeichnis, aus dem das Kommando ausgeführt wurde)
ExposureTime Belichtungszeit
FileName Dateiname
FileModifyDate Wert kommt nicht aus den Tags, sondern aus den Dateieigenschaften: letzte Änderung der Datei
FocalLength Brennweite
FNumber Blendenzahl
GPSPosition GPS-Position: geografische Länge & Breite
(Gruppe, nur lesen; zum Schreiben GPSLatitude und GPSLongitude)
ImageSize Bild-Abmessungen in Pixeln (Breite x Länge)
(Gruppe, nur lesen; zusammengesetzt aus ImageWidth und ImageHeight)
ImageWidth Bildbreite in Pixeln
ImageHeight Bildhöhe in Pixeln
ISO ISO-Wert
Keywords Stichworte; Tag kann mehrfach vorkommen
(zum Schreiben «+=» und «-=» benutzen, um einen Wert hinzuzufügen oder wegzunehmen, ohne andere Werte zu löschen)
Location Aufnahmeort
Make Kamerahersteller
Model Kameramodell
ModifyDate Datum/Zeit der letzten Änderung von Tags (siehe auch FileModifyDate)
Orientation Bildausrichtung:

1 = horizontal (normal)
2 = horizontal spiegeln
3 = 180 drehen
4 = vertikal spiegeln
5 = horizontal spiegeln und 270° im Uhrz. drehen
6 = 90° im Uhrzeigersinn drehen
7 = horizontal spiegeln und 90° im Uhrz. drehen
8 = 270° im Uhrzeigersinn drehen
Rating Bewertung (5 ist höchster Wert, 1 niedrigster)
Shutterspeed Verschlusszeit
Composite-Tag: nur lesen (zum Schreiben exposureTime u.a.)
State Staat (Bundesstaat) des Aufnahmeortes
ThumbnailImage kleines Vorschaubild
(Binärdaten: zum Auslesen «-b» benutzen und Ausgabe mit «>» in eine Datei schreiben)
-MWG:all alle MWG-Tags (wie xmp:author:all, dazu Beschreibung, Keywords, Ausrichtung etc.)
(Gruppe, nur lesen)
xmp:author:all alle Tags zum Autor (Name, Adresse, Copyright)
(Gruppe, nur lesen)

One thought on “Übersicht über die Fotosammlung (Teil 3)”

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .