Как вернуть правильную дату съемки в фото из Google Takeout
Настоящая дата съемки лежит в файлах .json рядом с вашими фото, и ее можно просто записать обратно в снимки без командной строки.
Правильная дата уже есть в вашем экспорте. Она записана в файле .json, который лежит рядом с каждым фото, в поле photoTakenTime. Проблема в том, что ни одна программа для просмотра фото эти файлы не читает. Они читают EXIF — блок информации внутри самого изображения, а эту часть Google оставил пустой.
Поэтому исправление — это копирование: прочитать дату из каждого .json, записать ее в соответствующее фото и выставить такие же даты у самого файла. Для одного фото это займет минуту. Для сорока тысяч нужна программа.
Какую дату брать
В файле .json есть две похожие даты. photoTakenTime — это дата съемки в том виде, в каком ее показывал Google Фото, включая дату, которую вы исправили вручную. Нужна именно она. creationTime — это момент загрузки файла в Google. Для скана старой бумажной фотографии он может быть на десятки лет позже настоящей даты.
Время в файле записано в секундах с 1 января 1970 года, в UTC. Там же лежат координаты места съемки. У фото без места широта и долгота равны 0.0: это отсутствие координат, а не реальная точка. Что еще есть в этих файлах, рассказывает статья что за JSON-файлы в Google Takeout.
Почему одной команды мало
Можно написать команду для exiftool, и многие так и делают. Но имена файлов-спутников делают эту работу кропотливой:
- Google обрезает длинные имена на середине, например
PXL_20240311_183022711.jpg.supplemental-m.json. - В зависимости от года экспорта используются два разных формата имен:
IMG_5512.HEIC.jsonиIMG_5512.HEIC.supplemental-metadata.json. - У дубликатов счетчик
(1)стоит в неожиданном месте:IMG_5512(1).HEICотносится кIMG_5512.HEIC.supplemental-metadata(1).json.
Шаблон, который не учитывает эти случаи, молча пропускает файлы. Правила имен подробно разобраны в статье supplemental-metadata.json: что это за файл. Если вы хотите сделать все вручную, пройдите по инструкции по exiftool.
Простой способ
Приложение Takeout JSON Metadata Fixer делает все это за вас. Выберите папку Takeout, выберите, куда сохранить исправленные фото, и нажмите «Старт». Приложение находит для каждого файла-спутника его фото, записывает дату, время и GPS, а в конце показывает, для каких файлов данных не нашлось.
Ничего не загружается в интернет, а первые 1000 фото обрабатываются бесплатно.