Dienstag, 24. August 2010

EXIF Zeitstempel nach hinten verschieben

Im vorhergehenden Post habe ich mich dem Umbenennen nach Zeitstempeln gewidmet, mit welchem man Bilder von mehreren Kameras in eine einzige chronologische Reihenfolge bringen kann.

Was kann man aber tun, sofern diese EXIF-Daten falsch sind? Bestes Beispiel dafür wäre, dass vergessen wurde, nach einem Batteriewechsel Datum und Uhrzeit der Cam korrekt einzustellen.

Die Lösung hierfür bietet ein kleines Programm namens "ExifTool" und kann hier geladen werden.
Nach dem Download der Windowsversion erhält man eine gezippte Datei. Sobald diese entpackt ist, muss man, um die Funktionalität der .exe zu vervollständigen (bzw. um den Editiermodus zu aktivieren) die exiftool(-k).exe umbenennen in exiftool.exe

Der gewünschte Schalter wird hier erklärt. Es ist also so, dass wir die Differenz der Quell und Zieldaten wissen müssen.
Beispiel: eine Kamera wird nach dem Batteriewechsel eingeschaltet am 03.11.2005 um 10:48:00 Uhr. Der Zeitstempel der Kamera ist aber 01.01.2000 00:00:00 Uhr, sobald die Batterien eingelegt werden. Die Differenz ist also 5 Jahre, 10 Monate, 2 Tage, 10 Stunden, 48 Minuten und 0 Sekunden.

Um diese Kalkulation zu vereinfachen, habe ich einmal ein Excelfile erstellt, in welchem diese Differenz sehr einfach berechnet werden kann (Download als Zip weiter unten).
Desweiteren habe ich eine Batch erstellt, welche kommandozeilenunerfahrenen Menschen als eine kleine Ersatzgui dienen soll. Heruntergeladen werden kann dies nun hier.
Den Inhalt in einen beliebigen Ordner entpacken und anschließend (WICHTIG!) die exiftool.exe in diesen Ordner kopieren.

Handhabung:
Mit dem Excelsheet kann nun die Differenz berechnet werden. Wenn man die Batchdatei (change_exifdate.bat) nun öffnet, kann man die errechneten Daten eingeben. Anschließend wird man gefragt, ob man den im Verzeichnis enthaltenen Ordner "temp" als Ordner für seine Bilder angeben möchte, oder ob man den Pfad zu den Bilder selber definieren möchte (rechte Maustaste in die Kommandozeile um einzufügen!). Anschließend werden Exif-Informationen wie gewünscht geändert.

Sofern Fehler in der Batch auffallen, bitte melden! Habe auch versucht, die Errorlevel so gut als möglich abzuhandeln, aber eigentlich sollte der Vorgang nicht unterbrochen werden.

Der Inhalt der Batch sieht wie folgt aus:


@echo off

echo ####################################
echo ####### Copyright by  Snaker #######
echo ######## created 2010-08-19 ########
echo ###### last modify 2010-08-25 ######
echo ## Exif-Tool by  Phil Harvey from ##
echo ###### www.sno.phy.queensu.ca ######
echo ####################################
echo.
echo.
cd.

set /p JAHRE=Bitte geben sie die Differenz der Jahre an:
echo.
if not defined JAHRE goto ERROR

set /p MONATE=Bitte geben sie die Differenz der Monate an:
echo.
if not defined MONATE goto ERROR

set /p TAGE=Bitte geben sie die Differenz der Tage an:
echo.
if not defined TAGE goto ERROR

set /p STUNDEN=Bitte geben sie die Differenz der Stunden an:
echo.
if not defined STUNDEN goto ERROR

set /p MINUTEN=Bitte geben sie die Differenz der Minuten an:
echo.
if not defined MINUTEN goto ERROR

set /p SEKUNDEN=Bitte geben sie die Differenz der Sekunden an:
echo.
if not defined SEKUNDEN goto ERROR

:ASK
echo.
echo.
echo Was wollen Sie tun?
echo (a) Ich moechte den Pfad zu den Bildern selber angeben
echo (b) Ich moechte den Ordner "temp" als Zielordner fuer die Bilder verwenden
choice /C ab /N /M "Druecken Sie a fuer Option a oder b fuer Option b: "

if errorlevel 255 goto ERROR
if errorlevel 2 goto OPTION_B
if errorlevel 1 goto OPTION_A
if errorlevel 0 goto REASK

:OPTION_A
echo.
echo Sie haben Option "A" gewaehlt
goto PFAD1

:OPTION_B
echo.
echo Sie haben Option "B" gewaehlt
goto PFAD2

:REASK
echo.
echo Sie haben keine korrekte Antwort eingetippt
echo.
goto ASK

:PFAD1
echo.
set /p PFAD=Bitte geben sie den Pfad zum Ordner mit den Bildern an (ohne Hochkomma)!
if not defined PFAD goto ERROR

echo.
echo Es wird nun mit der Aenderung der Exifinhalte begonnen
echo.

exiftool.exe "-DateTimeOriginal+=%JAHRE%:%MONATE%:%TAGE% %STUNDEN%:%MINUTEN%:%SEKUNDEN%" "%PFAD%"
goto ERFOLG

:PFAD2
echo.
echo Die Exif-Daten der Bilder im Ordner "temp" werden nun abgeändert
echo.

exiftool.exe "-DateTimeOriginal+=%JAHRE%:%MONATE%:%TAGE% %STUNDEN%:%MINUTEN%:%SEKUNDEN%" "temp"
goto ERFOLG

:ERROR
echo.
echo Es ist ein Fehler aufgetreten, das Programm wird abgebrochen
Goto ENDE

:ERFOLG
echo.
echo Erfolgreich abgeschlossen

:ENDE
echo Programm wird nun beendet
pause



So far

Snaker

Keine Kommentare:

Kommentar veröffentlichen