Données exifs absentes lors d'un export JPG

Bonjour,

Je suis nouveau sur le forum, et j’utilise darktable depuis deux semaines avec la ferme intention de quitter l’emprise d’Adobe, et ma foi avec beaucoup de bonheur. Ce logiciel est vraiment excellent.

Cependant, je fais face à un problème rédhibitoire dans l’utilisation, aussi je cherche une solution que je n’ai pas encore trouvé : les données Exif de mes images sont absentes lors de l’export JPG.

Pour information, je convertis dès la sortie du boîtier mes RAW natifs en DNG (pas encore débarrassé d’Adobe…) et pour le moment toujours avec Lighroom sous windows.

Je travaille mes images, puis j’exporte en JPG 8b. Quoique je fasse, les métadonnées ont disparues. J’ai vérifié le contenu des fichiers avec exiv2, celui-ci reste désespérément vide (« No Exif data found in the file »). J’ai installé la dernière version (2.0.6) car il est fait mention d’une modification sur les métadata des JPG, rien n’y fait.

J’ai absolument besoin de ces données dans mon workflow…

Quelqu’un aurait-il une solution, avec dartktable ? Je souhaite éviter de passer par une solution en ligne de commande avec exiv2, c’est un peu lourd et un pas en arrière par rapport à lightroom, ce serait vraiment dommage..

Merci

Bonjour,

As tu essayé d’ouvrir un raw directement sous Darktable et de l’exporter en jpeg? As tu les données EXIF?

Es tu sous Linux?

Bonjour,

Je viens de faire le test sur un CR2 directement : j’ai bien les exif dans le jpg. Et oui, je suis désormais sous Linux (je dis désormais, car le seul frein au passage au libre était mon utilisation intensive de Lightroom)

J’en déduis que le problème vient du DNG. C’est très embêtant, car je convertis toutes mes images en DNG afin d’assurer au maximum leur pérennité dans le temps. Par ailleurs, j’ai passé les 2 dernières semaines à apprendre à utiliser darktable en travaillant sur une grosse série, j’ai beaucoup de mal à croire que ce travail soit perdu…

Existe-il une solution ?

J’ai trouvé le bug 11130 sur un sujet similaire, mais il est « résolu » https://redmine.darktable.org/issues/11130

Je ne suis pas parvenu à en ouvrir un nouveau, je n’arrive pas à ouvrir de compte sur le redmine de darktable.

J’ai aussi trouvé ceci : https://www.exiv2.org/issues/1221

Pour autant, je ne sais pas comment m’en sortir avec mes quelques 35000 DNG plus la série que je viens de terminer…

Si quelqu’un sait comment « nettoyer » les exif d’une série de DNG, je suis preneur

Merci

Le bug est marqué résolu parce qu’une correction a été portée sur la branche master et sera livrée avec la prochaine version apparemment.

Il reste à attendre sa sortie pour voir si c’est corrigé, je le crains… :-/

Merci.

Cependant à la lecture du tracker, j’ai un doute sur le fait qu’une correction soit apportée, j’ai l’impression que c’est exiv2 qui va le corriger… Vivement le fix pour être…fixé

Quand je fais un « exiv2 pr -pa _40A3360.dng » , c’est clair, vu ce qui s’affiche, que j’explose la barre des 64ko vu les données présentes (calibrations, etc…)

Concernant les photos déjà traitées, tu ne pourras pas récupérer les EXIFs dans ton DNG, sauf à régénérer le DNG quand exiv2 aura corrigé le bug… (Question : avec quoi as-tu généré les DNG ?)

Aujourd’hui, pour te tirer de ce mauvais pas, tu peux écrire un petit script bash qui fait l’export/import des EXIFs en boucle, l’écriture + le traitement ne devraient pas prendre plus d’une ou deux heures. Si tu ne sais pas faire, mets moi quelques fichiers CR2 + JPEG à disposition sur un dropbox, wetransfer, ou autre, je te préparerai ça.

