Чи є програмне забезпечення, яке встановить дати 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.