Wie ändere ich die Datumsangaben in EXIF-Daten stapelweise?


30

Ich verwalte meine Bilder mit F-Spot. Bei einem Satz von Bildern sind die Daten irgendwie durcheinander geraten, und alle sind als 1. September 2007 gekennzeichnet. Ich möchte die Informationen zum Aufnahmedatum auf ein anderes Datum ändern. Wie kann ich das machen?

Antworten:


25

Jhead ist dazu in der Lage.

Angenommen, Sie wissen, dass ein bestimmtes Bild aufgenommen wurde 2017-04-19 16:20, das aktuelle Datum jedoch wie folgt angezeigt 2007-09-01 00:15wird: Sie können alle jpgBilder in einem Ordner auf die richtige Zeit einstellen , indem Sie Folgendes ausführen:

jhead -da2017:04:19/16:20-2007:09:01/00:15 *.jpg

Hier ist ein Auszug aus dem Handbuch:

DATE / TIME MANIPULATION:
   -ft        Set file modification time to Exif time
   -dsft      Set Exif time to file modification time
   -n[format-string]
             Rename files according to date.  Uses exif date if present, file
             date otherwise.  If the optional format-string is not supplied,
             the format is mmdd-hhmmss.  If a format-string is given, it is
             is passed to the 'strftime' function for formatting
             In addition to strftime format codes:
             '%f' as part of the string will include the original file name
             '%i' will include a sequence number, starting from 1. You can
             You can specify '%03i' for example to get leading zeros.
             This feature is useful for ordering files from multiple digicams to
             sequence of taking.  Only renames files whose names are mostly
             numerical (as assigned by digicam)
             The '.jpg' is automatically added to the end of the name.  If the
             destination name already exists, a letter or digit is added to
             the end of the name to make it unique.
  -nf[format-string]
             Same as -n, but rename regardless of original name
  -a         (Windows only) Rename files with same name but different extension
             Use together with -n to rename .AVI files from exif in .THM files
             for example
  -ta<+|->h[:mm[:ss]]
             Adjust time by h:mm backwards or forwards.  Useful when having
             taken pictures with the wrong time set on the camera, such as when
             traveling across time zones or DST changes. Dates can be adjusted
             by offsetting by 24 hours or more.  For large date adjustments,
             use the -da option
  -da<date>-<date>
             Adjust date by large amounts.  This is used to fix photos from
             cameras where the date got set back to the default camera date
             by accident or battery removal.
             To deal with different months and years having different numbers of
             days, a simple date-month-year offset would result in unexpected
             results.  Instead, the difference is specified as desired date
             minus original date.  Date is specified as yyyy:mm:dd or as date
             and time in the format yyyy:mm:dd/hh:mm:ss
  -ts<time>  Set the Exif internal time to <time>.  <time> is in the format
             yyyy:mm:dd-hh:mm:ss
  -ds<date>  Set the Exif internal date.  <date> is in the format YYYY:MM:DD
             or YYYY:MM or YYYY

Eine noch leistungsstärkere Option ist ExifTool .


Kürzlich wurde jhead verwendet, um die Datums- / Zeitstempel von Hunderten von Bildern aus einem Familienurlaub zu korrigieren und zu synchronisieren, bei denen bei drei Kameras die Daten und die Uhrzeit falsch eingestellt waren. Einfach zu bedienen und sehr nützlich.
Wird M

Jhead scheint RAW-Dateitypen nicht zu unterstützen, ExifTool jedoch (z. B. Canon CR2, Nikon NEF, Sony ARW). Dies ist gut zu wissen, für diejenigen von uns, die entweder nur RAW oder sowohl RAW als auch JPEG aufnehmen.
Samir

Ist es mit Windows 10 kompatibel?
XPMai

@XPMai Funktioniert immer noch mit Windows 10 - Ich habe -ds für meine Zwecke verwendet.
Alexander7567


3

exiv2 ist ein Befehlszeilenprogramm zum Bearbeiten von exif-Daten. Unterstützte Bildformate sind JPEG, Canon CRW und Canon THM. PNG ist schreibgeschützt.

Wenn Sie das Dateidatum auf das Exif-Datum setzen möchten, können Sie exiv2 mit der folgenden Option verwenden.

-t Setzt den Datei-Zeitstempel zusätzlich zum Umbenennen der Datei gemäß dem Exif-Erstellungszeitstempel (überschreibt -k). Diese Option wird nur bei der Aktion "Umbenennen" verwendet.


Vielen Dank! exiv2 ist einfach zu bedienen und schnell. -Termöglicht das Setzen des Datei-Zeitstempels ohne Umbenennen :)
orzechow


2

Hier ist was ich brauchte

Zum Hinzufügen eines konstanten Versatzes zum alten Datum

exiv2 ad -a -3:17 *.JPG

Umbenennen in %Y%m%d_%H%M%S

exiv2 mv *.JPG

Andere Formate und Optionen sind in den Manpages angegeben .


1

Sie können dieses kostenlose Tool ausprobieren : Exifer .


1
@RandolphWest Bitte hinterlasse Kommentare nur dann einen Link, wenn sie tatsächlich Sinn ergeben. Diese Antwort ist zwar nicht perfekt , aber alles andere kann einfach durch Klicken auf den Link ermittelt werden. Alles andere, was hier enthalten sein könnte , hilft nicht, wenn sich die verlinkte Seite in irgendeiner Weise ändert , da die Software dann nicht mehr zum Herunterladen verfügbar ist. Zu viele Details (wie eine vollständige Funktionsliste) bedeuten, dass die Antwort schnell veraltet ist, wenn sich die verknüpfte Software ändert.
Daniel Beck