Concernant la conversion en DNG : il y a pas mal de littérature là dessus et j’ai cru comprendre que ça ne pérennisait pas plus que ça les fichiers CR2, NEF, RAF, ou autres. Le choix du DNG s’imposerait uniquement si le boîtier est capable de les produire nativement. De toute façon les auteurs des papiers sur le sujet disent tous : « Gardez vos fichiers raw d’origine, on ne sait jamais… ». Enfin j’ai cru comprendre également que les DNG non natifs embarquent une copie complète du fichier raw. Finalement, le fichier CR2 d’origine + le DNG qui contient la copie du CR2… Tu vas faire le bonheur des fabricants de disques :wink:

Bonjour,

Merci pour ce retour.

J’ai généré mes DNG avec … Lightroom 5.0. Passer tout sous GNU/linux et tester à fond darktable, ça fait beaucoup en quinze jours :wink: D’autant que je n’y suis pas encore parvenu a générer mes DNG sous GNU/linux. Je suis sous Ubuntu 16.04, et quand j’essaye avec Digikam, ça plante et me renvoie vers un sombre problème KDE. Bref, Rome ne s’est pas fait en un jour, mon flux photo sous Linux attendra un peu.

Quand j’importe en convertissant sous Lightroom, je n’ajoute que des métadata copyright+auteur.

Ensuite, je les travaille sous darktable, et pour le moment je n’ai ajouté que la géolocalisation (à la main).

Sur le débat DNG vs native raw, et bien il y a débat justement, mais j’ai tranché la question il y a quelques années. En une dizaine d’année de photo numérique, j’ai des raw issus de 6-7 boîtiers différents. En ayant tout en DNG, j’aurais la possibilité un jour de tous les récupérer avec une seule et même moulinette ce qui est beaucoup moins sûr avec les raws natifs, en raison notamment des efforts à faire pour supporter une grande variété de formats.

Je ne suis pas héritier de Samsung, Toshiba ni Hitachi, aussi je ne conserve pas mes RAW natifs, ni ne les embarque dans mes DNG. J’ai plus de 500GB d’images DNG, correctement backupées, ça commence à chiffrer.

Il y a un commentaire qui m’échappe dans ta réponse : en quoi une future version de exiv2 m’imposerait de régénérer mes DNG ? J’ai cru comprendre que cette future version permettra de faire sauter la limitation des 64KB dans les jpg, aussi mes DNG ne bougeront pas non ?

Merci pour la proposition de script, je ne sais pas encore les générer cependant avant de faire appel à ton aide généreuse, j’aimerais essayer de traiter un fichier moi-même avec exiv2 en ligne de commande afin de comprendre.

D’ailleurs, je ne comprends pas tout :wink:

Il faut que j’extraie les métadonnées dans un fichier avec exiv2, que je les filtre, puis que je les réintègre .

Cependant : que dois-je filtrer ? dans quoi les extraire ? (j’ai déjà des fichier XMP générés par dartkable avec mes réglages…) Est ce que je les réintègre dans le DNG ou dans un XMP que darktable peut utiliser lors de l’extract ?

Mon objectif est de conserver une bonne partie des métadonnées « natives » comme l’heure de prise de vue, objectif, sensi etc… et ajouter la géolocalisation de darktable. J’ai aussi peur de virer des données importantes comme les calibrations de l’appareil.

Ensuite, je compte utiliser digikam (que j’ai a peine testé) pour gérer ma collection, mes exports en JPG « diffusables » (watermark etc…) et ma galerie internet.

Merci !

Il y a une manip qui permet d’utiliser le convertisseur dng d’Adobe sous Linux avec Wine (pas testée…) d’autres pourront t’en parler ici.

