Статьи

ExifTool: читаємо і редагуємо метадані файлів

  1. Загальні відомості
  2. Деякі приклади роботи ExifTool з фотографіями
  3. Читання і редагування тегів
  4. Геотеги, прочитати і редагувати
  5. Маніпуляції з датою і часом

Утиліта ExifTool призначена для перегляду і редагування метаданих великої кількості форматів файлів. В першу чергу використовується для перегляду і редагування параметрів зйомки в файлах цифрових фотографій. Ліцензія: GPL. сайт: sno.phy.queensu.ca/~phil/exiftool/

Загальні відомості

Дуже багато форматів файлів крім основного змісту мають в собі ще й метадані. Ці метадані можуть в кожному конкретному випадку описувати різні додаткові параметри вмісту файлу.

Найбільш відомим стандартом метаданих, є стандарт EXIF (англ. Exchangeable Image File Format) - стандарт, що дозволяє додавати до різних типів файлів додаткову інформацію, що описує умови і способи їх отримання, GPS координати, авторство, коментарі та багато іншого. Найбільш активно стандарт EXIF ​​використовується для фотозображень, і практично кожен сучасний цифровий фотоапарат записує велику кількість EXIF ​​даних на кожен фотознімок.

Утиліта ExifTool призначена для перегляду і редагування метаданих великої кількості форматів файлів

Мал. Крім безпосередньо зображення, цифрова фотографія може включати і додаткові метадані

Інші формати даних теж можуть мати свої метадані. Це відеофайли, різні файли документів - 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) - метадані можна створювати.

Символ (r) - метадані тільки для читання, (w) - метадані можна за допомогою ExifTool перезаписувати, (c) - метадані можна створювати

Мал. ExifTool. Таблиця редагований метаданих в різних типах файлів

Деякі приклади роботи ExifTool з фотографіями

Розглянемо кілька опцій цієї консольної утиліти, необхідних для базової роботи з метаданими EXIF ​​в файлах фотозображень, так як цей формат метаданих використовується практично у всіх цифрових фотокамерах. Хоча ExifTool працює і з форматами метаданих XMP, IPTC.

Читання і редагування тегів

Прочитати і відобразити всі дані EXIF ​​зображення.

exiftool FOTO.JPG exiftool FOTO Мал. 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

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал