как исправить часовой пояс изображений с помощью exiftool

Вопрос или проблема

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

Дата создания                     : 2024:04:21 05:40:41-05:00
Дата/время оригинала              : 2024:04:21 05:40:41-05:00
Дата изменения                     : 2024:04:21 13:08:27+07:00

Дата/время создания                : 2024:04:21 05:40:41-05:00
Дата/время цифрового создания      : 2024:04:21 05:40:41-05:00

Правильный часовой пояс – UTC+7:00 (индонезийское время (ICT)), но несколько полей exif неправильно имеют -05:00.

Дата и время в остальном правильные. Например, дата создания должна быть 2024:04:21 05:40:41, но по индонезийскому времени UTC+7:00. (Дата изменения – это когда, я предполагаю, фотограф редактировал фотографии с помощью программного обеспечения для редактирования изображений).

Как я могу использовать exiftool, чтобы исправить часовой пояс полей, которые имеют -5:00?

Кроме того, я хотел бы установить дату создания и изменения файла, чтобы она соответствовала exif дате создания.

Вот более полный вывод exiftool, на случай если это поможет:

$ exiftool -time:all -G1 -a -s DSC00907.jpg                  
[Система]        FileModifyDate                  : 2024:04:21 05:40:41+07:00
[Система]        FileAccessDate                  : 2024:04:24 19:15:59+07:00
[Система]        FileInodeChangeDate             : 2024:04:24 19:15:59+07:00
[IFD0]          ModifyDate                      : 2024:04:21 13:08:27
[ExifIFD]       DateTimeOriginal                : 2024:04:21 05:40:41
[ExifIFD]       CreateDate                      : 2024:04:21 05:40:41
[ExifIFD]       OffsetTime                      : +07:00
[ExifIFD]       OffsetTimeOriginal              : -05:00
[ExifIFD]       OffsetTimeDigitized             : -05:00
[XMP-xmp]       ModifyDate                      : 2024:04:21 13:08:27+07:00
[XMP-xmp]       CreateDate                      : 2024:04:21 05:40:41-05:00
[XMP-xmp]       MetadataDate                    : 2024:04:21 13:08:27+07:00
[XMP-photoshop] DateCreated                     : 2024:04:21 05:40:41-05:00
[XMP-xmpMM]     HistoryWhen                     : 2024:04:21 13:08:27+07:00
[IPTC]          DateCreated                     : 2024:04:21
[IPTC]          TimeCreated                     : 05:40:41-05:00
[IPTC]          DigitalCreationDate             : 2024:04:21
[IPTC]          DigitalCreationTime             : 05:40:41-05:00
[ICC-header]    ProfileDateTime                 : 1998:02:09 06:49:00
[Composite]     SubSecCreateDate                : 2024:04:21 05:40:41-05:00
[Composite]     SubSecDateTimeOriginal          : 2024:04:21 05:40:41-05:00
[Composite]     SubSecModifyDate                : 2024:04:21 13:08:27+07:00
[Composite]     DateTimeCreated                 : 2024:04:21 05:40:41-05:00
[Composite]     DigitalCreationDateTime         : 2024:04:21 05:40:41-05:00

В приведенном выше выводе вы можете полностью игнорировать ProfileDateTime, MetadataDate и HistoryWhen. Первый относится только к данным цвета ICC_Profile и не должен изменяться. Другие два являются метками рабочего процесса и не должны использоваться для даты изображения. Эти метки должны автоматически обновляться при каждом изменении файла, хотя это зависит от используемой программы. Например, программы Adobe всегда будут обновлять эти метки, но многие менее профессиональные программы этого не сделают.

Метки группы Composite – это метки, которые exiftool создает на лету для облегчения копирования данных между метками/группами/файлами. Они фактически не существуют в файле. Их можно игнорировать, так как они изменятся, когда будут исправлены основные метки, которые они читают.

Метки IFD0:ModifyDate/XMP-xmp:ModifyDate/ExifIFD:OffsetTime могут быть проигнорированы, так как они относятся к аналогичной категории, как метки MetadataDate/HistoryWhen. Их следует изменять каждый раз, когда изображение модифицируется. Если другие более важные метки даты/времени отсутствуют, программы могут использовать эти для датирования изображения, поэтому это зависит от личных предпочтений. Если это необходимо, их можно исправить, как указано ниже.

Действительными важными метками являются оставшиеся метки OffsetTime, DateTimeOriginal, DateCreated и две метки CreateDate. И в меньшей степени метки DigitalCreationTime/TimeCreated.

