Есть ли какое-либо программное обеспечение, которое будет устанавливать даты EXIF ​​​​на основе даты изменения файла?

Я использую 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. Сделайте запрос функции в Plastiq Camera, чтобы сделать то же самое.
@mattdm - Да, они уже сделали несколько версий. Делает вещи намного проще!

Ответы (5)

Я думаю, вы можете сделать это с помощью ExifTool:

exiftool -v "-FileModifyDate>DateTimeOriginal" *

Пробовал на некоторых копиях jpeg и вроде сработало.

На самом деле exiftool -v "-FileModifyDate>AllDates" *сделал все 3 свидания
@Шевек - Пожалуйста!
Отлично, большое спасибо! Мне нужно было это, чтобы заставить инструмент ImageMagicks mogrify печатать метку времени на фотографиях, когда внутри нет дат EXIF.

Это можно сделать с помощью скрипта 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))

(Я знаю, что это не очень удобный ответ для фотографа, есть надежда, что он может быть кому-то полезен.)

В дополнение к гораздо более мощному exiftool, можно также использовать jhead для таких простых вещей.

jhead -dsft *.jpg

Он также будет обрабатывать переименование на основе времени, поэтому вы можете полностью пропустить exifer.

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

jhead -mkexif -dsft *.jpg

Конечно, если в вашем файле уже есть заголовки EXIF, не используйте -mkexif. Эта часть команды делает то, что говорит, и создает с нуля совершенно новый пустой EXIF, необходимый для файлов, созданных приложениями, которые сами по себе не работают, как задает этот вопрос. Если вы просто хотите изменить время без создания EXIF, снимите этот флажок.

Наконец-то я нашел инструмент, который легко работает без необходимости написания скрипта.

Вот: http://www.relliksoftware.com/exifdatechanger/

Это не бесплатно для файлов RAW
Это выглядит идеально для установки EXIF ​​из дат, хранящихся в именах файлов!

Вы также можете использовать ACDSee 14 для редактирования файлов множеством разных способов, в одиночном или пакетном режиме. Отличная программа, но, возможно, избыточная для проблемы оригинального плаката. Много улучшений по сравнению с ACDSee 7 многолетней давности!