[Mac] AppleScript pour modifier nom d'objectif dans les EXIF
Publié : Dim 20 Nov 2011 20:03
Salut à tous !
Alors après m'être pas mal creusé la tête, j'ai enfin une manière simple de modifier le nom d'un objectif dans les EXIF de mes photos !
Si certains se sont déjà penchés sur la question, ils seront vite tombés sur la très bonne application ExifTool, disponible sous Mac et PC. Cette application permet de changer quasiment toutes les données Exif mais elle a un gros inconvenant : c'est une application en ligne de commande ! Aucune interface hormis celle du terminal ...
Mais, pourquoi modifier ce nom ?
Dans les Exif des fichiers photo .arw ou .jpeg issus des appareils Sony, il y a deux champs renseignant l'objectif utilisé. Ces champs sont appelés "Tags" : il y a le Tag LensType et le Tag LensID.
Le LensType est le Tag le plus important car c'est celui utilisé par les logiciels tels que iPhoto, Aperture, DxO ou LightRoom pour indiquer quel objectif a été utilisé. Le Tag prend la forme d'un texte visible, tels que Minolta AF 100mm F2.8 Macro [New], mais il y a un code associé. Pour le Minolta AF 100mm F2.8 Macro [New], le code est : 2581.
Le Tag LensID se contente de reprendre la dénomination de l'objectif issu du LensType. Il ne semble pas être utilisé par aucun logiciel, il n'est pas vraiment intéressant pour ce que l'on veut.
_______________________________________________________________________________________________________________________
On va maintenant prendre l'exemple d'une photo réalisée avec un Sigma AF 105mm F2.8 EX [DG] Macro.
Il faut savoir que les objectifs de marque tierce tels que Sigma ou Tamron utilisent des codes pour le Tag LensType issu des objectifs Sony/Minolta, avec pour certains des décimales. Ainsi, le Sigma AF 105mm F2.8 EX [DG] Macro utilise plusieurs code :
- le code 25, correspondant à : Minolta AF 100-300mm F4.5-5.6 APO (D) or Sigma Lens
- le code 2581.2, dérivé du Minolta AF 100mm F2.8 Macro [New] dont le code est 2581.
Tout les objectifs référencés dans les Exif des fichiers Sony avec leur code sont disponibles ici : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Sony.html#LensType
Lorsqu'on lit les Exif de la photo avec Exiftool, on obtient ceci :

Les Exif nous indiquent que la photo a soit été prise avec un Minolta AF 100-300mm F4.5-5.6 APO (D) soit avec un objectif Sigma. Si on essaye de modifier le Tag LensType avec Exiftool, en indiquant directement le nom Sigma AF 105mm F2.8 EX [DG] Macro, on obtient ceci :


Les deux Tag, LensType et LensID, ont maintenant changé : LensType indique maintenant que la photo a été prise avec un Minolta AF 100mm F2.8 Macro ou un objectif Sigma ou un objectif Tamron. LensID nous indique qu'elle a été prise avec un Sigma AF 105mm F2.8 EX [DG] Macro. Le résultat est le même si on essaie de rentrer la valeur numérique, le code 2581.2 (code du Sigma AF 105mm F2.8 EX [DG] Macro), avec la commande -n.
Le Tag LensType que l'on veut modifier n'est donc toujours pas bon. Inutile d'essayer de modifier le Tag LensID, ce n'est pas possible et de toute façon ce Tag n'est pas utilisé.
Il ne reste alors qu'une solution, et c'est celle proposée par le script que je mets à votre disposition : créer un nouveau Tag !
Et oui, cela est possible, on peut créer un nouveau Tag dans les Exif. On va donc créer un Tag nommé Lens.
Voici se qui se passe quand on créer le Tag avec Exiftool :