Для исправления часовых поясов используется возможность ShiftTime в exiftool. Чтобы переключиться с -05:00 на +07:00, требуется сдвиг на +12 часов. Основной формат для этого:

-TAG+=+12:00

Результирующая команда будет следующей:

exiftool -OffsetTimeOriginal+=+12:00 -OffsetTimeDigitized+=+12:00 -CreateDate+=+12:00 -DateCreated+=+12:00 -DigitalCreationTime+=+12:00 -TimeCreated+=+12:00 /path/to/files/

При желании можно добавить метки типа изменения к этой команде с использованием того же формата.

Эта команда создает резервные файлы. Добавьте -overwrite_original, чтобы подавить создание резервных файлов. Добавьте -r, чтобы рекурсивно пройти по подкаталогам. Добавьте -P (-preserve) опцию, чтобы сохранить текущую FileModifyDate.

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

Exiftool не может редактировать метки FileAccessDate/FileInodeChangeDate, и нет никакой причины пытаться это сделать, так как они будут постоянно обновляться, когда файл/каталог, в котором они находятся, будет затронут.

Метка FileModifyDate аналогична вышеуказанным датам изменения, но относится к моменту, когда файл изменяется любым образом, а не только изображение.

Ответ или решение

Для исправления временной зоны изображений с помощью ExifTool и приведения метаданных под корректное время (UTC+7:00), вам необходимо выполнить несколько шагов. Этот процесс требует знания командной строки и работы с инструментом ExifTool, который позволяет изменять и управлять метаданными различных изображений. Ниже приведен подробный шаг, как осуществить данное исправление.

Шаг 1: Установка ExifTool

Если у вас еще не установлен ExifTool, скачайте его с официального сайта и установите согласно инструкциям для вашей операционной системы.

Шаг 2: Анализ метаданных

Перед тем как внести изменения, убедитесь, что вы знаете, какие поля необходимо исправить. Исходя из вашего описания, вы должны констатировать, что временные метки, такие как OffsetTimeOriginal и OffsetTimeDigitized, имеют значение -05:00. Вам нужно будет сместить временные поля на +12:00 часов, чтобы привести их в правильный вид.

Шаг 3: Команда для изменения временной зоны

Используйте следующую команду в терминале (командной строке) для изменения необходимых метаданных изображений:

exiftool -OffsetTimeOriginal+=+12:00 -OffsetTimeDigitized+=+12:00 -CreateDate+=+12:00 -DateCreated+=+12:00 -DigitalCreationTime+=+12:00 -TimeCreated+=+12:00 /путь/к/файлам/

Пояснение параметров:

  • -OffsetTimeOriginal+=+12:00: увеличивает значение на 12 часов для OffsetTimeOriginal.
  • -OffsetTimeDigitized+=+12:00: аналогично для OffsetTimeDigitized.
  • -CreateDate+=+12:00: изменяет дату создания изображения.
  • -DateCreated+=+12:00: аналогично для даты создания.
  • -DigitalCreationTime+=+12:00 и -TimeCreated+=+12:00: для дополнительных временных меток.

Шаг 4: Обновление системных метаданных файла

Если вы хотите также изменить даты создания и модификации файла в файловой системе, добавьте следующую команду:

exiftool -FileModifyDate='2024:04:21 05:40:41' -FileAccessDate='2024:04:21 05:40:41' /путь/к/файлам/

Шаг 5: Опции при использовании ExifTool

К примеру, для предотвращения создания резервных копий используйте флаг -overwrite_original. Если вам нужно обрабатывать файлы в подкаталогах, добавьте -r (для рекурсивного поиска файлов). Чтобы сохранить текущие метаданные файла, добавьте -P (признак сохранения).

Пример окончательной команды

exiftool -r -P -overwrite_original -OffsetTimeOriginal+=+12:00 -OffsetTimeDigitized+=+12:00 -CreateDate+=+12:00 -DateCreated+=+12:00 -DigitalCreationTime+=+12:00 -TimeCreated+=+12:00 /путь/к/файлам/

Заключение

Используя ExifTool, вы можете легко и эффективно изменять временные метаданные изображений, чтобы исправить ошибочные временные зоны. Следуйте указаниям, чтобы избежать ошибок в расчетах и добиться корректных результатов. Убедитесь, что после выполнения всех изменений, проверили метаданные, чтобы подтвердить их правильность.

Оцените материал
Добавить комментарий

Капча загружается...