@DanielBeck Die Tatsache, dass der Link in der Antwort nicht mehr dahin führt, wo er sein sollte, ist das perfekte Beispiel dafür, warum Antworten, die nur Links enthalten, Mist sind.
Raphael

@Raphael Bitte lies meinen Kommentar ab dem dritten Satz noch einmal durch. Nichts, was hier angegeben werden könnte, könnte diese Antwort korrigieren.
Daniel Beck

1

Ich benutze ein folgendes Skript, um Bildern einige aufeinanderfolgende Daten zu geben. Ich hoffe es hilft. Es wird erwartet, dass ein Verzeichnis mit den Bildern als Argument neu formatiert wird, d. Hscript directory_with_images

#!/bin/bash
HOUR=12
MINUTE=0
DATE=2004:06:20
for file in "$1"/*;
do 
    exiv2 -v -M"set  Exif.Image.DateTime $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
    exiv2 -v -M"set  Exif.Photo.DateTimeDigitized $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
    exiv2 -v -M"set  Exif.Photo.DateTimeOriginal $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
    #sets file timestamp (i.e. filesystem metadata, not image metadata) as well
    exiv2 -v -T "$file"
    if [ $MINUTE = 59 ]; then
        HOUR=$((HOUR + 1))
        MINUTE=0
    else
        MINUTE=$((MINUTE + 1))
    fi
    # this would rename the file as well
    #new_path=`pwd`/new_filename$(printf %02d $HOUR)$(printf %02d $MINUTE).jpg
    #cp "$file" "$new_path"
done

0

iPhoto und Aperture verfügen beide über eine Zeitversetzungsoption, wenn Sie sich normalerweise in einer neuen Zeitzone befinden oder die Uhrzeit falsch eingestellt ist. Es kann entweder die Dateien unbearbeitet lassen (nur die Datenbank der App aktualisieren) oder die Dateien bearbeiten. Natürlich muss F-Spot dies ausleihen.


0

Exiftool: Langsam in der Befehlszeile. (Es ist in Perl geschrieben, also ziehen Sie Ihre eigenen Schlussfolgerungen.)

Exifer erstellt ein oder zwei leere Tags in Dateien und nicht nur im EXIF-Block. Es werden auch einige Tags entfernt, die von anderen Tools geschrieben wurden. Da ich es seit über einem Jahr nicht mehr benutzt habe, kann ich nicht genau sagen, welche.

Das Zeug von FastStone, imx, ist zu langsam, um es länger als ein oder zwei Tage zu installieren.

Meine Stimme ist für Hr. Weinzerls Vorschlag: Exiv2.

BZT


0

Picasa 3 , ein kostenloses Tool für die Fotoverwaltung von Google, erledigt dies und es ist schön und schnell.

Wählen Sie in Picasa "Ansicht"> "Eigenschaften", um den Bereich "Eigenschaften" anzuzeigen.

Wählen Sie den Ordner mit den Fotos aus, und sie werden als Sammlung von Miniaturansichten angezeigt.

Wählen Sie die Miniaturbilder aus, die Sie aktualisieren möchten. Um zu entscheiden, welche Aktualisierung als Batch durchgeführt werden soll, können Sie entweder alle auf dieselbe neue Datums- und Uhrzeiteinstellung setzen oder die erste ändern, und alle anderen werden zeitlich um denselben Betrag verschoben.

Klicken Sie im Eigenschaftenfenster mit der rechten Maustaste auf das Feld Kameradatum und wählen Sie dann im Kontextmenü die Option Datum und Uhrzeit anpassen. Das Dialogfeld "Fotodatum anpassen" wird geöffnet und zeigt das aktuelle Kameradatum für das erste Foto an.

Bearbeiten Sie das Datum und die Uhrzeit der Kamera nach Bedarf. Wenn Sie nur zwischen vormittags und nachmittags wechseln möchten oder umgekehrt, wählen Sie einfach den Teil der Zeit "am" aus und geben Sie "a" oder "p" ein. Es ist nicht erforderlich, die gesamte "am" - oder "pm" -Sache einzugeben.

Es gibt zwei Optionen, wenn Sie mehr als eine Miniaturansicht zum Aktualisieren ausgewählt haben: "Alle Fotodaten um den gleichen Betrag anpassen" oder "Alle Fotos auf das gleiche Datum und die gleiche Uhrzeit einstellen". Wählen Sie, was angemessen ist. Klicken Sie dann auf OK.

Die EXIF-Daten aller ausgewählten Fotos werden aktualisiert.


Siehe die frühere Antwort von @ user28515, die ebenfalls Picasa vorschlägt. Leider ist es nicht mehr verfügbar.
JohnC

Obwohl Picasa nicht mehr von Google entwickelt wird und das Installationsprogramm von der Website entfernt wurde, kann die letzte Version, Version 3.9, trotzdem heruntergeladen werden. Googeln "download picasa 3.9" wird viele Treffer bringen. Wenn Sie nicht von einer zufälligen Website herunterladen möchten, können Sie den offiziellen Google-Download weiterhin über das Internet Archive Wayback Machine herunterladen. Weitere Informationen finden Sie hier: sites.google.com/site/picasaresources/Home/Picasa-FAQ/picasa/…
SimonTewsi

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.