Как мне пакетно изменить дату получения информации в данных EXIF?


30

Я использую F-Spot для управления своими изображениями. Для одного набора изображений даты каким-то образом перепутались, и все они помечены как 1 сентября 2007 года. Я хотел бы изменить дату получения информации на другую дату. Как я могу это сделать?

Ответы:


25

Jhead способен сделать это.

Допустим, вы знаете, что был сделан определенный снимок, 2017-04-19 16:20но текущая дата отображается как 2007-09-01 00:15, вы можете настроить все jpgснимки в папке на правильное время, выполнив:

jhead -da2017:04:19/16:20-2007:09:01/00:15 *.jpg

Вот выдержка из руководства:

DATE / TIME MANIPULATION:
   -ft        Set file modification time to Exif time
   -dsft      Set Exif time to file modification time
   -n[format-string]
             Rename files according to date.  Uses exif date if present, file
             date otherwise.  If the optional format-string is not supplied,
             the format is mmdd-hhmmss.  If a format-string is given, it is
             is passed to the 'strftime' function for formatting
             In addition to strftime format codes:
             '%f' as part of the string will include the original file name
             '%i' will include a sequence number, starting from 1. You can
             You can specify '%03i' for example to get leading zeros.
             This feature is useful for ordering files from multiple digicams to
             sequence of taking.  Only renames files whose names are mostly
             numerical (as assigned by digicam)
             The '.jpg' is automatically added to the end of the name.  If the
             destination name already exists, a letter or digit is added to
             the end of the name to make it unique.
  -nf[format-string]
             Same as -n, but rename regardless of original name
  -a         (Windows only) Rename files with same name but different extension
             Use together with -n to rename .AVI files from exif in .THM files
             for example
  -ta<+|->h[:mm[:ss]]
             Adjust time by h:mm backwards or forwards.  Useful when having
             taken pictures with the wrong time set on the camera, such as when
             traveling across time zones or DST changes. Dates can be adjusted
             by offsetting by 24 hours or more.  For large date adjustments,
             use the -da option
  -da<date>-<date>
             Adjust date by large amounts.  This is used to fix photos from
             cameras where the date got set back to the default camera date
             by accident or battery removal.
             To deal with different months and years having different numbers of
             days, a simple date-month-year offset would result in unexpected
             results.  Instead, the difference is specified as desired date
             minus original date.  Date is specified as yyyy:mm:dd or as date
             and time in the format yyyy:mm:dd/hh:mm:ss
  -ts<time>  Set the Exif internal time to <time>.  <time> is in the format
             yyyy:mm:dd-hh:mm:ss
  -ds<date>  Set the Exif internal date.  <date> is in the format YYYY:MM:DD
             or YYYY:MM or YYYY

Еще более мощный вариант - ExifTool .


Недавно использовала jhead для исправления и синхронизации меток даты / времени на сотнях фотографий из семейного отпуска, где на всех трех камерах были неправильно установлены данные и время. Прост в использовании и довольно полезен.
Будет М

Jhead, похоже, не поддерживает типы файлов RAW, но ExifTool поддерживает (например, Canon CR2, Nikon NEF, Sony ARW). Это полезно знать тем из нас, кто снимает только в формате RAW или в формате RAW и JPEG.
Самир

Совместимо ли это с Windows 10?
XPMai

@XPMai По-прежнему работает с Windows 10 - в итоге я использовал -ds для своих целей.
alexander7567

4

В Picasa это встроено. Инструменты => Настроить дату и время ....


К сожалению, это работает только для каждого файла.
user46193

@ user46193 обновление: теперь оно работает для любого количества выбранных изображений.
Urig

Google: «Picasa теперь удален ... Picasa больше не будет доступен для загрузки». Что происходит с Picasa, Веб-альбомами Picasa и API Веб-альбомов Picasa?
ДжонC

3

exiv2 - инструмент командной строки для манипулирования данными exif. Поддерживаемые форматы изображений: JPEG, Canon CRW и Canon THM. PNG только для чтения.

Если вы хотите установить дату файла в exif date, вы можете использовать exiv2 со следующей опцией.

-t Установить временную метку файла в соответствии с временной меткой создания Exif в дополнение к переименованию файла (переопределяет -k). Эта опция используется только с действием «переименовать».


Спасибо! exiv2 прост в использовании и быстр. -Tпозволяет установить
временную


2

Вот что мне нужно

Добавить постоянное смещение к старой дате

exiv2 ad -a -3:17 *.JPG

Переименовать в %Y%m%d_%H%M%S

exiv2 mv *.JPG

Другие форматы и опции указаны на страницах руководства .


1

Вы можете попробовать этот бесплатный инструмент: Exifer .


