Erstellungsdatum von RAW auslesen

n_e_r_d schrieb:
Ja aber eine Lösung bringt mir dies auch nicht und du hast wohl auch keine konkrete.
Ohne zu wissen, unter welchem OS das ganze laufen soll/muss und ob dort die Möglichkeit für einen perl- oder sonstigen Progrmammaufruf besteht, nicht.

Sonst hast Du die Lösung schon selber genannt "Gerade probiere ich mit ExifTool rum.". Das funktioniert jedenfalls unter WIndows nahezu problemlos (meine persönliche Abneigung gegen ExifTool unter Winows nicht betrachtet) für JPGs, NEF (also Raws von Nikon) und ARW.

PyExifTool mit pip installieren
https://pypi.org/project/PyExifTool/
ExifTool selber herunterladen und entweder in den Pfad kopieren oder in das Programmverzeichnis (unter Windows als exiftool.exe) kopieren
https://exiftool.org/
und das erste Beispiel hier nutzen
https://sylikc.github.io/pyexiftool/

Und schon gibt es das "EXIF : DateTimeOriginal" der Dateien aus.
Code:
lev2019-0003.jpg     2019:10:27 10:56:26 
dp2011-0092.nef      2011:03:10 15:49:18 
sony_a7s_iii_38.arw  2022:09:08 17:43:09

Wenn es plattformunabhängig ohne ein Zusatztool sein soll, muss man halt den Bug in der exif-Library suchen, an der die Byteorder falsch/nicht beachtet wird.

Persönlich brauche ich das in python derzeit nicht, meine eigene Implementierung zum Lesen der EXIF-Tags in .NET funktioniert seit über 10 Jahren und dort, wo mir das zu aufwändig war, wird exiv2 aufgerufen.
 
  • Gefällt mir
Reaktionen: n_e_r_d
@gymfan ok, danke für deine ausführliche Antwort. Das werde ich mal probieren.

@alle Falls ich ein Foto in meinem iPhone über "In Aufnahmen sicher" gespeichert habe, hat es ja kein Ursprung-Aufnahmedatum. Dann versagt
._getexif()[36867]
Welche Alternativen habe ich dazu?
 
n_e_r_d schrieb:
@alle Falls ich ein Foto in meinem iPhone über "In Aufnahmen sicher" gespeichert habe, hat es ja kein Ursprung-Aufnahmedatum. Dann versagt
._getexif()[36867]
Welche Alternativen habe ich dazu?
Welche Aufnahmen genau?

Egal, ob mein iPhone ein Bild im nutzlosen "heif"/"HEIC" Format erstellt oder als JPG, obiger Quelltext mit PyExifTools liest mit EXIF-Tag 36867 bzw. 0x9003 oder "EXIF : DateTimeOriginal" (Spaces vor/nach dem Doppelpunkt nur, damit die Forumsoftware darauf keinen Smilie erzeugt) das Erstellungsdatum.

Wobei ich, da ich iOS hasse, das Bild (mehr oder weniger aufwändig) über die "Dateien"-App auf mein NAS kopiert habe und nicht über irgendeine Apple-Software (was es da auch immer geben mag).

Hier die Ausgabe exakt des selben Demoprograms wie zuvor, nur natürlich mit anderen Dateinamen.
Code:
IMG_0563.jpeg        2022:01:10 16:21:34 
IMG_0563.heif        2022:01:10 16:21:34

Wenn Du PyExifTool nicht nutzen willst/kannst, bleibt nur entweder die Variante von Purche (also selber in der Datei nach dem richtigen der mind. drei Zeitstempel suchen) oder die Behebung des Fehlers in der python "exif" Library.

Wobei letzteres mit Appels heif-Format nichts nützt, da man sich dort wieder mal etwas neues ausdenken musste.
 
Zuletzt bearbeitet:
gymfan schrieb:
PyExifTool mit pip installieren
https://pypi.org/project/PyExifTool/
ExifTool selber herunterladen und entweder in den Pfad kopieren oder in das Programmverzeichnis (unter Windows als exiftool.exe) kopieren
https://exiftool.org/
und das erste Beispiel hier nutzen
https://sylikc.github.io/pyexiftool/
Sorry für die späte Antwort, hatte eine stressige Woche.

Ich hab probiert exiftool zu installieren, aber es klappt nicht so ganz (s. Bild im Anhang). Ich hab auch auf "this FAQ" geklickt und probiert dieses exiftool in Spyder zu integrieren, aber es klappt irgendwie nicht.

Ich habe gemäß dem Video noch "Anaconda" runtergeladen, aber es funktioniert immer noch nicht. Kann mir vielleicht mal wer erklären was "Anaconda" (bzw. "Miniconda") genau macht?

Außerdem habe ich "exiftool(-k).exe" bereits heruntergeladen und entpackt. Dann bin ich aber unsicher, wo diese Datei hingehört. Auf dem Desktop, wie unter https://exiftool.org/install.html beschrieben oder in C:\Users\benutzername\anaconda3\bin ?
 

Anhänge

  • FehlerBeimInstallieren.jpg
    FehlerBeimInstallieren.jpg
    219,3 KB · Aufrufe: 201
Zuletzt bearbeitet:
Sorry, ich habe im Grunde von Python und erst recht von der Modulverwaltung keine Ahnung. Ich nutze Python nur dort, wo ich nichts anderes zur Verfügung habe (derzeit auf meinem TV-Receiver und demnächst u.U. auf dem iPhone).

Wenn ich das Folgde überfiege
https://stackoverflow.com/questions/20994716/what-is-the-difference-between-pip-and-conda
dann ist wohl pip wieder grauenhaft veraltet und wurde durch conda erstetzt oder es wurde nur ein inkompatibeles Konkurenzformat eingeführt, da man sich bei OSS ja niemals auf irgendwas verlassen darf
"Because Conda introduces a new packaging format,"
Mit Pech gibt es bei conda PyExifTools nicht oder man muss (1. Antwort auf die Ausgangsfrage) noch mehr machen wie nur einen einfachen Download.

Damit muss Dir jenand helfen, der sich täglich mit dem Zeugs beschäftigt. Ich hasse solche Inkompatibilitäten, die mich schon (auch im privazten Umfeld) von anderen Programmiersprachen und Libraries weiterstgehend vertrieben haben.

Ich habe das nur mit dem (wohl altmodischen) Python Installer von python.org versucht, der pip mitliefert (aber den path falsch setzt, man will dort die User wohl auch von pip abbringen).

Damit habe ich
py -m pip install PyExifTool
aufgerufen und er hat mir die PyExifTools "irgendwohin" installiert. Gelandet sind es bei mir unter
C:\Users\<Name>\AppData\Local\Programs\Python\Python310\Lib\site-packages

Danach habe ich noch die Windows-exe von Exiftool herunter geladen, exiftool(-k).exe umbenannt in "exiftol.exe" und in das Verzeichnis kopiert, in dem auch kein Python Quelltext liegt.
 
Das heißt also diese Option funktioniert vielleicht nicht mehr
gymfan schrieb:

aber diese schon:
gymfan schrieb:
ExifTool selber herunterladen und entweder in den Pfad kopieren oder in das Programmverzeichnis (unter Windows als exiftool.exe) kopieren
https://exiftool.org/
oder wie?

gymfan schrieb:
py -m pip install PyExifTool
Wo genau rufst du das auf? Im Windows Terminal oder im Anaconda Prompt? Ich komme da mit den Begrifflichkeiten etwas durcheinander.
 
Zurück
Oben