Bei XMP (Extensible Metadata Platform) handelt es sich um einen speziellen XML-Dialekt (XML - Extensible Markup Language), im weiteren Sinmne vergleichbar mit SVG (Scalable Vector Graphics) dem Standard-Dateiformat von Inkscape. XMP wurde ursprünglich von Adobe Systems eingeführt, um standardisierte und benutzerdefinierte Metadaten für digitale Dokumente und Datensätze zu erstellen, zu verarbeiten und auszutauschen. Die Spezifikation von XMP basiert auf offenen Standards und ist heute im ISO-Standard ISO 16684 beschrieben.
Mit XMP werden die Metadaten in die Dateien verschiedener Applikationen nach einem einheitlichen Schema so integriert, dass die Daten auch von anderen Programmen gelesen werden können. Die im XMP-Format geschriebenen Metadaten können dabei sowohl in die Datei selbst eingebettet werden (embedded), wie auch in einer externen Begleitdatei (Sidecare-File) gespeichert werden.
Das Format wird von allen Adobe-Produkten, von verschiedenen Open-Source-Programmen sowie von Software-Produkten kommerzieller Anbieter unterstützt. Eine Übersicht der bekanntesten Programme findet sich hier: https://en.wikipedia.org/wiki/Extensibl ... a_Platform.
Die für die Entwicklung von RAW-Bildern eingesetzten RAW-Konverter, wie z.B. darktable oder Lightroom schreiben ihre XMP-Informationen in der Regel in eine Begleitdatei mit der Dateiendung XMP. Diese enthalten verschiedene Eigenschaften der Bilddatei, wie z. B. Beschreibung, Titel, Schlüsselwörter, Autor, Urheberrecht, Helligkeit, Belichtung, Kontrast, Ausschnittwinkel, Schatten, Sättigung, Schärfe, Farbton, Temperatur etc.
Da es sich bei einer XMP-Datei um eine XML-Datei handelt, werden werden die Informationen in einem Standard-Klartextformat gespeichert. Diese können mit einem beliebigen Texteditor geöffnet und ggf. auch bearbeitet werden. Nachfolgend eine Beispiel einer XMP-Datei von darktable:
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0-Exiv2">
<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:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:darktable="http://darktable.sf.net/"
exif:DateTimeOriginal="2021:01:02 13:11:20"
exif:GPSVersionID="2.2.0.0"
exif:GPSLongitude="12,36.461300E"
exif:GPSLatitude="52,3.262100N"
exif:GPSAltitudeRef="0"
exif:GPSAltitude="1030/10"
xmp:Rating="0"
xmpMM:DerivedFrom="DSC_4778.NEF"
darktable:import_timestamp="1610397269"
darktable:change_timestamp="-1"
darktable:export_timestamp="-1"
darktable:print_timestamp="-1"
darktable:xmp_version="4"
darktable:raw_params="0"
darktable:auto_presets_applied="1"
darktable:history_end="10"
darktable:iop_order_version="1"
darktable:history_auto_hash="a9830b4b4edeb55aa896a98870e91691"
darktable:history_current_hash="a9830b4b4edeb55aa896a98870e91691">
<darktable:masks_history>
<rdf:Seq/>
</darktable:masks_history>
<darktable:history>
<rdf:Seq>
<rdf:li
darktable:num="0"
darktable:operation="rawprepare"
darktable:enabled="1"
darktable:modversion="1"
darktable:params="000000000000000000000000000000005802580258025802a03c9ee3"
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz14eJxjYIAACQYYOOHEgAYY0QVwggZ7CB6pfNoAAEkgGQQ="/>
<rdf:li
darktable:num="1"
darktable:operation="demosaic"
darktable:enabled="1"
darktable:modversion="3"
darktable:params="0000000000000000000000000000000000000000"
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz14eJxjYIAACQYYOOHEgAYY0QVwggZ7CB6pfNoAAEkgGQQ="/>
<rdf:li
darktable:num="2"
darktable:operation="colorin"
darktable:enabled="1"
darktable:modversion="6"
darktable:params="gz30eJzjZgCCMAaGDw/9OaTCGEbBCAcsA+2AUTCgQAGYAAASvQMi"
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz14eJxjYIAACQYYOOHEgAYY0QVwggZ7CB6pfNoAAEkgGQQ="/>
<rdf:li
darktable:num="3"
darktable:operation="colorout"
darktable:enabled="1"
darktable:modversion="5"
darktable:params="gz16eJxjZACCMIZRMMzBgquzOaSQ4jkQSl9448MBogER3AVB"
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz14eJxjYIAACQYYOOHEgAYY0QVwggZ7CB6pfNoAAEkgGQQ="/>
<rdf:li
darktable:num="4"
darktable:operation="gamma"
darktable:enabled="1"
darktable:modversion="1"
darktable:params="0000000000000000"
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz14eJxjYIAACQYYOOHEgAYY0QVwggZ7CB6pfNoAAEkgGQQ="/>
<rdf:li
darktable:num="5"
darktable:operation="temperature"
darktable:enabled="1"
darktable:modversion="3"
darktable:params="7c630b400000803fe9549c3f0000807f"
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz14eJxjYIAACQYYOOHEgAYY0QVwggZ7CB6pfNoAAEkgGQQ="/>
<rdf:li
darktable:num="6"
darktable:operation="highlights"
darktable:enabled="1"
darktable:modversion="2"
darktable:params="000000000000803f00000000000000000000803f"
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz13eJxjYGBgYARiCQYYOOHEgAYY0QVwggZ7CB6pfNoAAErAGQU="/>
<rdf:li
darktable:num="7"
darktable:operation="channelmixerrgb"
darktable:enabled="1"
darktable:modversion="2"
darktable:params="gz04eJxjYGiwZ8AAxIqRD9iBmAmIWYCYEYiXrD9pV151yo6hKscVZBdIDACGlwiK"
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz13eJxjYGBgYAZiCQYYOOHEgAYY0QVwggZ7CB6pfNoAAE4AGQc="/>
<rdf:li
darktable:num="8"
darktable:operation="flip"
darktable:enabled="1"
darktable:modversion="2"
darktable:params="ffffffff"
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz14eJxjYIAACQYYOOHEgAYY0QVwggZ7CB6pfNoAAEkgGQQ="/>
<rdf:li
darktable:num="9"
darktable:operation="basecurve"
darktable:enabled="1"
darktable:modversion="6"
darktable:params="gz07eJxjYICAExVTbAzZrtnonhGyW9q81+47y0q7JiZr+/UVr+xqaqLs16va2NvyldtbzEu3PxpWY8/A0ADFo2AwAw4kNhOGLCQOGYEsAFwXFi8="
darktable:multi_name=""
darktable:multi_priority="0"
darktable:blendop_version="10"
darktable:blendop_params="gz13eJxjYGBgYAZiCQYYOOHEgAYY0QVwggZ7CB6pfNoAAE4AGQc="/>
</rdf:Seq>
</darktable:history>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
Darktable ist ein nicht-destruktiver Bild-Editor, der Bilder nur lesend öffnet. Alle in darktable erzeugten Daten (Metadaten, Tags und Bildverarbeitungsschritte) werden in separaten .XMP-Begleitdateien sowie redundant in der darktable-Datenbank gespeichert. Die XMP-Dateien werden neben den originalen RAW-Dateien gespeichert und ermöglichen darktable, Informationen über die Bilder sowie die gesamte Bearbeitungshistorie zu speichern, ohne die Originaldateien zu verändern. Wird ein Bild zum ersten Mal in darktable importiert, so wird automatisch eine XMP-Datei erzeugt. Die XMP-Erzeugung kann unter darktable-Voreinstellungen > Speichern > XMP-Begleitdateien ausgeschaltet werden, was für den Normalgebrauch nicht empfohlen wird.
Die von darktable generierten XMP-Dateien können von anderen Programmen, wie z.B. Lightroom ganz oder teilweise gelesen und weiter verarbeitet werden.
Alle in darktable vorgenommenen Änderungen an den Bildern werden "on the fly" in die XMP-Datei und die Datenbank geschrieben. Dies führt oftmals bei Einsteigern in darktable zu Irritationen, da man einen "Speichern" oder "Speichern unter" Dialog in darktable vergeblich sucht.
(Quelle und weiterführende Informationen siehe darktable manual)
Vielleicht hilft der kurze Exkurs den einen oder anderen beim Verständnis vom XMP-Dateien in der Bildbearbeitung weiter. Gern können wir das Thema hier auch weiter diskutierwn und vertiefen.
Gruß Gert