staging.inyokaproject.org

Datum bei kopierten Dateien

Status: Ungelöst | Ubuntu-Version: Kubuntu 23.10 (Mantic Minotaur)
Antworten |

Baron1971

Anmeldungsdatum:
9. April 2016

Beiträge: 86

Hallo, ich habe ein vielleicht doofe Frage. Wenn ich Fotos von meinem Laptop auf mein Handy kopiere, wird immer das aktuelle Datum in die Datei geschrieben. Die ist bei Fotos schon etwas doof, weil man dann anhand des Datums nicht mehr sehen kann, von wann das Foto ist. Dies ist bei Windows nicht so. Gibt es eine Möglichkeit Kubuntu so einzustellen, dass bei kopieren der Datei das original Datum beibehalten wird?

Moderiert von Thomas_Do:

Thema in einen weniger unpassenden Forenbereich verschoben.

wired2051

Avatar von wired2051

Anmeldungsdatum:
28. Februar 2007

Beiträge: 2770

Die Frage kann ich Dir leider nicht beantworten aber vielleicht hilft Dir der Workaround:

Mit exiftool kann man Zeit und Datum einer Foto-Datei auf das Aufnahmedatums im EXIF-Tag ändern.

1
exiftool "-DateTimeOriginal>FileModifyDate" *.jpg

Programme wie gThumb können das auch.

Bei Dateien ohne EXIF-Metadaten kann man touch nutzen.

hth

wxpte

Anmeldungsdatum:
20. Januar 2007

Beiträge: 1388

wired2051 schrieb:

Mit exiftool kann man Zeit und Datum einer Foto-Datei auf das Aufnahmedatums im EXIF-Tag ändern.

Wenn man denn per Befehlszeile auf das Handy kommt. Wenn ich mir diesen Artikel durchlese, dann sieht es nicht danach aus, als ob das ginge.

wired2051 schrieb:

Programme wie gThumb können das auch.

Ja, an dieser Stelle wird das auch beschrieben, aber nur für die umgekehrte Richtung. Also: wenn die Dateien auf dem Notebook liegen, kann man diese Funktion benutzen. Ob das Datum auch direkt auf dem Handy manipuliert werden kann, müsste dann ausprobiert werden.

wired2051

Avatar von wired2051

Anmeldungsdatum:
28. Februar 2007

Beiträge: 2770

Entschuldigung, Wenn ich Fotos von meinem Laptop auf mein Handy kopiere habe ich überlesen. Damit kann ich Dir leider nicht helfen, ich kopiere immer nur Mobiltelefon > PC.

QuerlDox

Avatar von QuerlDox

Anmeldungsdatum:
7. Oktober 2008

Beiträge: 226

Hallo,

ich benutze unter Android die App "Image & Video Data Fixer" von JD Android Apps um Das Dateidatum dem EXIF-Datum anzupassen.

VG

Baron1971

(Themenstarter)

Anmeldungsdatum:
9. April 2016

Beiträge: 86

QuerlDox schrieb:

Hallo,

ich benutze unter Android die App "Image & Video Data Fixer" von JD Android Apps um Das Dateidatum dem EXIF-Datum anzupassen.

VG

Wenn es keine andere Variante gibt, werde ich da mal ausprobieren... Danke. Hintergrund ist, das ich gerne mal mein Handy mit verschiedenen Roms flashe, Da muss zuerst gesichert werden, und dann spiele ich alles wieder zurück.

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Wenn es keine andere Variante gibt, werde ich da mal ausprobieren... Danke. Hintergrund ist, das ich gerne mal mein Handy mit verschiedenen Roms flashe, Da muss zuerst gesichert werden, und dann spiele ich alles wieder zurück.

Wenn du dein Smartphone nicht gerootet hast, kannst du das Dateidatum von anderen Usern nicht ändern, die deines eigenen Users aber sehr wohl. Ein User ist bei Android eine Applikation.

Warum willst du das Dateidatum auf dem Android Gerät ändern? So dein Bild oder Video über EXIF Daten verfügt, werden diese doch sowieso bei der Anzeige (z.B. in der Galerie) verwendet. Wenn die EXIF Daten fehlen, wird das Dateidatum verwendet und bewirkt das bekannte Anzeigechaos. Die oben referenzierte App schließt in diesem Fall aus dem Dateinamen (z.B. 20231117_152339.jpg) auf das Aufnahmedatum (2023:11:17 15:23:39) und trägt diese als EXIF Information (z.B. ID 0x0132) ein. Dies kannst du auch bereits auf deinem PC machen bevor du sie auf das Smartphone lädst. Einige Werkzeuge hierzu (exiftool und gthumb) wurden ja bereits genannt. Bei der oben genannten Datei kannst du ja recht leicht per "sed" den Datum-String erstellen und ihn per "touch" setzen. Danach nutzt du ein "exif" Programm und trägst den Wert (z.B. per -c --set-value "2013:09:01 17:38:08" --tag 0x0132 --ifd 0) in die EXIF Daten des Bildes ein.