Autant pour moi, j’avais compris que c’était la conversion qui n’avait pas embarqué les EXIFs, mais non, c’est juste exiv2 qui ne sais pas les lire, désolé. Effectivement, tu ne devras pas régénérer tes DNG, il faut juste attendre que DT dispose de la bonne version d’Exiv2.

Facile, tu ouvres une console. Dans cette console, tu tapes une commande cd pour te placer dans le dossier ad hoc (Pour vérifier le contenu du dossier utiliser ls). Puis tu tapes la commande exiv2 monfichierraw.cr2. Tu devrais obtenir les méta-données à l’écran. Cependant, si Exiv2 ne fonctionne pas dans DT, il ne fonctionnera pas non plus en ligne de commande, non ? Dans ce cas essaye avec exiftool qui est une autre commande de manipulation des données EXIFs.

Ça c’est à toi de le décider. Tu extraies les données dont tu as besoin, ça doit suffire.

C’est le script qui se chargera de ça. Le faire à la main est un peu compliqué. Pour voir comment (ne pas) faire, tapes man exiv2 ou man exiftool dans une console. Le mieux est de les intégrer directement dans le JPEG. Il ne faut jamais tripoter les raws, c’est trop dangereux. Les XMP, à ma connaissance ne contiennent pas de méta-données, sauf très probablement (je n’ai pas vérifié), celles ajoutées par DT (le module métadonnées de la table lumineuse)

Ben tu vois, tu sais à peu près ce que tu veux garder :wink:

Pas la peine, tu peux faire tout ça avec DT !!!

[quote quote=3583]

Il y a une manip qui permet d’utiliser le convertisseur dng d’Adobe sous Linux avec Wine (pas testée…) d’autres pourront t’en parler ici.

=> J’avais ça en tête en dernier recours

Cependant, si Exiv2 ne fonctionne pas dans DT, il ne fonctionnera pas non plus en ligne de commande, non ? Dans ce cas essaye avec exiftool qui est une autre commande de manipulation des données EXIFs.

=> Je pense qu’Exiv2 fonctionne , mais génère une erreur qui n’est pas interceptée par DT. C’est probablement en raison d’une taille trop grosse de métadata à intégrer dans un JPG. Ceci étant c’est pareil si j’exporte en TIFF…

Si je comprends bien, je ne touche pas mon DNG (ouf), et je recopie les métadatas du DNG dans le JPG avec exiv2. En revanche, je vais perdre les quelques métadonnées de DT, comme la géolocalisation. Un script me permettrait de l’automatiser une fois que j’ai les bonnes commandes exiv2 ?

[quote]
pierred wrote:
Ensuite, je compte utiliser digikam (que j’ai a peine testé) pour gérer ma collection, mes exports en JPG “diffusables” (watermark etc…) et ma galerie internet. Merci ![/quote]
Pas la peine, tu peux faire tout ça avec DT !!! [/quote]

=> pour les watermark j’ai trouvé, en plus on peut faire des choses tiptop avec un .svg (encore un terrain ou DT fait mieux que lightroom). En revanche, je n’ai pas trouvé pour la gallerie web, et j’aime bien l’idée de la base de donnée mySQL pour faire un site web plus tard…

(désolé je n’ai pas bien compris le système des quotes…)

[quote quote=3595]Si je comprends bien, je ne touche pas mon DNG (ouf), et je recopie les métadatas du DNG dans le JPG avec exiv2. En revanche, je vais perdre les quelques métadonnées de DT, comme la géolocalisation ? [/quote] Non, pas du tout. car, comme je te le disais, les méta-données produites par DT sont déjà dans le JPEG. Les méta-données ne sont pas copiées en bloc, mais champ par champ. La copie de celles provenant du DNG ne touchera donc qu’à celles dont tu as besoin, qui ne sont pas déjà dans le JPG.
J’ai vérifié, celles produites par l’éditeur de méta-données de DT sont bien dans le XMP. Je ne sais pas, par contre si on peut ajouter dans le XMP des méta-données non prises en charge par l’éditeur, qui seraient utilisées pour enrichir le JPEG lors d’un export. À vrai dire, j’en doute…

