Чтение, редактирование и удаление метаданных файлов
Многие форматы файлов могут содержать метаданные. Существуют разные типы метаданных. Большинство цифровых фото/видеокамер и мобильных телефонов добавляют EXIF метаданные в фотографии и видеофайлы. Метаданные могут содержать информацию об устройстве, его настройки, местоположение (координаты GPS) и многое другое.
Перед публикацией в сеть каких-либо файлов необходимо удалить из них все метаданные, таким образом позаботившись о приватности. Для этого можно воспользоваться консольной программой ExifTool от Phil Harvey.
Метаданные поддерживаемые ExifTool
Ниже список типов файлов и метаданных поддерживаемых ExifTool (r = чтение, w = запись, c = создание).
Поддерживаемые типы файлов :
File Types :
------------+-------------+-------------+-------------+-----------
3FR r | DVB r | M4A/V r | PBM r/w | RWL r/w
3G2 r | DYLIB r | MEF r/w | PDF r/w | RWZ r
3GP r | EIP r | MIE r/w/c | PEF r/w | RM r
ACR r | EPS r/w | MIFF r | PFA r | SO r
AFM r | ERF r/w | MKA r | PFB r | SR2 r/w
AI r/w | EXE r | MKS r | PFM r | SRF r
AIFF r | EXIF r/w/c | MKV r | PGF r | SRW r/w
APE r | F4A/V r | MNG r/w | PGM r/w | SVG r
ARW r/w | FLA r | MOS r/w | PICT r | SWF r
ASF r | FLAC r | MOV r | PMP r | THM r/w
AVI r | FLV r | MP3 r | PNG r/w | TIFF r/w
BMP r | FPX r | MP4 r | PPM r/w | TTC r
BTF r | GIF r/w | MPC r | PPT r | TTF r
COS r | GZ r | MPG r | PPTX r | VRD r/w/c
CR2 r/w | HDP r/w | MPO r/w | PS r/w | VSD r
CRW r/w | HTML r | MQV r | PSB r/w | WAV r
CS1 r/w | ICC r/w/c | MRW r/w | PSD r/w | WDP r/w
DCM r | IIQ r/w | MXF r | PSP r | WEBP r
DCP r/w | IND r/w | NEF r/w | QTIF r | WEBM r
DCR r | ITC r | NRW r/w | RA r | WMA r
DFONT r | JNG r/w | NUMBERS r | RAF r/w | WMV r
DIVX r | JP2 r/w | ODP r | RAM r | X3F r/w
DJVU r | JPEG r/w | ODS r | RAR r | XCF r
DLL r | K25 r | ODT r | RAW r/w | XLS r
DNG r/w | KDC r | OGG r | RIFF r | XLSX r
DOC r | KEY r | ORF r/w | RSRC r | XMP r/w/c
DOCX r | LNK r | OTF r | RTF r | ZIP r
DV r | M2TS r | PAGES r | RW2 r/w |
Поддерживаемые стандарты и типы метаданных :
Meta Information :
----------------------+----------------------+---------------------
EXIF r/w/c | CIFF r/w | Ricoh RMETA r
GPS r/w/c | AFCP r/w | Picture Info r
IPTC r/w/c | Kodak Meta r/w | Adobe APP14 r
XMP r/w/c | FotoStation r/w | MPF r
MakerNotes r/w/c | PhotoMechanic r/w | Stim r
Photoshop IRB r/w/c | JPEG 2000 r | APE r
ICC Profile r/w/c | DICOM r | Vorbis r
MIE r/w/c | Flash r | SPIFF r
JFIF r/w/c | FlashPix r | DjVu r
Ducky APP12 r/w/c | QuickTime r | M2TS r
PDF r/w/c | Matroska r | PE/COFF r
PNG r/w/c | GeoTIFF r | AVCHD r
Canon VRD r/w/c | PrintIM r | ZIP r
Nikon Capture r/w/c | ID3 r | (and more)
Установка ExifTool
Для «ExifTool» требуется «Perl» версии 5.004 или новее. Никакие другие библиотеки не требуются.
Для установки «ExifTool» на «Debian», «Ubuntu» или «Linux Mint»:
sudo apt-get install libimage-exiftool-perl
Для установки «ExifTool» на «Fedora»:
sudo yum install perl-Image-ExifTool
Для установки «ExifTool» на «CentOS» или «RHEL», сначала нужно подключить репозиторий «EPEL», а затем:
sudo yum install perl-Image-ExifTool
Для установки «ExifTool» на Mac OS нужно скачать установщик с оф-сайта: http://owl.phy.queensu.ca/~phil/exiftool/
Ещё «ExifTool» можно установить как модуль «Perl».
Чтение метаданных файла
Прочитать все метаданные файла:
exiftool input.jpg
Прочитать информацию о GPS координатах фотографии :
exiftool -gpslatitude -gpslongitude input.jpg
Пример вывода:
GPS Latitude : 54 deg 9' 42.68" N GPS Longitude : 5 deg 58' 35.93" W
Для отображения информации о GPS координатах содержащихся в фотографии в форматированном виде:
exiftool -filename -gpslatitude -gpslongitude -T input.jpg
Пример вывода:
input.jpg 54 deg 9' 42.68" N 5 deg 58' 35.93" W
Изменение метаданных файла
При внесении изменений в файлы ExifTool автоматически сохраняет копии оригинальных файлов, добавляя к их именам префикс _original. Для того, чтобы бэкапы не создавались нужно добавлять параметр -overwrite_original к командам. Для удаления созданного бэкапа нужно добавлять параметр -delete_original[!], а для восстановления из бэкапа -restore_original. Ещё может понадобится параметр -progress для отображения прогресса и -r для рекурсивной обработки.
Изменить теги “Title” и “Author”:
exiftool -Title="This is the title" -Author="Arthur Gareginyan" input.pdf
Изменить тэги нескольких файлов:
exiftool -copyright="2014 Arthur Gareginyan" a.jpg b.jpg c.jpg
Изменить тег “artist” для всех файлов в директории назначения:
exiftool -artist="Arthur Gareginyan" ./folder
Удаление метаданных файла
Удалить все метаданные из файла:
exiftool -all= input.jpg
Удалить метаданные из всех файлов с расширением .jpg в текущей директории:
exiftool -all= *.jpg
Удалить метаданные из всех файлов в текущей директории:
exiftool -all= *
Если нужно удалить метаданные рекурсивно из всех файлов в директории /home/user/photo/, не создавая бэкапы и с показам прогресса:
exiftool -overwrite_original -progress -r -all= /home/user/photo/*
Примечание: Существует множество типов метаданных и ExifTool удаляет только те метаданные с которыми умеет работать!
Если эта статья помогла вам, пожалуйста, оставьте комментарий ![]()
Спасибо за прочтение!
Arthur is a designer and full stack software engineer. He is the founder of Space X-Chimp and the blog My Cyber Universe. His personal website can be found at arthurgareginyan.com.