Jak można zbiorczo przesunąć datę utworzenia obrazów JPG? (OS X)

14

Mam niefortunną sytuację po wakacjach. Istota jest następująca: 2 kamery, z zegarem kamery nr 1 dwa dni przed kamerą nr 2. Dlatego w (Tutaj wstaw aplikację do zarządzania zdjęciami) zdjęcia są przeplatane i nie mają sensownej kolejności chronologicznej. Gdybym mógł po prostu przesunąć datę utworzenia tych zdjęć w aparacie nr 2 do przodu, to będę miał szansę na zorganizowanie wszystkich tych zdjęć.

Czy ktoś podziela to doświadczenie lub ma jakieś pomysły? Dzięki!

Justin Searls
źródło

Odpowiedzi:

23

Będzie wiele narzędzi, które działają na polach JPEG EXIF.
Zawsze uważałem, że narzędzie EXIFTool Phila Harveya jest fantastyczne.

Pakiet Mac OS X: ExifTool-7.98.dmg (1,4 MB) .
Pakiet OS X instaluje aplikację wiersza polecenia i biblioteki ExifTool w / usr / bin.
Po zainstalowaniu wpisz „exiftool” w oknie terminala, aby uruchomić exiftool i przeczytać dokumentację aplikacji.

To czego teraz szukasz

Funkcja zmiany daty / godziny
Czy kiedykolwiek zapomniałeś ustawić datę / godzinę w aparacie cyfrowym przed zrobieniem kilku zdjęć? ExifTool ma funkcję przesunięcia czasowego, która ułatwia zastosowanie poprawki wsadowej do znaczników czasu obrazów (tj. Zmiana „Data zrobienia zdjęcia” zgłoszonej przez Eksploratora Windows).

Powiedz na przykład, że zegar aparatu został zresetowany do 2000: 01: 01 00:00:00
po włożeniu nowej baterii o godzinie 2005: 11: 03 10:48:00
.
Następnie wszystkie wykonane zdjęcia mają znaczniki czasu, które są nieprawidłowe o
5 lat, 10 miesięcy, 2 dni, 10 godzin i 48 minut.

Aby to naprawić, umieść wszystkie obrazy w tym samym katalogu („DIR”) i uruchom exiftool,

exiftool "-DateTimeOriginal + = 5: 10: 2 10: 48: 0" DIR
          ================= ^^^^^^^^^^^^^^^^

Musisz ustawić nieprawidłowo ostemplowaną partię na zaledwie dwa dni do przodu.


Aktualizacja: W kierunku pracy z godzinami tworzenia i modyfikowania iPhoto
notatki EXIFTool są kontynuowane w sekcji Funkcja zmiany daty / godziny ,

Powyższy przykład zmienia tylko znacznik DateTimeOriginal ,
ale każdy zapisywalny znacznik daty lub godziny można przesunąć,
a wiele znaczników można zapisać za pomocą jednego wiersza polecenia.

Zwykle w obrazach JPEG wartości DateTimeOriginal , CreateDate i ModifyDate muszą zostać zmienione.

Dla wygody zdefiniowano znacznik skrótu o nazwie AllDates, który reprezentuje te trzy znaczniki.
Na przykład, jeśli zapomniałeś ustawić zegar aparatu wstecz o 1 godzinę po zakończeniu czasu letniego na jesień , możesz naprawić obrazy za pomocą:

exiftool „-AllDates- = 1” DIR
          ========= ^^^

Spowoduje to cofnięcie wszystkich znaczników czasu o 1 godzinę.
Mamy nadzieję, że twoje oryginalne pliki są dostępne do zrobienia tego ...

Wreszcie, jeśli poprawiono oryginalne metadane,
ale z nieprawidłowym czasem pliku
.
Możesz wykonać następujące czynności,

exiftool „-DateTimeOriginal> FileModifyDate” DIR
                           ^

