Verwenden von Exiftool zum Importieren von Datum, GPS und Tags aus xmp-Dateien

Ich bin mir nicht sicher, ob dies mit Exiftool erreicht werden kann oder ob es eine bessere Alternative gibt ...

Ich habe eine große Menge Bilder aus iPhoto exportiert und anscheinend exportiert Apple die Originaldatei mit einer Sidecar-XMP-Datei einschließlich der Details. Das Schlimmste daran ist das Dateidatum. Wenn Sie ein Bild am 1.1.2020 scannen und dann sein tatsächliches Erstellungsdatum festlegen (z. B. 1.1.1980), bleibt es 1.1.2020 und wird als angezeigt photoshop:DateCreated-Tag in der XMP-Datei.

Ich frage mich, ob es eine Möglichkeit gibt, diese Art von Informationen in die raw/jpeg/whatever-Datei zu importieren, oder ob es eine Möglichkeit gibt, solche Informationen mit Lightroom zu importieren.

Hier ist ein Beispiel für eine XMP-Datei:

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.4.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:exif="http://ns.adobe.com/exif/1.0/"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
            xmlns:dc="http://purl.org/dc/elements/1.1/">
         <exif:GPSLongitudeRef>W</exif:GPSLongitudeRef>
         <exif:GPSTimeStamp>2019-12-22T01:02:42Z</exif:GPSTimeStamp>
         <exif:GPSLongitude>5.80</exif:GPSLongitude>
         <exif:GPSLatitude>45.20</exif:GPSLatitude>
         <exif:GPSLatitudeRef>N</exif:GPSLatitudeRef>
         <exif:GPSHPositioningError>0.0</exif:GPSHPositioningError>
         <photoshop:DateCreated>1980-01-01T12:11:19+02:00</photoshop:DateCreated>
         <dc:subject>
            <rdf:Seq>
               <rdf:li>old</rdf:li>
               <rdf:li>Mom</rdf:li>
            </rdf:Seq>
         </dc:subject>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>

Alle Ideen sind willkommen, danke im Voraus.

Antworten (1)

Siehe exiftool's Metadata Sidecar Files example #15

Der Befehl muss aufgrund einiger Unregelmäßigkeiten in dem von Ihnen angegebenen XMP-Beispiel etwas geändert werden. Am besten schnappen Sie sich die Datei xmp2exif.args und legen diese im selben Verzeichnis wie exiftool ab. Dadurch können Tags in der XMP-Datei an die richtige Stelle in der EXIF-Gruppe kopiert werden.

Nun, es gibt ein Problem mit dem von Ihnen aufgelisteten XMP, und das ist die Existenz von GPSLatitudeRef/ GPSLongitudeRef. Diese Tags sind nicht Teil der Exif 2.31-Metadaten für die XMP-Spezifikation , die die GPS-Tags für XMP abdeckt. Die Bezugsrichtungen (Nord/Süd/Ost/West) sollen in den XMP GPSLatitude/ GPSLongitude-Tags enthalten sein. Dies muss also ausdrücklich angesprochen werden.

Ihr Befehl würde also in diese Richtung gehen:
exiftool -ext EXT -tagsfromfile %d%f.xmp -@ xmp2exif.args -GPSLatitudeRef -GPSLongitudeRef -r DIR

Der Befehl muss die -extOption (extension) enthalten , um die Verarbeitung der XMP-Dateien selbst zu vermeiden. Sie würden entweder ein für jeden möglichen Dateityp einschließen -extoder (zwei Bindestriche) verwenden, --ext xmpum die xmp-Dateien auszuschließen.

Dieser Befehl erstellt Sicherungsdateien. Hinzufügen -overwrite_original, um die Erstellung von Sicherungsdateien zu unterdrücken. Hinzufügen -r, um in Unterverzeichnisse zu rekursieren.

Vielen Dank für Ihre ausführliche Antwort. Wie auch immer, ich versuche es in einem Beispielverzeichnis auszuführen und bekomme immer: 1 Verzeichnisse gescannt 0 Bilddateien gelesen Und ich habe 4 Bilder mit 4 xmp-Dateien, also vermisse ich etwas ...
Ersetzen Sie EXT durch die Erweiterungen der zu verarbeitenden Dateitypen? Oder verwenden Sie --ext XMP(zwei Bindestriche, um anzuzeigen, dass diese Erweiterung ausgeschlossen wird)? Sie müssen das eine oder das andere verwenden, um zu verhindern, dass exiftool versucht, Daten aus der XMP-Datei in dieselbe XMP-Datei zu kopieren.
Vielen Dank, ich habe -ext XMP eingestellt und das war das ganze Problem :)