On voit sur la deuxième capture d'écran qu'un nouveau Tag est apparu, le Tag Lens qui indique Sigma AF 105mm F2.8 EX [DG] Macro. Et bien magie (ou pas), c'est ce nouveau Tag qui va être utilisé dans iPhoto, Aperture, Aperçu ou LightRoom ! Il n'est par contre pas utilisé par DxO.
En conclusion : il n'est pas possible de réellement modifier le modèle d'objectif dans une photo et que cela devienne pleinement exploitable (avec les corrections d'optique dans DxO notamment). On va en quelque sorte tricher, en créant un nouveau Tag qui sera pris en compte pour afficher le nom de l'objectif.
J'espère avoir été assez complet et assez clair
Si vous voulez plus d'infos concernant les Tags et les valeurs contenus dans les Exif des photos issues d'appareils Sony : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Sony.html
_______________________________________________________________________________________________________________________
Comme dis plus haut, le logiciel Exiftool est en ligne de commande se qui n'est pas forcement pratique et à la porté de tous. Il est heureusement possible de le combiner avec un AppleScript généré par Automator pour avoir un minimum d'interface et pour pouvoir éditer plusieurs fichiers en même temps !
Très important : pour pouvoir utiliser se script, il faut que vous ayez au préalable installé ExifTool sur votre Mac ! Vous pouvez le trouver à cette adresse : http://www.sno.phy.queensu.ca/~phil/exiftool/
Le lien pour obtenir le script : https://rapidshare.com/files/409026483/AppleScript_Exif.app.zip
(le lien à une limite de validité dans le temps s'il n'est pas téléchargé pendant une période. N'hésitez à m'envoyer un mp pour que je puisse le re-uploader)
Nouveautés 13/12/11 : plus compréhensible au moment de rentrer le nom de l'objectif et nouvelle icône.
Le script fonctionne avec les versions 8.71 et 8.72 d'Exiftool, je n'ai pas pu tester avec les versions précédentes.
Le script fonctionne sur OSX 10.7.X Lion, je n'ai pas pu le tester sous 10.6 Snow Leopard ou 10.5 Leopard. Si jamais il ne marche pas avec ces versions, n'hésitez pas à m'envoyer un mp. Je pourrais vous fournir le code du script pour que vous puissiez le développer avec Automator (c'est assez simple) ; en retour, envoyez-moi la version compatible, que je puisse l'uploader et la proposer sur se fil.
La modification du nom de l'objectif avec le nouveau Tag est prise en compte dans Aperçu, iPhoto, Aperture, LightRoom. Ce n'est pas pris en compte avec DxO.
_______________________________________________________________________________________________________________________
Présentation et utilisation en vidéo !
_______________________________________________________________________________________________________________________
Rappel !
Pour éviter toute erreur, je vous indique de nouveau la manière de rentrer le nom de l'objectif quand l'application vous le demande.
En reprenant l'exemple du Sigma 105 Macro, il faut inscrire le texte suivant :
Voilà j'espère que ça vous aura été utile !
Alors après m'être pas mal creusé la tête, j'ai enfin une manière simple de modifier le nom d'un objectif dans les EXIF de mes photos !

Si certains se sont déjà penchés sur la question, ils seront vite tombés sur la très bonne application ExifTool, disponible sous Mac et PC. Cette application permet de changer quasiment toutes les données Exif mais elle a un gros inconvenant : c'est une application en ligne de commande ! Aucune interface hormis celle du terminal ...
Mais, pourquoi modifier ce nom ?

Dans les Exif des fichiers photo .arw ou .jpeg issus des appareils Sony, il y a deux champs renseignant l'objectif utilisé. Ces champs sont appelés "Tags" : il y a le Tag LensType et le Tag LensID.
Le LensType est le Tag le plus important car c'est celui utilisé par les logiciels tels que iPhoto, Aperture, DxO ou LightRoom pour indiquer quel objectif a été utilisé. Le Tag prend la forme d'un texte visible, tels que Minolta AF 100mm F2.8 Macro [New], mais il y a un code associé. Pour le Minolta AF 100mm F2.8 Macro [New], le code est : 2581.
Le Tag LensID se contente de reprendre la dénomination de l'objectif issu du LensType. Il ne semble pas être utilisé par aucun logiciel, il n'est pas vraiment intéressant pour ce que l'on veut.
_______________________________________________________________________________________________________________________
On va maintenant prendre l'exemple d'une photo réalisée avec un Sigma AF 105mm F2.8 EX [DG] Macro.
Il faut savoir que les objectifs de marque tierce tels que Sigma ou Tamron utilisent des codes pour le Tag LensType issu des objectifs Sony/Minolta, avec pour certains des décimales. Ainsi, le Sigma AF 105mm F2.8 EX [DG] Macro utilise plusieurs code :
- le code 25, correspondant à : Minolta AF 100-300mm F4.5-5.6 APO (D) or Sigma Lens
- le code 2581.2, dérivé du Minolta AF 100mm F2.8 Macro [New] dont le code est 2581.
Tout les objectifs référencés dans les Exif des fichiers Sony avec leur code sont disponibles ici : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Sony.html#LensType
Lorsqu'on lit les Exif de la photo avec Exiftool, on obtient ceci :

