Робота з EXIF-даними у файлах jpg, png, та webp
- Деталі
- Категорія: Servers (uk)
- Опубліковано: Четвер, 10 грудня 2020, 15:22
- Автор: Super User
- Перегляди: 2374
Практично в усіх файлах з зображеннями є можливість зберігати додаткові дані, наприклад розмір зображення, час створення, гео-координати і таке інше.
Крім того є можливість туди додати додаткові параметри — опис, копірайт та інше.
Це все так звані EXIF-дані
Exchangeable image file format — стандарт, що визначає формат опису допоміжної метаінформації для файлів зображень, звуку, і який використовується цифровими камерами (в тому числі і тими, що у смартфонах), сканерами й іншими системами, що оброблюють звукові файли та файли зображень, записані цифровими камерами.
До речі, є недостатньо підтверджена інформація, що пошукові системи на сайтах використовують exif-дані зображень на сайтах для ранжування сайта та оптимізації пошуку.
Тепер роздивимось як додавати або змінювати exif-дані
Метадані у файлах jpg та png
Для цього в Linux існує утиліта exiftool яка може виводити або змінювати метадані у файлах форматів png та jpg.
Для її встановлення потрібно виконати команду
apt install libimage-exiftool-perl
При виконанні команди
exiftool image.jpg
буде виведено поточну інформацію, яка збережена в даному файлі, щось на зразок
ExifTool Version Number : 10.80
File Name : image.jpg
Directory : .
File Size : 156 kB
MIME Type : image/jpeg
Exif Byte Order : Little-endian (Intel, II)
Creator Tool : Adobe Photoshop CC 2014 (Windows)
Color Transform : YCbCr
Image Width : 580
Image Height : 400
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:4:4 (1 1)
Image Size : 580x400
Megapixels : 0.232
це лише частина виведеної інформації, бо повний вивід занадто довгий.
Якщо ми хочемо додати або змінити певне поле (в нашому випадку — ImageDescription), то зробимо це командою
exiftool -ImageDescription="My best image" image.jpg
Аналогічно можна змінити або додати і будь-яке інше поле, наприклад copyright
Якщо ви хочете очистити метадані, то можна виконати команду
exiftool -all= image.jpg
Для видалення певного поля
exiftool -ImageDescription= image.jpg
Точніше таким чином ми не видаляємо саме поле, а просто видаляємо запис в ньому.
Метадані у файлах webp
Утиліта exiftool поки що не підтримує файли webp і для роботи з ними потрібна окрема утиліта — webpmux
Для її встановлення виконаємо команду
apt install webp
Виводити на екран метадані ця утиліта не вміє, а лише зберігає їх у вказаний файл
webpmux -get exif image.webp -o image_metadata.exif
Якщо при виконанні цієї команди сталася помилка, то це означає, що у файлі просто немає метаданих.
Для встановлення потрібних нам даних у файлі webp спочатку потрібно створити файл з метаданними (наприклад file.exif) і записати туди щось на зразок:
copyright: 2020© yakim.org.ua
Author: Yakim
Після цього виконаємо команду
webpmux -set exif file.exif image.webp -o image.webp
Зверніть увагу, що вихідний файл можна не змінювати, а створити новий і вже туди додавати метадані.