ExifTool, lee o manipula los metadatos de tus archivos desde Ubuntu
En el siguiente artículo vamos a echar un vistazo a ExifTool. Este es un programa gratuito y de código abierto para leer, escribir y manipular metadatos de imágenes, audio, vídeo y PDF. Es independiente de la plataforma que utilicemos. Está disponible como una biblioteca de Perl y una aplicación de línea de comandos.
Los metadatos de las fotografías, son datos extra que se añaden a los archivos. Como puede ser la cámara con la que se ha tomado una fotografía o la hora a la que se ha tomado. Estos tipos de metadatos de las imágenes pueden tener varios formatos. La información que se aloja en los metadatos puede ser de cualquier tipo, desde el nombre de la compañía, hasta el nombre del ordenador, pasando por tags, las fechas de modificación, localización, etc …
ExifTool soporta muchos formatos diferentes de metadatos incluyendo EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, Perfil ICC, Photoshop IRB, FlashPix, AFCP e ID3, tanto como los metadatos de las imágenes de las cámaras digitales. Como se puede apreciar los metadatos no solo están pensados para las imágenes, sino que se pueden aplicar a todo tipo de archivos.
Aunque estos detalles pueden sernos muy útiles para clasificar cualquier tipo de archivo, también pueden contener información sensible. Así que también tendremos que tener cuidado los archivos que compartimos porque pueden llevar información que nosotros no queremos compartir.
Instalación de ExifTool
Podemos instalar ExifTool en Ubuntu de manera sencilla. Solo tenemos que abrir una terminal (Ctrl+Alt+T) y ejecutamos el siguiente comando:
sudo apt install libimage-exiftool-perl
Con esto ya tendremos instalado el programa. Ahora ya podremos trabajar con el mediante la consola.
Uso de metadatos con ExifTool
Algunos de los comandos principales que acepta el programa son los siguientes:
El siguiente comando nos mostrará todos los metadatos asociados a la imagen que indiquemos.
exiftool imagen.jpg
Este comando que sigue, eliminará todos los metadatos extras asociados al archivo.
exiftool -all= imagen.jpg
Con el siguiente comando se asigna un valor a un TAG en el GRUPO especificado.
exiftool -[GROUP:]TAG=VALUE imagen.jpg
Con estos comandos ya podríamos gestionar todos los metadatos de las imágenes. Si quieres saber más sobre los tags y grupos disponibles para gestionarlos como cada uno quiera, puedes obtener más información en esta página web. Otra forma de ver más opciones del comando exiftool será utilizando la ayuda de man en nuestro sistema operativo.
Más ejemplos para la gestión de metadatos
A continuación vamos a ver algunos ejemplos para ver como gestionar los metadatos:
Para añadir o modificar las coordenadas GPS a una fotografía, tendríamos que escribir algo como lo que sigue:
exiftool -exif:gpslatitude="27 33" -exif:gpslatituderef=S -exif:gpslongitude="165 130" -exif:gpslongituderef=E fotografia.jpg
Etiquetado condicional con la opción -if. Esto significa que podrás modificar una serie de metadatos si cumple una condición, por ejemplo:
exiftool -alldates+=1 -if '$CreateDate ge "2017:11:02"' DIRECTORIO-IMAGENES
Modificará la hora de las imágenes de DIRECTORIO-IMAGENES. A estas se le añadirá 1 hora si han sido creadas después del 2 de Noviembre de 2017, y solo a esas imágenes. La opción -alldates es un alias para todas las marcas de tiempo que puedes encontrar en un archivo jpeg (Datetimeoriginal, CreateDate y ModifyDate). Puedes aprender acerca de estas y otras opciones de exiftool en esta página.
La condición -if es genérica, eso significa que puedes utilizarla como quieras siempre que se respete la sintaxis de Perl. Puedes concatenar varias expresiones con -if en una llamada a exiftool si es necesario. Hay que recordar que los nombres de las etiquetas dentro de la condición deben de tener el prefijo “$”, como las variables en perl. Quién lo necesite podrá encontrar más ejemplos e ideas en esta web.
Otro de las grandes utilidades de Exiftool es que no tienes que volver a escribir los metadatos EXIF de una imagen. La opción-TagsFromFile copia todas las etiquetas del archivo especificado al archivo dado como argumento final. Por Ejemplo:
exiftool -TagsFromFile tagged-img-fuente.jpg untagged-img-destino.jpg
La opción-w por el contrario escribe los datos EXIF encontrados en una imagen en un archivo de texto. Si añades -htmlDump entonces los escribirá en un archivo HTML. Si lo que necesitas es exportar todos los metadatos a una base de datos, la mejor manera de hacerlo sería con el siguiente comando:
exiftool -t -S IMG-DIRECTORIO | grep -v ^====> img-tags-valores.txt
Puedes encontrar otro ejemplo de como se hace en este enlace.
Desinstalar exiftool
Para eliminar este programa de nuestro sistema operativo solo tendremos que abrir una terminal (Ctrl+Alt+T). En ella escribiremos la siguiente orden:
sudo apt remove libimage-exiftool-perl && sudo apt autoremove
El artículo ExifTool, lee o manipula los metadatos de tus archivos desde Ubuntu ha sido originalmente publicado en Ubunlog.