1
@RandolphWest Пожалуйста, оставляйте комментарии, только если они действительно имеют смысл. Хотя этот ответ не идеален , все остальное можно легко определить, нажав на ссылку. Все остальное, что может быть включено сюда, не поможет, если связанная страница изменится каким-либо существенным образом, потому что тогда программное обеспечение больше не будет доступно для загрузки. Фактически, включение слишком большого количества деталей (например, полного списка функций) просто означает, что ответ быстро устареет, если связанное программное обеспечение изменится.
Даниэль Бек

@DanielBeck Тот факт, что ссылка в ответе больше не ведет туда, куда она должна, является идеальным примером того, почему ответы, содержащие только ссылки, являются дерьмом.
Рафаэль

@ Рафаэль Пожалуйста, перечитайте мой комментарий, начиная с третьего предложения. Ничто из того, что можно здесь указать, не сможет исправить этот ответ.
Даниэль Бек

1

Я использую следующий скрипт, чтобы дать изображениям несколько последовательных дат. Надеюсь, поможет. Ожидается, что каталог с изображениями будет обработан как аргумент, т.е.script directory_with_images

#!/bin/bash
HOUR=12
MINUTE=0
DATE=2004:06:20
for file in "$1"/*;
do 
    exiv2 -v -M"set  Exif.Image.DateTime $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
    exiv2 -v -M"set  Exif.Photo.DateTimeDigitized $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
    exiv2 -v -M"set  Exif.Photo.DateTimeOriginal $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
    #sets file timestamp (i.e. filesystem metadata, not image metadata) as well
    exiv2 -v -T "$file"
    if [ $MINUTE = 59 ]; then
        HOUR=$((HOUR + 1))
        MINUTE=0
    else
        MINUTE=$((MINUTE + 1))
    fi
    # this would rename the file as well
    #new_path=`pwd`/new_filename$(printf %02d $HOUR)$(printf %02d $MINUTE).jpg
    #cp "$file" "$new_path"
done

0

iPhoto и Aperture имеют опцию сдвига во времени, например, когда вы находитесь в новом часовом поясе, или часы работают неправильно. Он может либо оставить файлы неотредактированными (только обновляя базу данных приложения), либо редактировать файлы. Очевидно, что F-Spot необходимо позаимствовать это.


0

Exiftool: медленно в командной строке. (Это написано на Perl, поэтому сделайте свои собственные выводы там.)

Exifer создает пустой тег или два в файлах, а не только в блоке EXIF. Это также удалит некоторые теги, написанные другими инструментами. Поскольку я не использовал его более года, я не могу точно сказать, какие именно.

Программа FastStone, imx, слишком медленная, чтобы ее можно было установить более одного или двух дней.

Мой голос за Hr. Предложение Вайнцерла: Exiv2.

BZT


0

Picasa 3 , бесплатный инструмент для управления фотографиями от Google, сделает это быстро и красиво.

В Picasa выберите меню «Вид»> «Свойства» для отображения панели «Свойства».

Выберите папку с фотографиями, и они появятся в виде коллекции миниатюр.

Выберите эскизы, которые вы хотите обновить. Чтобы решить, какие из них обновлять как пакет, вы можете либо установить для них одинаковую новую дату-время, либо изменить первое, а все остальные будут смещены во времени на ту же сумму.

В панели «Свойства» щелкните правой кнопкой мыши поле «Дата камеры», затем выберите «Настроить дату и время» в контекстном меню. Откроется диалоговое окно «Настроить дату фото», показывающее текущую дату камеры для первой фотографии.

Отредактируйте дату и время камеры, как требуется. Если вы просто хотите изменить am на pm или наоборот, просто выберите часть времени am и введите «a» или «p» в зависимости от ситуации. Нет необходимости вводить целые слова «am» или «pm».

Существует два варианта, если вы выбрали более одного эскиза для обновления: «Отрегулировать все даты фотографий на одну и ту же сумму» или «Установить все фотографии на одну и ту же дату и время». Выберите тот, который подходит. Затем нажмите ОК.

Даты EXIF ​​всех выбранных фотографий будут обновлены.


Смотрите предыдущий ответ @ user28515, который также предлагает Picasa; к сожалению, это больше не доступно.
JohnC

Хотя Picasa больше не разрабатывается Google, и они удалили установщик со своего веб-сайта, все еще можно загрузить последнюю версию, v3.9. Погуглите "скачать Picasa 3.9" даст много хитов. Если вы опасаетесь скачивать со случайного сайта, официальная загрузка Google по-прежнему доступна через Internet Archive Wayback Machine. Для получения дополнительной информации см. Здесь: sites.google.com/site/picasaresources/Home/Picasa-FAQ/picasa/…
SimonTewsi

0

Кроме того, Shotwell Photo Manager в Ubuntu (текущий менеджер фотографий по умолчанию на версии 13.10) имеет меню настройки даты / времени для выбранных фотографий. В сочетании с последним фильтром импорта вы можете легко настроить импортированные фотографии с камеры с неправильной датой и временем.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.