QuerlDox

Avatar von QuerlDox

Anmeldungsdatum:
7. Oktober 2008

Beiträge: 226

shiro schrieb:

Warum willst du das Dateidatum auf dem Android Gerät ändern? So dein Bild oder Video über EXIF Daten verfügt, werden diese doch sowieso bei der Anzeige (z.B. in der Galerie) verwendet. Wenn die EXIF Daten fehlen, wird das Dateidatum verwendet und bewirkt das bekannte Anzeigechaos. Die oben referenzierte App schließt in diesem Fall aus dem Dateinamen (z.B. 20231117_152339.jpg) auf das Aufnahmedatum (2023:11:17 15:23:39) und trägt diese als EXIF Information (z.B. ID 0x0132) ein.

Ich habe mehrere Apps zum Anzeigen von Bildern auf dem Smartphone. Die Anzeige nach Datum ist da nicht einheitlich. Mal werden zur Sortierung die EXIF-Daten genommen, mal das Dateidatum und auch mal das Datum der letzten Anzeige. Je nach Vorliege des Programmierers.

Die App "Image & Video Data Fixer" zieht sich nicht zwangsläufig das Datum aus dem Dateinamen. Das kann sie. Aber auch die Übernahme aus dem EXIF-Daten ist möglich.

Dazu gibt es die beiden Möglichkeiten "Datumsangaben anhand von Metadaten korrigieren" und "Datumsangaben anhand des Dateinamens korrigieren".

Zum Ändern der EXIF-Daten eignet sich die App nicht. Zumindest habe ich dazu noch nichts gefunden.

wired2051

Avatar von wired2051

Anmeldungsdatum:
28. Februar 2007

Beiträge: 2770

Baron1971 schrieb:

Hintergrund ist, das ich gerne mal mein Handy mit verschiedenen Roms flashe, Da muss zuerst gesichert werden, und dann spiele ich alles wieder zurück.

Dann der Hinweis, dass Du exiftool und touch mit Termux nutzen können müsstest.

hth

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Zum Ändern der EXIF-Daten eignet sich die App nicht. Zumindest habe ich dazu noch nichts gefunden.

Ich habe auf dem Smartphone unter "termux" mir "exiv2" installiert (apt install exiv2) und folgende Tests durchgeführt:

$ exiv2 -pt o.jpg | grep Date
Exif.Image.DateTime                          Ascii      20  2023:11:17 15:23:32
Exif.Photo.DateTimeOriginal                  Ascii      20  2023:11:17 15:23:32
Exif.Photo.DateTimeDigitized                 Ascii      20  2023:11:17 15:23:32
$ cp o.jpg x.jpg
$ exiv2 -M"set Exif.Photo.DateTimeOriginal 2023:12:19 17:23:32" x.jpg
$ exiv2 -pt x.jpg | grep Date
Exif.Image.DateTime                          Ascii      20  2023:11:17 15:23:32
Exif.Photo.DateTimeOriginal                  Ascii      20  2023:12:19 17:23:32
Exif.Photo.DateTimeDigitized                 Ascii      20  2023:11:17 15:23:32
$ exiv2 -M"set Exif.Image.DateTime 2023:12:18 16:23:32" x.jpg
$ exiv2 -pt x.jpg | grep Date
Exif.Image.DateTime                          Ascii      20  2023:12:18 16:23:32
Exif.Photo.DateTimeOriginal                  Ascii      20  2023:12:19 17:23:32
Exif.Photo.DateTimeDigitized                 Ascii      20  2023:11:17 15:23:32
$ ls -logh *.jpg
-rwxrwxr-x 1 1,6M Apr 15 20:06 o.jpg
-rwxrwxr-x 1 1,6M Apr 15 21:20 x.jpg
$ # Nun wird aus Datei x.jpg den Datei mit dem EXIF Datum
$ exiv2 mv x.jpg
$ ls -logh *.jpg
-rwxrwxr-x 1 1,6M Apr 15 21:20 20231219_172332.jpg
-rwxrwxr-x 1 1,6M Apr 15 20:06 o.jpg
$ 

