klooney hat geschrieben: ↑Samstag 18. Februar 2023, 15:39
@nezzcarth: das Programm exiftool kann auch andere tags als Exif lesen, das ist richtig. Allerdings werden standardmäßig nur die exif-tags gelesen, die @noisefloor richtig mit der URL verlinkt hat.
Das ist nach meinem Kenntnisstand nicht korrekt. Ich habe es gerade extra noch einmal ausprobiert und "exiftool <bildname.jpg>" ohne weitere Parameter gibt mir z.B. auch XMP-Tags aus, die Darktable gesetzt hat. Dies habe ich auch noch einmal mit 'exifv2 -p a <bildname.jpg>' gegen geprüft.
klooney hat geschrieben: ↑Samstag 18. Februar 2023, 15:39
Um der Ursache auf den Grund zu gehen, warum die oben erwähnten Bibliotheken nur einen Teil der tags auslesen fehlt mir schlichtweg das technische Verständnis
Die Ursache ist im Prinzip relativ einfach: Die Tags werden nicht "einfach so" unterstützt, sondern müssen explizit berücksichtigt werden. ExifTool ist hier, würde ich schon sagen, schon ganz vorne mit dabei, wenn nicht sogar die unangefochtene Spitze, da es eine Vielfalt an Formaten, Hersteller-spezifische Erweiterungen usw. berücksichtigt. Da ist es für andere Bibliotheken einfach extrem schwer, mitzuhalten.
Du hattest in deinem Code-Beispiel exifread verwendet. Die entsprechenden Code-Passagen, aus denen hervorgeht, was die Software unterstützt, sind hier zu sehen
https://github.com/ianare/exif-py/tree/ ... fread/tags
Hier sieht man, dass einerseits gängige Exif-Tags einschl. GPS (exif.py) unterstüzt werden, sowie 7 herstellerspezifische Erweiterungen.
ExifTool ist ein Wrapper um die Perl-Bibliothek Image:ExifTool. Wenn man sich auch hier die entsprechenden Code-Teile dazu ansieht, sieht man sofort, dass das einfach mehrere Größenordnungen über dem liegt, was die Python-Bibliothek unterstützt. Selbst wenn man berücksichtigt, dass nicht nur Exif sondern noch mehr drin steckt, ist einfach die Menge ungleich höher. ExifTool ist einfach sehr komplex (allein schon die Spezifika einzelner Hersteller herauszubekommen stelle ich mir als große Herausforderung vor) und ich bezweifle, dass es ein zweites Tool/eine zweite Bibliothek gibt, das/die die Ergebnisse von ExifTool exakt reproduziert. Um mit Python also dasselbe Resultat zu erzielen wie mit ExifTool, müsstest du das alles nach Python übersetzen. Das ist vermutlich keine Anfänger-Aufgabe.