- Загальні відомості
- Деякі приклади роботи ExifTool з фотографіями
- Читання і редагування тегів
- Геотеги, прочитати і редагувати
- Маніпуляції з датою і часом
Утиліта ExifTool призначена для перегляду і редагування метаданих великої кількості форматів файлів. В першу чергу використовується для перегляду і редагування параметрів зйомки в файлах цифрових фотографій. Ліцензія: GPL. сайт: sno.phy.queensu.ca/~phil/exiftool/
Загальні відомості
Дуже багато форматів файлів крім основного змісту мають в собі ще й метадані. Ці метадані можуть в кожному конкретному випадку описувати різні додаткові параметри вмісту файлу.
Найбільш відомим стандартом метаданих, є стандарт EXIF (англ. Exchangeable Image File Format) - стандарт, що дозволяє додавати до різних типів файлів додаткову інформацію, що описує умови і способи їх отримання, GPS координати, авторство, коментарі та багато іншого. Найбільш активно стандарт EXIF використовується для фотозображень, і практично кожен сучасний цифровий фотоапарат записує велику кількість EXIF даних на кожен фотознімок.
Мал. Крім безпосередньо зображення, цифрова фотографія може включати і додаткові метадані
Інші формати даних теж можуть мати свої метадані. Це відеофайли, різні файли документів - PDF, Djvu і т.д.
Переглянути та редагувати метадані файлів можна за допомогою великої кількості утиліт і програм. Особливо відзначимо консольную утиліту ExifTool як найбільш універсальний і потужний інструмент для роботи з метаданими файлів.
Ця утиліта працює з командного рядка. Вона існує для будь-яких операційних системах - Linux, Windows, MacOS. Однак для неї є і доповнення у вигляді додатку з графічним інтерфейсом, як, наприклад, Exiftoolgui для Windows.
Мал. Exiftoolgui для Windows
Ще прикладом графічної оболонки для ExifTool можна назвати утиліту PyExifToolGUI. ( Читати докладніше про PyExifToolGUI )
Мал. PyExifToolGui
Судячи з назви, утиліта ExifTool в першу чергу призначена для роботи з метаданими EXIF в цифрових фотографіях. Підтримуються формати фотозображень: JPEG, TIFF, PNG, DNG, NEF, PEF, CRW, JP2, CR2, MRW, ARW, SR2, ORF, RAF, і інші.
Але слід враховувати, що також утиліта ExifTool може працювати з метаданими в інших типах файлів.
- відео та аудіо: 3gp, AVI, MPG, MOV, WEBM, MP3, MP4, Ogg і ін .;
- документи: PDF, Djvu, RTF, PPT, EPUB та ін .;
- архіви і бінарні файли: ZIP, DLL і ін.
При цьому для одних файлів доступно як читання метаданих, так і їх редагування. А для інших типів файлів доступно тільки читання. Повну інформацію про численні можливості утиліти ExifTool почерпнути, виконавши, після установки програми, команду
man exiftool
В мануалі буде таблиця, де символами буде позначена можливість редагування метаданих для такого типу файлу. Символ (r) - метадані тільки для читання, (w) - метадані можна за допомогою ExifTool перезаписувати, (c) - метадані можна створювати.
Мал. ExifTool. Таблиця редагований метаданих в різних типах файлів
Деякі приклади роботи ExifTool з фотографіями
Розглянемо кілька опцій цієї консольної утиліти, необхідних для базової роботи з метаданими EXIF в файлах фотозображень, так як цей формат метаданих використовується практично у всіх цифрових фотокамерах. Хоча ExifTool працює і з форматами метаданих XMP, IPTC.
Читання і редагування тегів
Прочитати і відобразити всі дані EXIF зображення.
exiftool FOTO.JPG Мал. ExifTool
Прочитати якийсь окремий тег в метаданих зображення - наприклад, інформацію тега ISO.
exiftool -ISO FOTO.JPG
Показати теги, в які можна редагувати.
exiftool -listw FOTO.JPG
Запис значення конкретного тега EXIF в файл зображення робиться через символ присвоювання =.
exiftool -ISO = '200' FOTO.JPG
Видалення значення конкретного тега EXIF в файлі зображення робиться через привласнення порожнього значення.
exiftool -ISO = '' FOTO.JPG
Природно консольна утиліта exiftool хороша для пакетної обробки файлів, коли один або кілька однакових тегів потрібно записати або видалити в безлічі зображень. Нижче команда запише значення ISO в усі файли з розширенням jpg в цій папці. Символ * в імені файлу - шаблон для будь-якого імені.
exiftool -ISO = '200' * .JPG
При редагуванні тегів утиліта створює поряд з новим файлом файл-оригінал з суфіксом "_original". Якщо цього не потрібно, потрібно використовувати додаткову опцію -overwrite_original.
exiftool -ISO = '200' -overwrite_original * .JPG
Примітка: якщо ж цю опцію забули написати і ExifTool створив багато архівних копій з суфіксом "_original", то видалити ці копії можна виконавши в консолі для систем Linux в поточному каталозі нескладний однорядковий скрипт:
for f in * _original; do rm $ f; done
Ви маєте можливість копіювати теги з одного файлу в інший. Нижче приклад команди, коли теги EXIF будуть скопійовані з файлу FOTO.DNG в FOTO.JPG
exiftool -TagsFromFile FOTO.DNG FOTO.JPG
Так можливо копіювання тегів для декількох файлів в папці (оригінальні файли і похідні лежать поруч).
exiftool -TagsFromFile% d% f.DNG -r -ext JPG путь_к_каталогу
Назва та пояснення до найбільш популярним EXIF-тегами
- Make - виробник камери
- Model - модель камери
- DateTime - дата останнього зміни зображення
- ExposureTime - витримка
- FNumber - число діафрагми
- ISO - світлочутливість
- DateTimeOriginal - час зйомки
- FocalLength - фокусна відстань об'єктива на камері
- Artist - автор
- Copyright - копірайт
- UserComment - коментарі користувача до файлу
Щоб не вводити кожен раз який-небудь набір тегів, їх можна записати в окремий текстовий файл. Наприклад, набір загальних тегів для будь-яких оцифрованих знімків з фотоапарата "Зміна 8М" можна записати у вигляді такого текстового файлу з назвою, наприклад lens8M.txt.
-n -EXIF: LensModel = LOMO T-43 (Triplet) 40mm f / 4 -EXIF: Model = Smena 8M -EXIF: FocalLength = 40 -EXIF: MaxApertureValue = 4
А потім просто викликати в якості параметра опції - @.
exiftool - @ lens8M.txt * .JPG
Геотеги, прочитати і редагувати
Exiftool - найпростіший і найдоступніший спосіб додати метадані про географічне розташування (геотеги) як в файли цифрових фотографій, так і в відеозаписи.
Видалити конкретні геотеги через порожнє значення. Наприклад, правильним вважається при публікації фотографій в інтернеті видалити з них геотеги. Примітка: між двома одинарними лапками -geotag = '' має бути пусте значення, а не пробіл.
exiftool -geotag = '' FOTO.JPG
І навпаки, наприклад, встановити довготу і широту в метаданих цифрового фотознімку можна за допомогою параметрів -GPSLongitude і -GPSLatitude відповідно. наприклад
exiftool -GPSLongitude = "27,46" -GPSLatitude = "53,89" FOTO.JPG
ExifTool може працювати з GPS-треками, в результаті чого можна синхронізувати координати GPS-треку і час створення фотознімку. Тобто, якщо під час фотозйомок створювався GPS-трек, то з нього за допомогою ExifTool можна автоматично отримати гео-координати, відповідні часу створення знімка, і записати їх в метадані фотографії.
exiftool -geotag track.gpx * .JPG
Маніпуляції з датою і часом
Неправильно виставлене в фотокамері час - ще одна поширена прикра помилка, яку ExifTool допоможе виправити. Особливо це неприємно при синхронізації GPS-треків і фотографій. Тому що синхронізація з координатами GPS-треку відбувається за часом створення фотографії, і відставання-поспіх фотокамери навіть на одну хвилину може привести до великих помилок координат місця зйомки в метаданих цифрового фотознімку. Виправити ситуацію можна за допомогою спеціального формату рік: місяць: день години: хвилини: секунди для опції -DateTimeOriginal, який нескладно зрозуміти на наступному прикладі. Припустимо, нам треба зробити фотографію старше «старше» на один рік і одну годину.
exiftool "-DateTimeOriginal- = 1: 0: 0 1:00:00" FOTO.JPG
Зверніть увагу на знак зменшення - перед знаком =. Якщо фотографію потрібно зробити «молодше» за часом створення, то ставиться знак +.
Можна змінити відразу три тимчасових тега - DateTimeOriginal, CreateDate і ModifyDate. Для цього слід використовувати опцію -AllDates.
Можна здійснити перейменування імен файлів зображень на основі дати з EXIF з видаленням оригінального імені файлу.
exiftool -d% Y% m% d-% H% M% S. %% e "-filename <CreateDate" * .JPG
Перейменування на основі дати створення без видалення початкового імені файлу.
exiftool -d% Y% m% d-% H% M% S %% - c - %% f. %% e "-filename <CreateDate" * .JPG
В ході маніпуляцій ExifTool поміняє дату модифікації файлу. Відновити оригінальну дату оригіналу:
exiftool '-filemodifydate <datetimeoriginal' FOTO.JPG
ⓜ ⬇ 07-02-2015