• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Aufnahmezeitstempel bei Bildern

pp91

Hacker
Hallo,
ich habe in meiner Kamera immer mein lokales Datum eingestellt, derzeit also CEST. Wenn ich beispielsweise um 18 Uhr eine Aufnahme machen, so wird in der Kamera (selbstverständlich) 18 Uhr als Aufnahmezeit angezeigt. Sehe ich mir die Aufnahme aber in Linux an (direkt von der SD-Karte oder auf die Festplatte kopiert), so steht dort 20 Uhr als Aufnahmezeit. Warum ist das so und wie kann ich den Fehler beheben?
Gruß
Peter
 

marce

Guru
beziehst Du Dich auf den Dateisystem-Timestamp oder die Werte aus den EXIF-Daten?
Mit welcher Zeitzoneneinstellung läuft Dein Linux?
 
OP
pp91

pp91

Hacker
Es ist die Dateisystem-Zeitangabe, die mich stört, denn für jede Datei einzeln in die exif-Daten zu sehen, ist ja sehr umständlich.

Für neue Aufnahmen (die ich jetzt mache) habe ich, so glaube ich, eine Lösung gefunden. Mir ist es endlich gelungen, in YaST -> "Datum und Zeit" das Häkchen bei "Rechneruhr auf UTC gestellt" dauerhaft wegzumachen. Jetzt zeigt das Dateisystem die richtige Aufnahmezeit an.

Halt, Kommando zurück! Während ich diese Antwort schreibe, habe ich noch mal getestet. Ergebnis: Es hängt anscheinend von der SD-Karte ab. Bei einer (8 GB, vfat) ist die Zeit richtig, bei der anderen (64 GB, exfat) um 2 Stunden falsch. Es wird für mich immer undurchsichtiger. Schreibt Linux etwas auf die SD-Karte? Spielt es eine Rolle, wo die Karte formatiert wurde? Oder?
 

susejunky

Moderator
Teammitglied
Hallo pp91,
pp91 schrieb:
... Es hängt anscheinend von der SD-Karte ab. Bei einer (8 GB, vfat) ist die Zeit richtig, bei der anderen (64 GB, exfat) um 2 Stunden falsch. Es wird für mich immer undurchsichtiger. Schreibt Linux etwas auf die SD-Karte? Spielt es eine Rolle, wo die Karte formatiert wurde? Oder?
das erscheint mir unwahrscheinlich.

Das Betriebssystem oder die Anwendung, welche die Datei auf die SD-Karte schreibt, bestimmen den Wert, der als Zeitstempel verwendet wird. Soweit mir bekannt, hat das verwendete Dateisystem auf den Wert keinen Einfluß.

Ich habe das "Problem" für mich wie folgt gelöst:

  • Alle meine Kamera-Uhren sind auf LOCALE-Zeit (MEZ/MESZ) eingestellt und meine Kameras verwenden ausschließlich die Werte der Kamera-Uhr (ohne diese in irgend einer Form umzurechnen) für EXIF-Daten und Datei-Zeitstempel.
  • Alle meine Rechner-Hardware-Uhren (PC, Laptop, NAS, ...) sind auf UTC eingestellt und alle meine Betriebssysteme (Linux und MS Windows 10) wissen das und rechnen bei der Anzeige automatisch alle Datei-Zeitstempel auf die von mir eingestellte LOCALE-Zeit (MEZ/MESZ) um. Damit werden alle Dateien auf Kamera-SD-Karten mit "falschen" Zeitstempeln angezeigt (d.h. der angezeigte Datei-Zeitstempel entspricht nicht dem EXIF-Wert).
  • Die Zeitstempel, der von den Kamera-SD-Karten auf die Rechner überspielten Dateien, setze ich direkt nach dem Überspielen auf den Rechner mit Hilfe von exiftool auf UTC um. Damit werden auf allen meinen Rechnern, die von den SD-Karten überspielten Dateien, mit korrektem Zeitstempel angezeigt (d.h. der angezeigte Zeitstempel entspricht dem EXIF-Wert). Allerdings werden weiterhin alle Dateien auf Kamera-SD-Karten mit "falschen" Zeitstempeln angezeigt (d.h. der angezeigte Datei-Zeitstempel entspricht nicht dem EXIF-Wert).

