неділя, 8 вересня 2013 р.

EXIF мій - друг мій

Давно я вже нічого не писав у цей блог… А так щоб я писав сюди щось корисне – таке траплялося взагалі рідко. І ось знову настав цей рідкісний момент :)

Я повернувся з відпустки у Франції з величезною купою фотографії з двох фотоапаратів та одного телефона. Якщо у мене вистачить часу та натхнення, то я напишу трохи про цю поїздку… Але зараз не про те. Так от, про фотографії – їх виявилося багато, а найгірше те, що фото з кількох різних фотоапаратів дуже важко переглядати. Всім знайома ця ситуація, коли є 2-3 папки з фотографіями з різних фотоапаратів, а місця ж на фото ті самі, тому щоб все переглянути, доводиться дивитися те саме по колу (часто діло не доходить далі першої папки).

Перше, що приходить в голову – скопіювати всі фото в одну папку. Скопіювали… і нічого не змінилося, бо фотографії названі по різному порядковими номерами, що беруть початок від перших днів кожного з фотоапаратів. Тож знову, частіше за все, спершу будуть йти всі фото з одного фотоапарата, потім всі фото з другого…

І тут на допомогу приходить EXIF! Коли фотоапарат, чи телефон робить фото, він разом з ним зберігає багато корисної інформації, зокрема і час, коли фото було зроблене. Тут дехто може зауважити, що концепція не нова і давним давно вже придумані переглядачі, які сортують фото саме по даті, коли вони були зроблені. З цим, звісно, не посперечаєшся. Але згадайте, коли ви востаннє налаштовували час та дату на своєму фотоапараті? А часовий пояс ви змінили перед подорожжю? Отож-бо!

Тож я потратив сьогодні пів дня на пошуки простого способу змінити назви всіх фото так, щоб вони починалися з дати і часу коли фото було зроблене, водночас відкоригувавши цей час, так щоб він справді відповідав часу коли робилося фото. Надіюся, мій досвід знадобиться ще комусь.


Для виконання всіх операцій з EXIF інформацією існує чудова консольна програма ExifTool (http://www.sno.phy.queensu.ca/~phil/exiftool/). Вона вміє виконувати всі операції, які нам потрібно і набагато більше.
Але перед тим як починати виконувати будь які операції над своїми дорогоцінними фотографіями – обов’язково зробіть резервну копію!

Отже, перше, що нам потрібно - відкоригувати час коли фото було зроблене. Але як же знайти правильний час? Якщо фотоапарат у вашому розпорядженні, то зробити це просто – подивіться який час встановлено там зараз і порівняйте з поточним часом у місті, до якого ви подорожували. Якщо ж фото взяті з чужого фотоапарата, то доведеться вдатися до хитрощів. Один ефективний спосіб – якщо у вас є фото з вашого фотоапарата, де ви вже відкоригували час, знайдіть два фото зроблені вашим, та іншим фотоапаратом приблизно в один і той самий час (“тут я тримаю Ейфелеву вежу, а тут Петро тримає Ейфелеву вежу”), і по цих фото визначте на скільки треба відкоригувати час на чужих світлинах. Інший спосіб – шукати фото годинника :) А ще краще – завжди фотографувати хоч один годинник в кожній з подорожей ;)

За допомогою ExifTool дуже просто змінити дані про час створення фото для цілої папки. У моєму випадку, потрібно було для моїх фото перевести годинник на 9 годин вперед (для всіх фото в папці Paris):

exiftool -AllDates+=9 -overwrite_original Paris

На другому фотоапараті час потрібно було перевести на 11 годин 57 хвилин назад (не питайте чому…):

exiftool "-AllDates-=0:0:0 11:57:0" -overwrite_original Paris_2

Годинник на iPhone-і, на щастя, налаштувався сам, тож фото з телефона не потребували корекції.

Наступний крок – переіменувати фото так, щоб назви починалися з дат та часу. Я для себе вибрав такий формат: 2013-08-21-[12.55.09]-Ostap-DSC02901.JPG (дата, час, автор, оригінальна назва файлу). Ви ж можете вибрати формат, який довподоби вам (всі доступні специфікатори формату тут http://www.sno.phy.queensu.ca/~phil/exiftool/filename.html#codes) і переіменувати всі файли командою схожою на наступну:

exiftool "-FileName<CreateDate" -d "%Y-%m-%d-[%H.%M.%S]-Ostap-%%f.%%e" Paris

Ось, в принципі, і все. Залишилося лише перенести фото з усіх фотоапаратів в єдину папку і насолоджуватися виконаною роботою!


П.С.: При пошуку ExifTool, я також натрапив на ще одну непогану програму – Photosmixer (https://code.google.com/p/photosmixer/), яка також чудово працює і має графічний інтерфейс. Правда вона використовує фіксований формат для назв файлів, який мені не дуже сподобався. Але якщо формат назви для вас не має великого значення, то ця програма також може чудово підійти для виконання задачі об’єднання фото з багатьох фотоапаратів.

П.П.С.: Як виявилося пізніше, існує чудовий переглядач фото XnView, який вміє робити все вище описане і має нормальний графічний інтерфейс :) Дякую, Дмитро!