Hallo Karl,
spannende Fragen

und da ich das auch mal immer wissen wollte, habe ich gerade meine Lightroom-Datenbank
mal etwas "reverse engineered".
ACHTUNG: Falls wer das nachmachen möchte: Niemals den Original-LR-Katalog öffnen, und erst recht nicht
während Lightroom läuft! Lr benutzt eine SQLLite-Datenbank. Die ist nur für Einzel-Benutzer-Betrieb
ausgelegt und kann schnell kaputtgehen, wenn man dumme Sachen damit macht. Darunter fällt auch
der Versuch, die Datenbank-Datei zu kopieren während Lightroom läuft.
Also VORSICHT!
Folgendes geht aber gefahrlos, wenn man alle Hinweise beachtet:
1. in Lightroom unter Bearbeiten/Katalogeinstellungen im Tab Allgemein bei Speicherort / Dateiname
nachsehen, wie die Datenbank heißt und wo sie liegt.
2. Ein Bild so mit Metadaten präparieren, dass wir die Daten später in der DB wiederfinden können. Ich habe dazu
einfach in alle EXIF- und IPTC-Datenfelder ihre jeweilige Beschriftung eingetragen.
3. (WICHTIG!) Lightroom beenden und warten, bis es wirklich geschlossen ist. Oft schreibt es ganz zum Schluss
noch einiges Zeugs in die Datenbank, damit muss es erst fertig sein bevor man weitermacht! Am besten im
Taskmanager nachsehen und warten, bis die lightroom.exe da aus der Prozessliste verschwunden ist.
4. Jetzt die <MeinKatalog>.lrcat-Datei im "Speicherort"-Ordner kopieren und z.B. in C:\Temp wieder einfügen.
5. Nun braucht man ein Tool, um die Kopie der Datenbank direkt öffnen zu können um sich die Tabellen
und Daten darin anzusehen. Das geht z.B. mit "SQLLiteSpy" (Windows-EXE) oder "SQLlite Manager" (Firefox-Addon).
6. Kommen wir zum schwierigen Teil: herausfinden, wie die ganzen Tabellen verknüpft sind und wo die Daten stehen,
die man auslesen möchte. In div. Foren findet man dazu etwas Starthilfe, z.B. hier:
Thread im Adobe-Forum (5. Beitrag)Nachdem ich die interne ID ("id_local") des präparierten Bilds herausgefunden hatte (es war bei mir die 2230599),
konnte ich mit der folgenden "handlichen" SQL-Abfrage die meisten Metadaten auslesen:
Code: Alles auswählen
SELECT
AgLibraryFile.id_local, AgHarvestedExifMetadata.image, AgLibraryFile.originalFilename, AgLibraryIptc.caption as Bildtitel,
Adobe_images.aspectRatioCache as Seitenverh, Adobe_images.bitDepth as BitTiefe, Adobe_images.captureTime as Zeitstempel,
Adobe_images.colorLabels, Adobe_images.fileFormat, Adobe_images.fileWidth, Adobe_images.fileHeight,
Adobe_images.orientation,
AgInternedExifCameraModel.value as Kamera, AgInternedExifLens.value as Objektiv,
AgHarvestedExifMetadata.isoSpeedRating as ISO, AgHarvestedExifMetadata.aperture as Blende,
AgHarvestedExifMetadata.focalLength as Brennweite, AgHarvestedExifMetadata.shutterSpeed as Belichtungszeit,
Adobe_AdditionalMetadata.xmp as XMPDaten,
replace(AgLibraryRootFolder.absolutePath || AgLibraryFolder.pathFromRoot || AgLibraryFile.originalFilename, '/', '\') AS Dateipfad
FROM ((((((((AgLibraryFile
LEFT JOIN Adobe_images ON AgLibraryFile.id_local = Adobe_images.rootFile)
LEFT JOIN AgHarvestedExifMetadata ON Adobe_images.id_local = AgHarvestedExifMetadata.image)
LEFT JOIN Adobe_imageProperties ON Adobe_images.id_local = Adobe_imageProperties.image)
LEFT JOIN Adobe_AdditionalMetadata ON Adobe_images.id_local = Adobe_AdditionalMetadata.image)
LEFT JOIN AgInternedExifCameraModel ON AgHarvestedExifMetadata.cameraModelRef = AgInternedExifCameraModel.id_local)
LEFT JOIN AgInternedExifLens ON AgHarvestedExifMetadata.lensRef = AgInternedExifLens.id_local)
LEFT JOIN AgLibraryFolder ON AgLibraryFile.folder = AgLibraryFolder.id_local)
LEFT JOIN AgLibraryRootFolder ON AgLibraryFolder.rootFolder = AgLibraryRootFolder.id_local)
LEFT JOIN AgLibraryIptc ON Adobe_images.id_local = AgLibraryIptc.image
WHERE
AgLibraryFile.id_local=2230599;
Heraus kam folgendes Ergebnis:
- sql_result.jpg (71.99 KiB) 2601 mal betrachtet

Sehr nett - die wichtigsten Metadaten alle da. Trotzdem war ich erst mal etwas verwirrt. Warum 5 Zeilen zu einem einzigen Bild ??
Die Antwort ist eigentlich einfach: Ich habe von dem Bild mehrere Entwicklungen (virtuelle Kopien) gemacht, die alle
auf das selbe Original (Spalte "id_local") verweisen, aber in Lr als verschiedene Bilder (Spalte "image") geführt werden.
...und jetzt kommt leider die schlechte Nachricht:
Lightroom speichert viele der Metadaten im einem großen "Sammel-Feld" in der Tabelle Adobe_AdditionalMetadata, und
zwar zu jeder einzelnen
Entwicklung - man kann in verschiedene Entwicklungen verschiedene IPTC-Daten reinschreiben.
So lange man das Bild (resp. die Entwicklung) nicht aus Lr exportiert, stehen die Daten nur in diesem großen Textfeld
in der Datenbank. Sie werden auch nicht in die xmp-Datei geschrieben, die (sofern man das aktiviert hat) im Verzeichnis
des Originalbilds abgelegt wird. DOOF!
Es gibt also keine einfache Möglichkeit, sich die ganzen IPTC-Daten seiner Bildersammlung nach Excel oder so zu exportieren.
Na ja... hat trotzdem Spaß gemacht, sich die Innereien der Lr-Datenbank mal anzusehen

lg, Frank
P.S.: hier mal der komplette Inhalt des internen XMP-Felds zu dem präparierten Bild - selbst da findet man die Daten
verstreut in Einzelteilen, aber immerhin findet man sie irgendwo alle wieder
Code: Alles auswählen
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c128 79.159124, 2016/03/18-14:01:55 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
xmlns:exif="http://ns.adobe.com/exif/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:aux="http://ns.adobe.com/exif/1.0/aux/"
xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/"
xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"
xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
xmlns:lr="http://ns.adobe.com/lightroom/1.0/"
xmp:ModifyDate="2016-11-30T17:51:31.00"
xmp:CreateDate="2016-11-30T17:51:31.00"
xmp:MetadataDate="2016-11-30T17:47:07.817+01:00"
xmp:Rating="4"
tiff:Make="Canon"
tiff:Model="Canon EOS 70D"
tiff:Orientation="1"
tiff:ImageWidth="5472"
tiff:ImageLength="3648"
exif:ExifVersion="0230"
exif:ExposureTime="4/10"
exif:ShutterSpeedValue="1321928/1000000"
exif:FNumber="16/1"
exif:ApertureValue="8/1"
exif:ExposureProgram="3"
exif:SensitivityType="2"
exif:RecommendedExposureIndex="100"
exif:ExposureBiasValue="1/1"
exif:MaxApertureValue="4/1"
exif:MeteringMode="5"
exif:FocalLength="10/1"
exif:CustomRendered="0"
exif:ExposureMode="2"
exif:WhiteBalance="0"
exif:SceneCaptureType="0"
exif:FocalPlaneXResolution="80351024/32768"
exif:FocalPlaneYResolution="80351024/32768"
exif:FocalPlaneResolutionUnit="3"
exif:DateTimeOriginal="2016-11-30T17:51:31.00"
exif:PixelXDimension="5472"
exif:PixelYDimension="3648"
dc:format="image/x-canon-cr2"
aux:SerialNumber="043021006766"
aux:LensInfo="10/1 20/1 0/0 0/0"
aux:Lens="10-20mm"
aux:LensID="152"
aux:LensSerialNumber="0000000000"
aux:ImageNumber="0"
aux:ApproximateFocusDistance="209/100"
aux:FlashCompensation="0/1"
aux:Firmware="1.1.1"
photoshop:DateCreated="2016-11-30T17:51:31.00"
photoshop:Headline="Inhalt Überschrift"
photoshop:City="Bild Stadt"
photoshop:State="Bild Bundesland/Kanton"
photoshop:Country="Bild Land"
photoshop:TransmissionReference="Status Jobkennung"
photoshop:Instructions="Status Anweisungen"
photoshop:Credit="Status Bildrechte"
photoshop:Source="Status Quelle"
photoshop:CaptionWriter="Inhalt Autor der Beschreibung"
photoshop:Category="Inhalt Kategorie"
photoshop:AuthorsPosition="Kontakt Berufsbez."
xmpMM:DocumentID="7C15F096B8C7920CB389987B9C4B198A"
crs:Version="9.7"
crs:ProcessVersion="6.7"
crs:WhiteBalance="Custom"
crs:AutoWhiteVersion="134348800"
crs:Temperature="3845"
crs:Tint="+1"
crs:Saturation="0"
crs:Sharpness="25"
crs:LuminanceSmoothing="0"
crs:ColorNoiseReduction="25"
crs:VignetteAmount="0"
crs:ShadowTint="0"
crs:RedHue="0"
crs:RedSaturation="0"
crs:GreenHue="0"
crs:GreenSaturation="0"
crs:BlueHue="0"
crs:BlueSaturation="0"
crs:Vibrance="0"
crs:HueAdjustmentRed="0"
crs:HueAdjustmentOrange="0"
crs:HueAdjustmentYellow="0"
crs:HueAdjustmentGreen="0"
crs:HueAdjustmentAqua="0"
crs:HueAdjustmentBlue="0"
crs:HueAdjustmentPurple="0"
crs:HueAdjustmentMagenta="0"
crs:SaturationAdjustmentRed="0"
crs:SaturationAdjustmentOrange="0"
crs:SaturationAdjustmentYellow="0"
crs:SaturationAdjustmentGreen="0"
crs:SaturationAdjustmentAqua="0"
crs:SaturationAdjustmentBlue="0"
crs:SaturationAdjustmentPurple="0"
crs:SaturationAdjustmentMagenta="0"
crs:LuminanceAdjustmentRed="0"
crs:LuminanceAdjustmentOrange="0"
crs:LuminanceAdjustmentYellow="0"
crs:LuminanceAdjustmentGreen="0"
crs:LuminanceAdjustmentAqua="0"
crs:LuminanceAdjustmentBlue="0"
crs:LuminanceAdjustmentPurple="0"
crs:LuminanceAdjustmentMagenta="0"
crs:SplitToningShadowHue="0"
crs:SplitToningShadowSaturation="0"
crs:SplitToningHighlightHue="0"
crs:SplitToningHighlightSaturation="0"
crs:SplitToningBalance="0"
crs:ParametricShadows="0"
crs:ParametricDarks="0"
crs:ParametricLights="0"
crs:ParametricHighlights="0"
crs:ParametricShadowSplit="25"
crs:ParametricMidtoneSplit="50"
crs:ParametricHighlightSplit="75"
crs:SharpenRadius="+1.0"
crs:SharpenDetail="25"
crs:SharpenEdgeMasking="0"
crs:PostCropVignetteAmount="0"
crs:GrainAmount="0"
crs:ColorNoiseReductionDetail="50"
crs:ColorNoiseReductionSmoothness="50"
crs:LensProfileEnable="0"
crs:LensManualDistortionAmount="0"
crs:PerspectiveVertical="0"
crs:PerspectiveHorizontal="0"
crs:PerspectiveRotate="0.0"
crs:PerspectiveScale="100"
crs:PerspectiveAspect="0"
crs:PerspectiveUpright="0"
crs:PerspectiveX="0.00"
crs:PerspectiveY="0.00"
crs:AutoLateralCA="0"
crs:Exposure2012="0.00"
crs:Contrast2012="0"
crs:Highlights2012="-100"
crs:Shadows2012="+100"
crs:Whites2012="0"
crs:Blacks2012="0"
crs:Clarity2012="0"
crs:DefringePurpleAmount="0"
crs:DefringePurpleHueLo="30"
crs:DefringePurpleHueHi="70"
crs:DefringeGreenAmount="0"
crs:DefringeGreenHueLo="40"
crs:DefringeGreenHueHi="60"
crs:Dehaze="0"
crs:ToneMapStrength="0"
crs:ConvertToGrayscale="False"
crs:ToneCurveName="Medium Contrast"
crs:ToneCurveName2012="Linear"
crs:CameraProfile="Adobe Standard"
crs:CameraProfileDigest="98BA1AFA1155D0472068BB57D3655975"
crs:LensProfileSetup="LensDefaults"
crs:UprightVersion="151388160"
crs:UprightCenterMode="0"
crs:UprightCenterNormX="0.5"
crs:UprightCenterNormY="0.5"
crs:UprightFocalMode="0"
crs:UprightFocalLength35mm="35"
crs:UprightPreview="False"
crs:UprightTransformCount="6"
crs:UprightFourSegmentsCount="0"
crs:HasSettings="True"
crs:AlreadyApplied="False"
Iptc4xmpCore:IntellectualGenre="Bild Genre"
Iptc4xmpCore:Location="Bild Ortsdetail"
Iptc4xmpCore:CountryCode="DE"
xmpRights:WebStatement="C/URLfC">
<exif:ISOSpeedRatings>
<rdf:Seq>
<rdf:li>100</rdf:li>
</rdf:Seq>
</exif:ISOSpeedRatings>
<exif:Flash
exif:Fired="False"
exif:Return="0"
exif:Mode="2"
exif:Function="False"
exif:RedEyeMode="False"/>
<exif:UserComment>
<rdf:Seq>
<rdf:li>EXIF Benutzerkommentar</rdf:li>
</rdf:Seq>
</exif:UserComment>
<dc:rights>
<rdf:Alt>
<rdf:li xml:lang="x-default">Frank Ingermann</rdf:li>
</rdf:Alt>
</dc:rights>
<dc:subject>
<rdf:Bag>
<rdf:li>Abendrot</rdf:li>
<rdf:li>Brackvenn</rdf:li>
<rdf:li>Herbst</rdf:li>
<rdf:li>Sonnenuntergang</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:title>
<rdf:Alt>
<rdf:li xml:lang="x-default">Status Titel</rdf:li>
</rdf:Alt>
</dc:title>
<dc:creator>
<rdf:Seq>
<rdf:li>Kontakt Ersteller</rdf:li>
</rdf:Seq>
</dc:creator>
<photoshop:SupplementalCategories>
<rdf:Bag>
<rdf:li>Inhalt Andere Kategorien</rdf:li>
</rdf:Bag>
</photoshop:SupplementalCategories>
<crs:ToneCurve>
<rdf:Seq>
<rdf:li>0, 0</rdf:li>
<rdf:li>32, 22</rdf:li>
<rdf:li>64, 56</rdf:li>
<rdf:li>128, 128</rdf:li>
<rdf:li>192, 196</rdf:li>
<rdf:li>255, 255</rdf:li>
</rdf:Seq>
</crs:ToneCurve>
<crs:ToneCurveRed>
<rdf:Seq>
<rdf:li>0, 0</rdf:li>
<rdf:li>255, 255</rdf:li>
</rdf:Seq>
</crs:ToneCurveRed>
<crs:ToneCurveGreen>
<rdf:Seq>
<rdf:li>0, 0</rdf:li>
<rdf:li>255, 255</rdf:li>
</rdf:Seq>
</crs:ToneCurveGreen>
<crs:ToneCurveBlue>
<rdf:Seq>
<rdf:li>0, 0</rdf:li>
<rdf:li>255, 255</rdf:li>
</rdf:Seq>
</crs:ToneCurveBlue>
<crs:ToneCurvePV2012>
<rdf:Seq>
<rdf:li>0, 0</rdf:li>
<rdf:li>255, 255</rdf:li>
</rdf:Seq>
</crs:ToneCurvePV2012>
<crs:ToneCurvePV2012Red>
<rdf:Seq>
<rdf:li>0, 0</rdf:li>
<rdf:li>255, 255</rdf:li>
</rdf:Seq>
</crs:ToneCurvePV2012Red>
<crs:ToneCurvePV2012Green>
<rdf:Seq>
<rdf:li>0, 0</rdf:li>
<rdf:li>255, 255</rdf:li>
</rdf:Seq>
</crs:ToneCurvePV2012Green>
<crs:ToneCurvePV2012Blue>
<rdf:Seq>
<rdf:li>0, 0</rdf:li>
<rdf:li>255, 255</rdf:li>
</rdf:Seq>
</crs:ToneCurvePV2012Blue>
<Iptc4xmpCore:Scene>
<rdf:Bag>
<rdf:li>Bild IPTC Scene Code</rdf:li>
</rdf:Bag>
</Iptc4xmpCore:Scene>
<Iptc4xmpCore:SubjectCode>
<rdf:Bag>
<rdf:li>Inhalt IPTC Subject Code</rdf:li>
</rdf:Bag>
</Iptc4xmpCore:SubjectCode>
<Iptc4xmpCore:CreatorContactInfo
Iptc4xmpCore:CiAdrExtadr="Kontakt Adresse"
Iptc4xmpCore:CiAdrCity="Kontakt Ort"
Iptc4xmpCore:CiAdrRegion="Kontakt BuLand/Kanton"
Iptc4xmpCore:CiAdrPcode="Kontakt PLZ"
Iptc4xmpCore:CiAdrCtry="Kontakt Land"
Iptc4xmpCore:CiTelWork="Kontakt Telefon"
Iptc4xmpCore:CiEmailWork="Kontakt eMail"
Iptc4xmpCore:CiUrlWork="Kontakt Webadressen"/>
<xmpRights:UsageTerms>
<rdf:Alt>
<rdf:li xml:lang="x-default">C/BedFR</rdf:li>
</rdf:Alt>
</xmpRights:UsageTerms>
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>Abendrot</rdf:li>
<rdf:li>Brackvenn</rdf:li>
<rdf:li>Herbst</rdf:li>
<rdf:li>Sonnenuntergang</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>