En el següent article anem a fer una ullada a ExifTool. Aquest és un programa gratuït i de codi obert per llegir, escriure i manipular metadades d'imatges, àudio, vídeo i PDF. És independent de la plataforma que utilitzem. Està disponible com una biblioteca de Perl i una aplicació de línia d'ordres.
Les metadades de les fotografies, són dades extra que s'afegeixen als arxius. Com pot ser la càmera amb què s'ha pres una fotografia o l'hora a la que s'ha pres. Aquests tipus de metadades de les imatges poden tenir diversos formats. La informació que s'allotja en les metadades pot ser de qualsevol tipus, Des del nom de la companyia, fins el nom de l'ordinador, passant per tags, les dates de modificació, localització, etc ...
ExifTool suporta molts formats diferents de metadades incloent EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, Perfil ICC, Photoshop IRB, FlashPix, AFCP i ID3, tant com les metadades de les imatges de les càmeres digitals. Com es pot apreciar les metadades no només estan pensats per a les imatges, Sinó que es poden aplicar a tot tipus d'arxius.
Tot i que aquests detalls poden ser-nos molt útils per a classificar qualsevol tipus d'arxiu, també poden contenir informació sensible. Així que també haurem de tenir cura els arxius que compartim perquè poden portar informació que nosaltres no volem compartir.
Instal·lació de ExifTool
Podem instal·lar ExifTool en Ubuntu de manera senzilla. Només hem d'obrir una terminal (Ctrl + Alt + T) i executem la següent comanda:
sudo apt install libimage-exiftool-perl
Amb això ja tindrem instal·lat el programa. Ara ja podrem treballar amb el mitjançant la consola.
Ús de metadades amb ExifTool
Algunes de les ordres principals que accepta el programa són els següents:
El següent comanda ens mostrarà totes les metadades associades a la imatge que indiquem.
exiftool imagen.jpg
Aquesta comanda que segueix, eliminarà totes les metadades extres associats a l'arxiu.
exiftool -all= imagen.jpg
Amb la següent comanda s'assigna un valor a un TAG en el GRUP especificat.
exiftool -[GROUP:]TAG=VALUE imagen.jpg
Amb aquestes comandes ja podríem gestionar totes les metadades de les imatges. Si vols saber més sobre els tags i grups disponibles per a gestionar-los com cadascú vulgui, pots obtenir més informació en aquesta lloc web. Una altra forma de veure més opcions de la comanda exiftool serà utilitzant l'ajuda de man en el nostre sistema operatiu.
Més exemples per a la gestió de metadades
A continuació veurem alguns exemples per veure com gestionar les metadades:
Per afegir o modificar les coordenades GPS a una fotografia, hauríem d'escriure alguna cosa com el que segueix:
exiftool -exif:gpslatitude="27 33" -exif:gpslatituderef=S -exif:gpslongitude="165 130" -exif:gpslongituderef=E fotografia.jpg
Etiquetatge condicional amb l'opció -if. Això significa que podeu modificar una sèrie de metadades si compleix una condició, per exemple:
exiftool -alldates+=1 -if '$CreateDate ge "2017:11:02"' DIRECTORIO-IMAGENES
Modificarà l'hora de les imatges de DIRECTORI-IMATGES. A aquestes se li afegirà 1 hora si han estat creades després de el 2 de Novembre de 2017, i només a aquestes imatges. L'opció -alldates és un àlies per a totes les marques de temps que pots trobar en un arxiu jpeg (Datetimeoriginal, CreateDate i ModifyDate). Pots aprendre sobre aquestes i altres opcions de exiftool a aquesta pàgina.
La condició -if és genèrica, això vol dir que pots utilitzar-la com vulguis sempre que es respecti la sintaxi de Perl. Pots concatenar diverses expressions amb -if en una trucada a exiftool si cal. Cal recordar que els noms de les etiquetes dins de la condició deuen tenir el prefix "$", com les variables en perl. Qui ho necessiti podrà trobar més exemples i idees en aquesta web.
Un altre de les grans utilitats de Exiftool és que no has de tornar a escriure les metadades EXIF d'una imatge. L'opció-TagsFromFile còpia totes les etiquetes de l'arxiu especificat a l'arxiu donat com a argument final. Per Exemple:
exiftool -TagsFromFile tagged-img-fuente.jpg untagged-img-destino.jpg
L'opció-w per contra escriu les dades EXIF trobats en una imatge en un arxiu de text. Si afegeixes -htmlDump llavors els escriurà en un arxiu HTML. Si el que necessites és exportar totes les metadades a una base de dades, la millor manera de fer-ho seria amb la següent comanda:
exiftool -t -S IMG-DIRECTORIO | grep -v ^====> img-tags-valores.txt
Pots trobar un altre exemple de com es fa en aquest enllaç.
Desinstal exiftool
Per eliminar aquest programa del nostre sistema operatiu només haurem d'obrir una terminal (Ctrl + Alt + T). Hi escriurem la següent ordre:
sudo apt remove libimage-exiftool-perl && sudo apt autoremove
Hola, m'apareix això en terminal.
exiftool - [GROUP:] TAG = VALUE loro.jpg
Warning: Tag '] TAG' does not exist
Nothing to do.
A l'intentar recuperar exif
exiftool -TagsFromFile tagged-img-20180625_0032.CR2 untagged-img-loro.jpg
File 'tagged-img-20180625_0032.CR2' does not exist for -tagsFromFile option