[quote quote=3595]Un script me permettrait de l’automatiser une fois que j’ai les bonnes commandes exiv2 ?[/quote]Oui, c’est tout à fait ça.

Concernant les quotes, j’utilise le mode texte de l’éditeur. Ça fonctionne beaucoup mieux pour cet usage, mais ne t’inquiète pas, j’ai réussi à lire :wink:

J’ai (je pense) eu le même problème.

Si je convertis mes CR2 en dng avec wine + adobe dng converter :

  • les exifs du fichier dng sont reconnus par exiv2 et Darktable
  • les jpg exportés par darktable ne contiennent aucuns exifs

La commande

exiftool -TagsFromFile image.dng image.jpg

copie les exifs dans le jpg, ils sont ensuite reconnus par exiv2. C’est peut-être plus simple que de copier les champs un par un. Je n’ai pas beaucoup d’images concernées alors je n’ai pas fait de script.

Depuis j’ai lu que ce n’était pas forcément une bonne idée de convertir les fichiers en dng alors j’ai arrêté…

Bonjour et merci beaucoup pour vos retours, c’est très appréciable. Ceux-ci m’ont permis de faire des progrès, j’y suis presque !

Après avoir galéré pour trouver les bonnes options avec exiv2, je suis passé à exiftool sur les conseils de Melja.

En tapant :

exiftool -TagsFromFile _40A3360.dng _40A3360.jpg

je recopie mes exifs !

Reste à récupérer les coordonnées GPS que j’ai intégré avec darktable, et qui sont dans un fichier .xmp :

exiftool -TagsFromFile _40A3360.dng.xmp -GPSLatitude _40A3360.jpg -GPS

exiftool -TagsFromFile _40A3360.dng.xmp -GPSLongitude _40A3360.jpg -GPS

Et ça fonctionne … presque puisque quand je vérifie avec digikam par exemple, je pense que j’ai un problème de format.

Dans mon XMP, les coordonnées darktable sont notées comme ceci :

exif:GPSLongitude=« 1,43.979480W »
exif:GPSLatitude=« 48,10.607529N »

lorsque je fais un : exiv2 pr -pa _40A3360.jpg

J’ai ceci :

Exif.GPSInfo.GPSLatitude Rational 3 48deg 10’ 36.452"
Exif.GPSInfo.GPSLongitude Rational 3 1deg 43’ 58.769"

Je ne sais pas où c’est, mais pas à coté de Rennes ou je me trouvais…

Quelqu’un aurait-il une idée de la bonne syntaxe ? Et comment faire pour « batcher » sur tout un répertoire qui contiendrait :

le dng : img1234.dng

le xmp : img1234.dng.xmp

le jpg : img1234.jpg

Merci beaucoup !

La minute scientifique :
Un degré peut être écrit en valeurs décimales, ou être divisé en minutes d’arcs (1 min = 1°/60) et secondes d’arcs (1 s = 1 min/60)

Dans ton xmp : 1,43.979480 = 1° + 43.979480 min
Dans ton jpg : 1deg 43′ 58.769″ = 1° + 43 min + 58.769 s
et 43.979480 min = 43 + 58.769 / 60, donc c’est la même chose

Par contre il manque l’orientation « N » et « W » dans ton jpg, tu peux essayer de recopier les tags -GPSLongitudeRef et -GPSLatitudeRef en plus de -GPSLongitude et -GPSLatitude (ou peut-être qu’ils sont déjà renseignés). Ensuite normalement les logiciels sont capables de comprendre tous les formats.

Sinon tu peux essayer de modifier le format d’écriture des coordonnées GPS lors de la copie : http://www.sno.phy.queensu.ca/~phil/exiftool/faq.html#Q14

