Photos et changement de date
Par JJL, dimanche 20 novembre 2005 à 22:50 :: kubuntu :: #37 :: rss
Gwenview est très bien pour regarder les photos. Son interface est très proche de l'autre truc que j'utilisait sous windows (vous savez un jeu de mots sur un groupe de rock ;)). De plus il permet en un petit click de faire pivoter une image. Cool comme ca on peux les redresser facilement.
Mais il y a un problème, quand on fait cela, la date du fichier change (ce qui en soit est normal, il a été modifié).
En cherchant un peu je suis tombé sur un bug qui concerne ce problème : Bug 108537. Super me dis-je c'est résolu !
Bon cela semble concerner les kipi-plugins[1], ni une ni deux, j'installe, je teste ... ca marche pas
En regardant un peu plus loin, je pense déceler d'ou ca viens. Ubuntu fournit la version 0.1.12 de la libkipi (en date du 07/02). Or le bug sus-nommé a été corrigé le 11/07 et sans doute livré dans la 0.1.2 du 06/10 (Voir sur Sourceforge)
Gasp ! J'ai donc deux solutions : je recompile la dernière version ou je me débrouille autrement ... faineantise aidant, je décide de scripter sauvagement !
Mon appareil photo insere dans les fichiers un certain nombre d'infos (c'est le format exif) Pourquoi ne pas essayer d'utiliser ces infos (qui contiennent la date) pour changer celle de mes fichiers ?
Donc avec quelques outils simples (bash, touch, ls, grep, cut, tr) et un autre bien utile (exif) voici un petit one-liner qui permet de changer la date des photos jpg par celle contenue dans les informations exif du dit fichier :

for i in *.JPG;
do
touch -m -t `exif -mi "$i"|grep -m 1 0x0132|cut -f2|cut -d ":" -f1-4|tr -d ": "` "$i";
ls -l "$i"
done
Bon, y'a aucune gestion d'erreur, mais si j'ai un peu de temps, j'en ferait un service menu pour Konqueror
Quelques lignes d'explications :
entre les `` on remplace par l'affichage de l'execution de - exif -mi : dump des infos exif du fichier avec les id (plutot que les noms de tag) et des separations par tabulation
- grep -m 1 0x0132 : recupération de la 1ere ligne contenant le tag 0x0132 (Date et heure, voir les specs exif 2.1 sur le site exif.org)
0x0132 2005:10:08 13:22:21 - cut -f2 : recup de la date (separateur implicite: tabulation)
2005:10:08 13:22:21 - cut -d ":" -f1-4 : on ne garde que YYYY:MM:DD HH:MM (pas besoin des secondes pour changer la date)
2005:10:08 13:22 - tr -d ": " : on supprime les : et espaces
200510081322
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.