Чи є програмне забезпечення, яке встановить дати EXIF ​​на основі дати модифікації файлу?


20

Я вже багато років використовую Exifer для повторного побачення та перейменування своїх фотографій на основі дат EXIF ​​з камер.

Зараз я почав використовувати деякі альтернативні програми для камер, доступні на iPhone (зокрема, Plastiq Camera та Hipstamatic ), але вони не зберігають інформацію EXIF ​​на зображеннях.

Те , що я хотів би зробити, це , щоб вставити Date Digitised, Date Takenі Date ModifiedEXIF значення на основі файлу JPG - х Modified Date(що є правильним в момент прийняття на фото) і також встановити Makeв Appleі Modelдо iPhone 3GS(хоча цей процес буде застосовуватися до будь-якого JPG зображення який не має EXIF ​​даних, незалежно від джерела)

Я переглянув Exifer , IrfanView , ExifTool , Picasa та інші, і вони або взагалі не можуть встановити дати, або можуть встановити їх лише на певну дату / час.

Отже, чи є програмне забезпечення, яке автоматично встановлює дати EXIF ​​на основі властивості модифікованої дати файлу?

Або є якийсь перемикач в ExifTool, який я, можливо, пропустив?

Мені б хотілося це зробити як пакет на папці зображень.


FWIW, Hipstamatic тепер включає EXIF ​​дані. Зробіть запит на функцію Camera Plastiq, щоб зробити те саме.
mattdm

@mattdm - Так, вони вже зробили кілька версій. Значно полегшує справи!
Шевек

Відповіді:


26

Я думаю, ви можете це зробити за допомогою ExifTool:

exiftool -v "-FileModifyDate>DateTimeOriginal" *

Пробував на деяких копіях jpegs і, здається, спрацював.


4
Насправді exiftool -v "-FileModifyDate>AllDates" *всі 3 дати
Шевек

@Shevek - Вас дуже вітають!
Джон Каван

Чудово, велике спасибі! Мені це було потрібно для того, щоб ImageMagicks змогував інструмент для зміни зображення відбиток часової позначки на фотографіях, коли там немає дати EXIF.
leberwurstsaft

3

Окрім набагато потужнішого exiftool, можна також використовувати jhead для таких простих речей.

jhead -dsft *.jpg

Він також буде обробляти час, що базується на перейменуванні, так що ви можете повністю пропустити exifer.

У випадку, коли у ваших файлах немає існуючого EXIF, вам потрібно буде створити його, що також може зробити jhead, в тому ж проході з додаванням -mkexifпрапора:

jhead -mkexif -dsft *.jpg

Звичайно, якщо у вашого файлу вже є заголовки EXIF, не використовуйте -mkexif. Ця частина команди виконує те, що вона каже, і створює абсолютно новий пустий EXIF ​​з нуля, як це потрібно для файлів, створених додатками, які не є самими, як це запитує. Якщо ви просто хочете змінити час, не створюючи EXIF, залиште цей прапор.



2

Це можна зробити за допомогою сценарію Python, відповідно до:

import sys, os, datetime
filename = sys.argv[1]
ts = datetime.datetime.fromtimestamp(os.stat(filename).st_mtime)
ts_string = ts.strftime('%Y-%m-%d %H:%M:%S')
os.system('some_exif_tool -ts "%s" "%s"' % (ts_string, filename))

(Я знаю, що це насправді не є зручною для фотографів відповіді. Сподіваємось, це може бути корисним для когось.)


1

Ви також можете використовувати ACDSee 14 для редагування файлів багатьма, різними способами, в одиночному або в пакетному режимі. Відмінна програма, але, можливо, надмірна для проблеми оригінального плаката. Значно покращився від ACDSee 7 з років тому!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.