Merci.

En ajoutant la copie des tags GPSLatitudeRef et GPSLongitudeRef, je récupère bien les hémisphères, de sorte que j’ai désormais ceci dans mon jpg :

Exif.GPSInfo.GPSLatitudeRef Ascii 2 North
Exif.GPSInfo.GPSLatitude Rational 3 48deg 10’ 36.452"
Exif.GPSInfo.GPSLongitudeRef Ascii 2 West
Exif.GPSInfo.GPSLongitude Rational 3 1deg 43’ 58.769"

Cependant, quand je le ré-ouvre avec digikam (après avoir pris soin de rafraîchir les données etc…), celui ci affiche bien le coordonnées, mais avec un formalisme différent ( celui ci-dessus) de mes autres fichiers géotaggués avec lightroom (qui sont taggués comme mon fichier xmp). Peut importe me direz vous, sauf qu’il m’est impossible d’afficher cette image sur la carte. J’ai l’impression que le format des coordonnées géographiques n’est pas reconnu…

J’ai donc essayé de modifier le format d’écriture :

exiftool -TagsFromFile _40A3360.dng.xmp -n -GPSLatitude _40A3360.jpg -GPS

sans succès. Rien n’y fait, et j’ai déplacé le « -n » un peu partout dans la ligne…

Une idée ?

Merci

En principe, pour toutes les commandes du monde Unix/Linux, l’ordre des paramètres n’a pas d’importance, sauf pour la répartition options/arguments. Les options venant toujours devant. Ça donne la séquence : commande options arguments. Les options sont, par exemple ton -n qui modifie le fonctionnement de la commande. Les arguments sont les fichiers sur lesquels la commande travaille

Que te renvoie la commande

exiftool -g1 -gps* -a image.jpg

?

Je ne parle peut-être pas de la même chose mais mes .dng (issus de mon K5) rendent leurs exifs une fois exportés en Jpeg!? J’ai tapé à coté?..

Oui, juste un peu à coté :wink: Il s’agit ici de DNG produits par la conversion de fichier CR2, pas de DNG natifs comme ceux de ton Pentax

Bonjour à tous,

Melja, la commande me renvoie :

---- GPS ----
GPS Version ID : 2.3.0.0
GPS Latitude Ref : North
GPS Latitude : 48 deg 10’ 36.45"
GPS Longitude Ref : West
GPS Longitude : 1 deg 43’ 58.77"
---- Composite ----
GPS Latitude : 48 deg 10’ 36.45" N
GPS Longitude : 1 deg 43’ 58.77" W
GPS Position : 48 deg 10’ 36.45" N, 1 deg 43’ 58.77" W

Il s’agit bien de la position depuis laquelle j’ai pris ma photo, précisément.

Je ne trouve pas de doc sur digikam qui explique quels sont les formats de exif GPS compatibles.

Carafife : je pense qu’il y a une limitation de la taille max des métadata embarquables dans un jpg de 64ko. Cependant, la norme a évolué et on pourrait aller au delà. exiv2, dont darktable utilise la librairie, n’est pas encore à jour de cette norme (un feature request est ouvert), mais visiblement exiftool est à jour. Il est probable que ton Pentax embarque moins de 64ko de données, là où mon Canon franchit la barre (j’imagine qu’il transmet des données de calibration, sur le capteur etc…). Et merci beaucoup pour tes tutoriels sans lesquels je serais peut être déjà revenu aux logiciels privateurs.

Je vais être absent quelques jours, je tâcherais de mettre mes temps morts à profit pour chercher encore de la doc…

Bon bah désolée là je sèche. Tout m’a l’air normal… J’ai testé chez moi la même procédure sur un « dng cassé » et ça fonctionne… Tu as bien actualisé les métadonnées ? Tu peux peut-être vérifier en copiant/renommant ton jpg et en le réimportant dans digikam sous ce nouveau nom.