Spowoduje to przesunięcie poprawionego znacznika czasu EXIF ​​do czasu modyfikacji pliku.

nik
źródło
Pan jest dżentelmenem i uczonym. Jedna z najlepszych odpowiedzi, jakie kiedykolwiek uzyskałem w sieci SO.
Justin Searls
Wow, niezła odpowiedź. Jest nawet dostępny dla systemu Windows!
NickAldwin
@Nick, jest też GUI, choć nie jestem pewien, czy jest tak elastyczny. Moduł Perla działa dobrze.
nik
Mam bardzo podobny problem, tylko pliki są filmami GoPro i to data utworzenia plików jednej kamery, którą muszę przesunąć. Czy ktoś ma do tego skrypt lub narzędzie?
bernk
Ostatnia linia twojej odpowiedzi mnie uratowała. Uruchomiłem AllDateskilka razy, nigdy nie ustawiłem czasu modyfikacji pliku. Ta ostatnia linia działała uroczo. Wielkie dzięki.
chmac
1

Odpowiedź Nikla zdecydowanie zadziałała dla danych EXIF ​​w plikach (dla informacji tych, którzy szukają odpowiedzi w tym wątku, poniżej znajduje się polecenie, którego użyłem do aktualizacji danych EXIF ​​obrażających zdjęć):

~/Pictures/iPhoto Library/Originals/2009$ exiftool -P -AllDates+='0:0:1 2:00:00' - overwrite_original_in_place -if '$make eq "Canon"' "My Import Name Here"

Oczywiście to nie rozwiązało problemu, ponieważ iPhoto ignoruje datę EXIF ​​i organizuje się za pomocą daty utworzenia lub czegokolwiek w bazie danych.

Nowe rozwiązanie: Jestem idiotą, a iPhoto '08 i więcej dodali do niego funkcję dostosowania czasu: Element menu Photo -> Adjust Date and Time. W rzeczywistości tworzy nowy plik i psuje prawie wszystkie oryginalne dane EXIF, ale przynajmniej zdjęcia ostatecznie uporządkowane w iPhoto.

Justin Searls
źródło
1

Jeśli iPhoto używa daty / godziny systemu plików, po prostu zrób to, aby ustawić go z informacji EXIF:

exiftool "-filemodifydate<datetimeoriginal" DIR

przed importowaniem do iPhoto

Nie musisz niszczyć swoich metadanych

Phil Harvey
źródło
Ach, ale to były pliki, które były w iPhoto przez sześć miesięcy, już w albumach / książkach itp. Więc musiałem w tym pracować. W rzeczywistości była to baza danych iPhoto, która buforuje to wszystko, i nie można już nawet przeprowadzić czystej przebudowy. Musiałem zadowolić się wbudowaną funkcją „dostosowywania czasu”, która nękała metadane.
Justin Searls
1

To działało, aby zmienić wszystkie daty EXIF ​​(+ = 24 godziny) zrobione kamerą Sony:

exiftool "-AllDates+=24 -SonyDateTime+=24" DIR

W drugim kroku zmieniłem datę modyfikacji pliku, aby pasowała do dat exif:

exiftool "-DateTimeOriginal>FileModifyDate" DIR

Wydaje się, że DateTimeOriginal bierze swoje wartości z SonyDateTime.

użytkownik44826
źródło
0

Graphic Converter to także świetne narzędzie do zarządzania mnóstwem zdjęć. Posiada wszelkiego rodzaju funkcje zmiany nazwy. Konwersja na liczbę pikseli, dokładny rozmiar, rozmiar pliku itp. Osadzanie podglądów (elastyczny rozmiar / styl ikon) zamiast pozostawionego pliku thumb.db. Jest to także lepszy program Finder niż Finder. Bardziej jak Explorer w systemie Windows z opcją odwrotnego wyglądu lightroom. Przeglądam o wiele więcej niż tylko zdjęcia!

bert
źródło