Les Exif nous indiquent que la photo a soit été prise avec un Minolta AF 100-300mm F4.5-5.6 APO (D) soit avec un objectif Sigma. Si on essaye de modifier le Tag LensType avec Exiftool, en indiquant directement le nom Sigma AF 105mm F2.8 EX [DG] Macro, on obtient ceci :


Les deux Tag, LensType et LensID, ont maintenant changé : LensType indique maintenant que la photo a été prise avec un Minolta AF 100mm F2.8 Macro ou un objectif Sigma ou un objectif Tamron. LensID nous indique qu'elle a été prise avec un Sigma AF 105mm F2.8 EX [DG] Macro. Le résultat est le même si on essaie de rentrer la valeur numérique, le code 2581.2 (code du Sigma AF 105mm F2.8 EX [DG] Macro), avec la commande -n.
Le Tag LensType que l'on veut modifier n'est donc toujours pas bon. Inutile d'essayer de modifier le Tag LensID, ce n'est pas possible et de toute façon ce Tag n'est pas utilisé.
Il ne reste alors qu'une solution, et c'est celle proposée par le script que je mets à votre disposition : créer un nouveau Tag !
Et oui, cela est possible, on peut créer un nouveau Tag dans les Exif. On va donc créer un Tag nommé Lens.
Voici se qui se passe quand on créer le Tag avec Exiftool :


On voit sur la deuxième capture d'écran qu'un nouveau Tag est apparu, le Tag Lens qui indique Sigma AF 105mm F2.8 EX [DG] Macro. Et bien magie (ou pas), c'est ce nouveau Tag qui va être utilisé dans iPhoto, Aperture, Aperçu ou LightRoom ! Il n'est par contre pas utilisé par DxO.
En conclusion : il n'est pas possible de réellement modifier le modèle d'objectif dans une photo et que cela devienne pleinement exploitable (avec les corrections d'optique dans DxO notamment). On va en quelque sorte tricher, en créant un nouveau Tag qui sera pris en compte pour afficher le nom de l'objectif.
J'espère avoir été assez complet et assez clair

Si vous voulez plus d'infos concernant les Tags et les valeurs contenus dans les Exif des photos issues d'appareils Sony : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Sony.html
_______________________________________________________________________________________________________________________
Comme dis plus haut, le logiciel Exiftool est en ligne de commande se qui n'est pas forcement pratique et à la porté de tous. Il est heureusement possible de le combiner avec un AppleScript généré par Automator pour avoir un minimum d'interface et pour pouvoir éditer plusieurs fichiers en même temps !
Très important : pour pouvoir utiliser se script, il faut que vous ayez au préalable installé ExifTool sur votre Mac ! Vous pouvez le trouver à cette adresse : http://www.sno.phy.queensu.ca/~phil/exiftool/
Le lien pour obtenir le script : https://rapidshare.com/files/409026483/AppleScript_Exif.app.zip
(le lien à une limite de validité dans le temps s'il n'est pas téléchargé pendant une période. N'hésitez à m'envoyer un mp pour que je puisse le re-uploader)
Nouveautés 13/12/11 : plus compréhensible au moment de rentrer le nom de l'objectif et nouvelle icône.
Le script fonctionne avec les versions 8.71 et 8.72 d'Exiftool, je n'ai pas pu tester avec les versions précédentes.
Le script fonctionne sur OSX 10.7.X Lion, je n'ai pas pu le tester sous 10.6 Snow Leopard ou 10.5 Leopard. Si jamais il ne marche pas avec ces versions, n'hésitez pas à m'envoyer un mp. Je pourrais vous fournir le code du script pour que vous puissiez le développer avec Automator (c'est assez simple) ; en retour, envoyez-moi la version compatible, que je puisse l'uploader et la proposer sur se fil.
La modification du nom de l'objectif avec le nouveau Tag est prise en compte dans Aperçu, iPhoto, Aperture, LightRoom. Ce n'est pas pris en compte avec DxO.
_______________________________________________________________________________________________________________________
Présentation et utilisation en vidéo !
phpBB [media]
_______________________________________________________________________________________________________________________
Rappel !
Pour éviter toute erreur, je vous indique de nouveau la manière de rentrer le nom de l'objectif quand l'application vous le demande.
En reprenant l'exemple du Sigma 105 Macro, il faut inscrire le texte suivant :
Code : Tout sélectionner
{"Sigma AF 105mm F2.8 EX [DG] Macro"}
Voilà j'espère que ça vous aura été utile !