Alternativen:

  • Man stellt alle Systeme auf LOCALE-Zeit (z.B. MEZ/MESZ).
    Die meisten Benutzer stellen ihre Kamera-Uhr auf die LOCALE-Zeit und die (meisten) Kameras rechnen den Wert ihrer Uhr nicht in eine andere Zeitzone um.
    MS Windows 10 ist standardmäßig so konfiguriert, dass es eine Hardware-Uhr in LOCALE-Zeit erwartet.
    Linux (zumindest openSUSE-Systeme) kann so eingerichtet werden, dass es mit einer, auf LOCALE eingestellten Hardware-Uhr umgehen kann.
  • Man stellt alle Systeme auf UTC um.
    Allerdings werden dann die In-Bild-Zeitstempel und die EXIF-Daten der (meisten) Kameras auch in UTC dargestellt.

Viele Grüße

susejunky
 

josef-wien

Ultimate Guru
susejunky schrieb:
das erscheint mir unwahrscheinlich.
Mir nicht, denn bei FAT* wird immer die lokale Zeit verwendet (Quelle: https://www.kernel.org/doc/Documentation/filesystems/vfat.txt, suchen nach UTC).

Solange nicht überall ordentlich gearbeitet und der Zeitstempel in UTC (oder mit Angabe der Abweichung zu UTC) gespeichert wird, wirst Du wie susejunky die für dich geltenden Gegebenheiten ermitteln und eine für Dich geeignete Lösung finden müssen.
 

susejunky

Moderator
Teammitglied
josef-wien schrieb:
susejunky schrieb:
das erscheint mir unwahrscheinlich.
Mir nicht, denn bei FAT* wird immer die lokale Zeit verwendet (Quelle: https://www.kernel.org/doc/Documentation/filesystems/vfat.txt, suchen nach UTC).
Danke für den Hinweis!

Ich hatte mir lediglich die Microsoft FAT specification durchgelesen und aus der lässt sich ein solches Verhalten nicht ableiten.

Wenn ich das nächste Mal mein für UTC konfiguriertes MS Windows 10 starte, werde ich einmal überprüfen, ob es tatsächlich LOCALE-Zeitstempel bei FAT-Dateisystemen verwendet.

Viele Grüße

susejunky
 
OP
pp91

pp91

Hacker
Nochmal zu den Unterschieden bei den SD-Karten. Ich habe es erneut sorgfältig mit 3 SD-Karten getestet.
Ergebnis:

2 SD-Karten mit vfat (8 und 32 GB): Die Kamera zeigt 15:.. Uhr als Aufnahmezeit.
Dann die SD-Karte in den Rechner. Dolphin zeigt unter "Geändert" ebenfalls 15:... Uhr an.
Bild mit Gwenview geöffnet. Uhrzeit bei "Geändert" (wieso eigentlich immer "geändert"?) ebenfalls 15:... Uhr.
In Gwenview "Mehr" angeklickt, um zu den Bildinformationen zu gelangen: Unter "Allgemein" 15:... Uhr, unter "EXIF": 15:... Uhr.

1 SD-Karte mit exfat (64 GB): Die Kamera zeigt 15:.. Uhr als Aufnahmezeit.
Dann die SD-Karte in den Rechner. Dolphin zeigt unter "Geändert" 17:... Uhr an.
Bild mit Gwenview geöffnet. Uhrzeit bei "Geändert" (wieso eigentlich immer "geändert"?) ebenfalls 17:... Uhr.
In Gwenview "Mehr" angeklickt, um zu den Bildinformationen zu gelangen: Unter "Allgemein" 15:... Uhr, unter "EXIF": 15:... Uhr.

Es ist eindeutig, dass bei den Uhrzeiten meine SD-Karten verschieden behandelt werden. Da wüsste ich gerne, woran das liegt.
 

josef-wien

Ultimate Guru
Bei exFAT liegt es entweder an der Kamera oder an FUSE (oder am Kernel, wenn Du mindestenes 5.4 und dessen Modul verwendest) oder an beiden.

Logisch analysiert schreibt Deine Kamera die Lokalzeit ins Dateisystem. Ob sie aber "richtig" deklariert ist? FUSE (oder der Kernel) interpretiert die Zeit als UTC. Ob diese Interpretation richtig ist? Beide Fragen kann ich Dir nicht beantworten. Jedenfalls wird diese Zeit bei Normalzeit um 1 Stunde und bei Sommerzeit um 2 Stunden erhöht angezeigt (siehe auch stat dateiname).

Die EXIF-Spezifikation kennt nur <Datum_und_Uhrzeit>, <Datum_und_Uhrzeit__original_> und <Datum_und_Uhrzeit__digitalisiert_> (auf Neudeutsch „OffsetTime“, „OffsetTimeOriginal“ und „OffsetTimeDigitized“). Erklärungen dazu mußt Du selbst suchen. Zumindest bei Dir interpretieren Kamera und die die EXIF-Daten lesenden Programme die von Dir genannten Werte bei Deinen Einstellungen als Lokalzeit.
 

Christina

Moderator
Teammitglied
pp91 schrieb:
2 SD-Karten mit vfat (8 und 32 GB)
1 SD-Karte mit exfat (64 GB)
(…)
Es ist eindeutig, dass bei den Uhrzeiten meine SD-Karten verschieden behandelt werden. Da wüsste ich gerne, woran das liegt.
Du kannst für die 64GB SD-Karte auch FAT32 statt exFAT verwenden, wenn du den Wert für Cluster-Größe anhebst: mkfs.vfat -s SECTORS-PER-CLUSTER.
Siehe: https://www.techwalla.com/articles/...ld-be-used-when-making-large-fat32-partitions
Ich gehe immer nach diesem Schema vor: http://3gfp.com/wp/2014/07/formatting-sd-cards-for-speed-and-lifetime/

Oder du verwendest für alle deine SD-Karten nur noch exFAT.
So oder andersherum werden dann alle deine Karten immer gleich behandelt.
 

susejunky

Moderator
Teammitglied
Hallo pp91,
pp91 schrieb:
... Ergebnis:

2 SD-Karten mit vfat (8 und 32 GB): Die Kamera zeigt 15:.. Uhr als Aufnahmezeit.
Dann die SD-Karte in den Rechner. Dolphin zeigt unter "Geändert" ebenfalls 15:... Uhr an.
Bild mit Gwenview geöffnet. Uhrzeit bei "Geändert" (wieso eigentlich immer "geändert"?) ebenfalls 15:... Uhr.
In Gwenview "Mehr" angeklickt, um zu den Bildinformationen zu gelangen: Unter "Allgemein" 15:... Uhr, unter "EXIF": 15:... Uhr.

1 SD-Karte mit exfat (64 GB): Die Kamera zeigt 15:.. Uhr als Aufnahmezeit.
Dann die SD-Karte in den Rechner. Dolphin zeigt unter "Geändert" 17:... Uhr an.
Bild mit Gwenview geöffnet. Uhrzeit bei "Geändert" (wieso eigentlich immer "geändert"?) ebenfalls 17:... Uhr.
In Gwenview "Mehr" angeklickt, um zu den Bildinformationen zu gelangen: Unter "Allgemein" 15:... Uhr, unter "EXIF": 15:... Uhr.

Es ist eindeutig, dass bei den Uhrzeiten meine SD-Karten verschieden behandelt werden. Da wüsste ich gerne, woran das liegt.
Soweit ich das beurteilen kann, verhalten sich vfat und exfat bezüglich der Zeitstempel unterschiedlich (zumindest laut Spezifikation):


Viele Grüße

susejunky
 

josef-wien

Ultimate Guru
Christina schrieb:
Du kannst für die 64GB SD-Karte auch FAT32 statt exFAT verwenden ... Oder du verwendest für alle deine SD-Karten nur noch exFAT.
Die Spezifikation schreibt für SDXC-Karten explizit exFAT vor. Die (meisten) Kameras werden ein anderes Dateisystem nicht akzeptieren. Auf der anderen Seite werden sie bei SD- und SDHC-Karten exFAT wahrscheinlich nicht mögen.
_______


susejunky schrieb:
Als Ergänzung (aus der wiederum hervorgeht, daß FAT die Lokalzeit verwendet): https://docs.microsoft.com/en-us/windows/win32/sysinfo/file-times
 
OP
pp91

pp91

Hacker
Hallo,

zunächst Dank an alle, die geantwortet haben. Für mich ist die Situation jetzt so:

Es wird allgemein empfohlen, SD-Karten für Kameras mit der Kamera selbst zu formatieren. In den letzten Tagen habe ich mit meiner Kamera 2 SD-Karten formatiert, dabei konnte ich das Filesystem nicht wählen. Die 8 GB-Karte wurde mit vfat, die 64 GB-Karte mit exfat formatiert.

Wie ich schon mitteilte, bleibt bei vfat die Aufnahmezeit überall gleich, während bei exfat die Umrechnung des angeblichen UTC in CEST erfolgt (ausgenommen die Zeiten, die in exif stehen). Ich fotografiere sehr viel, so dass die Karten immer wieder voll werden, benutze aber zu einer Zeit immer nur eine. Mit den Aufnahmen auf der SD-Karte werde ich nicht weiter arbeiten (außer den Schrott zeitnah zu löschen). Die Bilder werden (vorzugsweise pro Tag) auf die Festplatte kopiert. Kommen sie von einer vfat-Karte, ist alles in Ordnung, kommen sie von einer exfat-Karte, werden sie mit exiftool korrigiert.

Liebe Grüße
Peter
 

Christina

Moderator
Teammitglied
pp91 schrieb:
Es wird allgemein empfohlen, SD-Karten für Kameras mit der Kamera selbst zu formatieren.
Darf ich noch erfahren, was die Kamera für genaue Einstellungen bei FAT32 mit der 32GB SD-Karte macht?
Code:
sudo /sbin/sfdisk -l /dev/sdX
Code:
sudo file -s /dev/sdX1 | tr , '\n'
Code:
sudo /sbin/fsck.fat -vn /dev/sdX1
Bitte posten. Vielen Dank!

X esetzt du durch den entsprechenden Buchstaben den die SD-Karte erhalten hat:
Code:
lsblk -S
 
OP
pp91

pp91

Hacker
Hallo Christina, hier die gewünschten Infos. Mit sdX war nix, das Ding heißt
Code:
mmcblk0p1
. Der Einfachheit halber bringe ich alles an einem Stück.


Code:
install:/dev # lsblk -S
NAME HCTL       TYPE VENDOR   MODEL                    REV TRAN
sda  0:0:0:0    disk ATA      TOSHIBA_MK5061GSY       2E   sata
sr0  1:0:0:0    rom  Optiarc  Optiarc_DVD_RW_AD-7710H 1.S0 sata
install:/dev # sudo /sbin/sfdisk -l /dev/mmcblk0p1
Disk /dev/mmcblk0p1: 29 GiB, 31163678720 bytes, 60866560 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
install:/dev # file -s /dev/mmcblk0p1 | tr , '\n'
/dev/mmcblk0p1: DOS/MBR boot sector
 code offset 0x0+2
 OEM-ID "        "
 sectors/cluster 64
 reserved sectors 1526
 Media descriptor 0xf8
 sectors/track 63
 heads 255
 hidden sectors 8192
 sectors 60866560 (volumes > 32 MB)
 FAT (32 bit)
 sectors/FAT 7429
 reserved 0x1
 serial number 0x97eee392
 label: "LUMIX      "
install:/dev # /sbin/fsck.fat -vn /dev/mmcblk0p1
fsck.fat 4.1 (2017-01-24)
Checking we can access the last sector of the filesystem
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
 Automatically removing dirty bit.
Boot sector contents:
System ID "        "
Media byte 0xf8 (hard disk)
       512 bytes per logical sector
     32768 bytes per cluster
      1526 reserved sectors
First FAT starts at byte 781312 (sector 1526)
         2 FATs, 32 bit entries
   3803648 bytes per FAT (= 7429 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 8388608 (sector 16384)
    950784 data clusters (31155290112 bytes)
63 sectors/track, 255 heads
      8192 hidden sectors
  60866560 sectors total
/DCIM/109_PANA/P1091276.JPG  and
/DCIM/109_PANA/P1091269.JPG
  share clusters.
  Truncating second to 4227072 bytes.
/DCIM/109_PANA/P1091269.JPG
  File size is 5270528 bytes, cluster chain length is 4227072 bytes.
  Truncating file to 4227072 bytes.
/DCIM/114_PANA/P1147208.JPG  and
/DCIM/114_PANA/P1147160.JPG
  share clusters.
  Truncating second to 1179648 bytes.
/DCIM/114_PANA/P1147160.JPG
  File size is 5383680 bytes, cluster chain length is 1179648 bytes.
  Truncating file to 1179648 bytes.
Checking for unused clusters.
Reclaimed 4206 unused clusters (137822208 bytes).
Checking free cluster summary.
Free cluster summary wrong (2193 vs. really 6399)
  Auto-correcting.
Leaving filesystem unchanged.
/dev/mmcblk0p1: 5693 files, 944385/950784 clusters
install:/dev #

Liebe Grüße
Peter
 
OP
pp91

pp91

Hacker
Noch eine abschließende Information.

Da ich große Probleme mit meinem Linuxsystem bekommen habe, bin ich reumütig wieder zu UTC als Systemzeit (statt lokaler Zeit) zurückgegangen, so dass ich jetzt bei allen meinen SD-Karten mittels exiftool die Zeitkorrektur durchführen muss. Wenigstens muss ich bei den einzelnen SD-Karten keine Unterschiede machen.
 

Christina

Moderator
Teammitglied
Hi Peter,
/dev/mmcblk0p1 – steckt die SD-Karte da in einem Notebook? Kein USB-Cardreader?
Einfach nur lsblk ohne Option müsste die Karte dann anzeigen.

Ich sehe keine Partitionstabelle.
Der Befehl für die Karte müsste wahrscheinlich lauten:
Code:
sudo sfdisk -l /dev/mmcblk0
Das Alignment an die 4 GiB-Grenzen für SD-Cards macht die Kamera richtig und nimmt FAT32 mit 32 KiB/Cluster.
(Mein Solid State Recorder stellt für 32 GB-Karten schon auf 64 KiB/Cluster, vermutlich damit die FAT nicht zu groß wird.)
Falls dir bei der 64 GB SD-Karte FAT32 wegen Aufnahmezeitstempel weiterhilft, können wir das gerne ausprobieren.

Das FAT-Dateisystem ist beschädigt. Da hast du die SD-Karte mal zu früh herausgezogen.
Zum Reparieren müsstest du dann -n weglassen; -V macht einen 2. Durchlauf.
Code:
sudo fsck.fat -vV /dev/...
 

josef-wien

Ultimate Guru
Christina schrieb:
Da hast du die SD-Karte mal zu früh herausgezogen.
Das ist die eine Möglichkeit. Die andere ist, daß die Dateisystemprüfung bei eingehängter Partition vorgenommen wurde.

P. S. sudo ist eine *buntu-Unsitte. Mangels vorhandener Umgebung für den Benutzer root kommt es irgendwann zu Problemen. Es ist ratsam, sich zuerst mit
Code:
su -
als root anzumelden.
 
OP
pp91

pp91

Hacker
Ja, der Rechner ist ein ThinkPad Laptop, zwar nicht von IBM, sondern schon von Lenovo, aber immer noch mit vielen Anschlussmöglichkeiten, also auch einem Schlitz für SD-Karten.

Meine 32GB-SD-Karte ist voll mit fast 6000 Naturbildern von Mai 2020 bis Juni 2021, an der ändere ich nichts mehr, da sie mir als Backup für die inzwischen auf der Festplatte befindlichen Aufnahmen dient, die zum Teil noch auf die Bearbeitung warten. Letztere sind zwar auch auf unserem NAS, aber das ist normalerweise ausgeschaltet.

Das Problem mit dem Aufnahmezeitstempel ist für mich gelöst, da ich den Unfug (bitte entschuldigen, wenn das jemand anders sieht, ist nicht bös gemeint) akzeptiert habe und das Programm exiftool einfach anzuwenden ist.

sudo oder su -: Es war mir bisher nicht klar, dass es da wesentliche Unterschiede gibt, aber ich werde mir den Hinweis merken.
 
Oben