Die Datei "x.jpg" ist somit in "20231219_172332.jpg" umbenannt worden.

Bei einer Datei, die keine EXIF Informationen hat, sieht dies so aus:

$ exiv2 36.jpg 
File name       : 36.jpg
File size       : 29626 Bytes
MIME type       : image/jpeg
Image size      : 614 x 417
36.jpg: No Exif data found in the file
$ exiv2 -M"add Exif.Photo.DateTimeOriginal 2021:10:15 16:17:18" 36.jpg
$ exiv2 36.jpg | grep -v ": $"
File name       : 36.jpg
File size       : 29700 Bytes
MIME type       : image/jpeg
Image size      : 614 x 417
Thumbnail       : None
Image timestamp : 2021:10:15 16:17:18
$ exiv2 -pt 36.jpg 
Exif.Image.ExifTag                           Long        1  26
Exif.Photo.DateTimeOriginal                  Ascii      20  2021:10:15 16:17:18
$ exiv2 mv 36.jpg
$ ls -logh *.jpg
-rw-rw-r-- 1  30K Apr 15 21:32 20211015_161718.jpg
-rwxrwxr-x 1 1,6M Apr 15 21:20 20231219_172332.jpg
-rwxrwxr-x 1 1,6M Apr 15 20:06 o.jpg
$ 

Die Timestamps der Datei lassen sich natürlich mit "termux" im eigenen Verzeichnis ändern. Wenn diese Datei allerdings aus dem lokalen Bereich an einen andern Ort verschoben wird, ändert sich das Datum auf den aktuellen Timestamp und man erhält die Fehlermeldung:

$ touch -d "2021-10-15 16:17:18" 20211015_161718.jpg
$ ls -logh *18.jpg
-rw-rw-r-- 1  30K Oct 15 2021 20211015_161718.jpg
$ mv 20211015_161718.jpg /storage/9C33-6BBB/Android/data/com.termux/files/
mv: preserving times for '/storage/9C33-6BBB/Android/data/com.termux/files/20211015_161718.jpg': Operation not permitted
$ ls -logh /storage/9C33-6BBB/Android/data/com.termux/files/
-rwxr-x--- 1  30K Apr 15 22:00 20211015_161718.jpg
$ 

Das aus meiner Sicht gravierende Problem bleibt aber: Welchen Zeitstempel soll man bei einer Datei ohne EXIF Informationen und ohne einen Dateinamen mit Aufnahmezeitpunkt verwenden?

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Vielleicht geht das (noch).

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Vielleicht geht das (noch).

Ja, hierauf hatte ich auch bereits hingewiesen: https://forum.ubuntuusers.de/topic/datei-zeitstempel-nach-uebertragen-auf-android/#post-9422073

Allerdings ist die dort beschriebene Installation von "android-tools-adb" und "android-tools-fastboot" eher für Windows User, die WSL verwenden. Bei native Ubuntu reicht ein einfaches

$ sudo apt-get install adb

aus.

Und ja, ab Android 10 funktioniert das SDCardFS Filesystem auch auf nicht Pixel Geräten (wie z.B. Samsung).

$ adb push 2*.jpg /sdcard/Download
20231117_152331.jpg: 1 file pushed. 20.7 MB/s (1669915 bytes in 0.077s)
20231117_152409.jpg: 1 file pushed. 25.9 MB/s (2037760 bytes in 0.075s)
2 files pushed. 23.3 MB/s (3707675 bytes in 0.291s)
$ adb shell
j6lte:/ $ cd /sdcard/Download
j6lte:/sdcard/Download $ ls -l 
total 3621
-rw-rw---- 1 root sdcard_rw 1669915 2023-11-17 15:23 20231117_152331.jpg
-rw-rw---- 1 root sdcard_rw 2037760 2023-11-17 15:24 20231117_152409.jpg
j6lte:/sdcard/Download $ exit
$ 

Wer allerdings eine Version von Android nutzt, die kleiner 10 ist, hat mit Zitronen gehandelt.

Wenn allerdings die Datei-Timestamps unter Android nativ umgesetzt werden sollten, gelten die zuvor beschriebenen Einschränkungen.

Baron1971

(Themenstarter)

Anmeldungsdatum:
9. April 2016

Beiträge: 86

Hi, danke für die zahlreichen Antworten. Ich wollte aus der Angelegenheit keine Raketen Wissenschaft machen. Wenn es mit Ubuntu nicht einfach geht, ist das eine der seltenen Gelegenheiten wo ich dann mal mein Win11 booten werde. Das geht dann wesentlich flotter....

Antworten |