Как изменить Exif-дату фотографий?
Относительно недавно я приобщился к сообществу людей, кто приобрел зеркальную фотокамеру и пытается делать на ней красивые снимки. Пока еще рано говорить об увлечением фотографией, так как я только месяц назад стал счастливым обладателем и только приобщаюсь к делу.
Но не смотря на это у меня уже возникли некоторые проблемы с полученными снимками, а именно: так как я айтишник и не читаю с самого начала инструкций, я не учел, что в фотоаппарате нужно установить правильную дату и время. После покупки стояло московское время с месячным сдвигом назад, что не сильно хорошо для омского парня, которому хочется иметь фотографии с нормальной привязкой ко времени. Поэтому после нескольких тысяч фотографий с неправильной EXIF-датой и временем я ринулся на поиски инструмента, который поможет мне поменять все как надо.
В последнее, время, я работаю только в операционной системе Linux и для меня любое решение на базе Windows не подходило, так как под рукой не было этой операционной системы, а ставить её только для одной задачи, как изменить Exif-дату у фотографий, мне не хотелось.
Изменять дату было необходимо порядка 3000 фотографий, что согласитесь не сильно сладко делать вручную.
Если немного коснутся технической стороны, то EXIF-данные – это некие метаданные, которые есть в каждом снимке и содержат в себе полную информацию о том в каких условиях и с какими параметрами был снят тот или иной снимок. Это очень удобный инструмент для последующего анализа косяков при фотографировании. Можно использовать для удобной сортировке фоток по дате.
Я же все полученные снимки загонял а Shotwell Foto Manager, где сортировка происходит как раз по дате, содержащейся в EXIF-данных. Поэтому для эффективного содружества с существующим фотоархивом, где используется омское время и дата, было необходимо переделать все под Омск.
В Linux есть достаточно мощный инструмент под названием exiftool, который позволяет делать именно то, что мне было нужно, а именно смещать в нужную мне сторону дату и время снимка.
В операционной системе Ubuntu установить exiftool можно всего-лишь одной командой:
sudo apt-get install exiftool
Это все благодаря тому, что этот пакет уже давно содержится в официальном репозитории Canonical.
Для подробного изучения возможностей этой утилиты, Вам лучше всего обратиться к man-странице. Ниже я привожу лишь те команды которые были полезны именно мне. Кстати, по ним можно понять весь принцип работы этой команды и без man-учебника.
Как изменить Exif-дату фотографий?
- Для того, чтобы перевести дату создания снимка на 1 месяц вперед, то есть в плюс, нам необходимо исполнить команду:
exiftool "-DateTimeOriginal+=0:1:0 00:00:00" *.JPG
Команду следует исполнять уже после того, как Вы перешли в нужную директорию с подопытными фотографиями. - После того, как команда выполнилась и в вашей директории появились файлы с приставкой _original, делаем этот шаг. Файлы с приставкой _original – это нетронутые файлы, на случай, если что-то пошло не по плану.
Если все нормально и Вы получили то что хотели, то можно просто удалить эти файлы одной командой:
for f in *_original ; do rm $f; done
Как это работает?
В первой команде Вам следует понять только вот эту часть: +=0:1:0 00:00:00,
где + – сдвиг вперед (можно использовать знак минуса);
0:1:0 00:00:00 – год:месяц:день часы:минуты:секунды
Грубо говоря, если Вы хотите сдвинуть дату всех снимков назад на 1 год 3 часа и 15 минут, то это часть кода будет выглядеть так:
-=1:0:0 03:15:00
Думаю, что сложного тут ничего нет.
P.S. Я надеюсь, что exiftool позволит Вам, также как и мне, сэкономить уйму времени и нервом и навести порядок в вашем фотоархиве.
Теги: bash
У меня тоже была такая шняга, но я Windows, по этому всё достаточно легко решилось.