jueves, 25 de junio de 2015

Escritura de etiquetas EXIF

El nuevo servicio de Google Photos permite realizar una copia de seguridad de las imágenes de nuestro móvil de forma automática. Desde la misma pagina web también se pueden subir fotos antiguas o bien imágenes que nos envían por mensajería y no están incluidas en la copia de seguridad.

Una vez en Google Photos, las imágenes se ordenan por la fecha y la hora que se tomaron. La información que usa para ordenarlas es la etiqueta EXIF que incluyen las imágenes y no el nombre de la imagen. Si las imágenes no tienen información EXIF, se ordenaran según el día en que fueron subidas a Google Photos. Esto puede pasar cuando se envían fotos por algún programa de mensajería o si se han eliminado las etiquetas EXIF.


Para que se ordenen usando la fecha que fueron tomadas, antes de subir manualmente las fotos se han de añadir la fecha y la hora en que fueron tomadas, pero hacerlo manualmente es tedioso. Para aligerar el proceso se puede usar el siguiente script en BASH desde GNU/LINUX que añade la información EXIF a las imágenes a partir del nombre de la imagen.
Si las imágenes no siguen el formato usado por la cámara de Android (IMG_YYYYMMDD_hhmmss.jpg ) se han de renombrar a mano antes de usar el script.
Una vez finalizado el proceso, ya se pueden subir las imágenes y Google Photos las ordenara por fecha y hora automáticamente.


#!/bin/sh
#exiftool -AllDates='2015:02:23 09:10:11' -overwrite_original IMG_20150223_091011.jpg

for file in *
do
    if [ "${file##*.}" == "jpg" ]
    then
        echo "-------"
        echo "file: ${file}"
        #Crea un array con el nombre del archivo usando '_'
        IFS='_' read -a array <<< ${file}

        #FILE_NAME="${array[0]}"
        FILE_DATE="${array[1]}"
        FILE_TIME_EXT="${array[2]}"
        FILE_TIME=${FILE_TIME_EXT%.*} #Elimina la extension del archivo
        DATE=${FILE_DATE:0:4}:${FILE_DATE:4:2}:${FILE_DATE:6:2}
        TIME=${FILE_TIME:0:2}:${FILE_TIME:2:2}:${FILE_TIME:4:2}

        # Sobreescribe todas las etiquetas EXIF del archivo
        exiftool -AllDates="$DATE $TIME" -overwrite_original ${file}
    fi
done

No hay comentarios:

Publicar un comentario