Hello tout le monde,
Malheureusement les descriptions sur les photos sont écrites à différents endroits en fonction des logiciels, il n'y a pas vraiment de standard.
Darktable n'écrit malheureusement pas les commentaires dans un tag IPTC ou EXIF de l'image comme c'est le cas de Digikam notamment. Darktable écrit dans un fichier à part, dans un fichier *. xmp qui ressemble à un fichier au format xml :
Code :
- $ cat 20220901_082414.jpg.xmp
- <?xml version="1.0" encoding="UTF-8"?>
- <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0-Exiv2">
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdf:Description rdf:about=""
- xmlns:exif="http://ns.adobe.com/exif/1.0/"
- xmlns:xmp="http://ns.adobe.com/xap/1.0/"
- xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
- xmlns:darktable="http://darktable.sf.net/"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- exif:DateTimeOriginal="2022:09:01 08:24:14"
- xmp:Rating="1"
- xmpMM:DerivedFrom="20220901_082414.jpg"
- darktable:import_timestamp="1662759265"
- darktable:change_timestamp="-1"
- darktable:export_timestamp="-1"
- darktable:print_timestamp="-1"
- darktable:xmp_version="4"
- darktable:raw_params="0"
- darktable:auto_presets_applied="0"
- darktable:history_end="0"
- darktable:iop_order_version="2">
- <darktable:masks_history>
- <rdf:Seq/>
- </darktable:masks_history>
- <darktable:history>
- <rdf:Seq/>
- </darktable:history>
- <dc:title>
- <rdf:Alt>
- <rdf:li xml:lang="x-default">titre darktable</rdf:li>
- </rdf:Alt>
- </dc:title>
- <dc:description>
- <rdf:Alt>
- <rdf:li xml:lang="x-default">description darktable</rdf:li>
- </rdf:Alt>
- </dc:description>
- </rdf:Description>
- </rdf:RDF>
- </x:xmpmeta>
|
Avec la commande exiv2, j'ai réussi à reprendre l'ensemble des informations du xmp et à le copier dans le fichier jpeg avec la commande que j'ai trouvé en exemple :
Code :
- exiv2 -iixX 20220901_082414.jpg
|
Et on peut voir ainsi les tag xmp dans le fichier JPEG :
Code :
- $ exiv2 -pa 20220901_082414.jpg
- Exif.Image.Model Ascii 9 SM-A035F
- Exif.Image.Orientation Short 1 right, top
- Exif.Image.DateTime Ascii 20 2022:09:01 08:24:14
- Exif.Image.ExifTag Long 1 111
- Exif.Photo.DateTimeDigitized Ascii 20 2022:09:01 08:24:14
- Exif.Photo.DateTimeOriginal Ascii 20 2022:09:01 08:24:14
- Exif.Image.Make Ascii 8 samsung
- Xmp.exif.DateTimeOriginal XmpText 19 2022:09:01 08:24:14
- Xmp.xmp.Rating XmpText 1 1
- Xmp.xmpMM.DerivedFrom XmpText 19 20220901_082414.jpg
- Xmp.darktable.import_timestamp XmpText 10 1662759265
- Xmp.darktable.change_timestamp XmpText 2 -1
- Xmp.darktable.export_timestamp XmpText 2 -1
- Xmp.darktable.print_timestamp XmpText 2 -1
- Xmp.darktable.xmp_version XmpText 1 4
- Xmp.darktable.raw_params XmpText 1 0
- Xmp.darktable.auto_presets_applied XmpText 1 0
- Xmp.darktable.history_end XmpText 1 0
- Xmp.darktable.iop_order_version XmpText 1 2
- Xmp.darktable.masks_history XmpSeq 0
- Xmp.darktable.history XmpSeq 0
- Xmp.dc.title LangAlt 1 lang="x-default" titre darktable
- Xmp.dc.description LangAlt 1 lang="x-default" description darktable
|
Mais c'est très bourin, je souhaiterais pouvoir uniquement "Xmp.dc.description" et récupérer la valeur, tester si j'ai pas d'autres commentaires sur d'autres tag (EXIF, IPTC), et si ce n'est pas le cas, écrire la description dans :
mais également pour plus de portabilité avec les autres applications :
Code :
- Exif.Image.ImageDescription
- Iptc.Application2.Caption
|
Est ce que l'option "-e tgt" permttrait de le faire ?
Code :
- -e tgt
- Extract target(s) for the 'extract' action. Possible targets are the same as those for the -d option, plus a target to extract preview images and a modifier to generate an XMP sidecar file:
- p[<n>[,<m> ...]] : Extract preview images. The optional comma separated list of preview image numbers is used to determine which preview images to extract. The available preview images and their numbers are displayed with the 'print' option -pp.
- C : Extract embedded ICC profile to <file>.icc
- X : Extract metadata to an XMP sidecar file <file>.xmp. The remaining extract targets determine what metadata to extract to the sidecar file. Possible are Exif, IPTC and XMP and the default is all of these.
- XX: Extract "raw" XMP metadata to a sidecar (see -pX)
- You may not use modify commands with the -eXX option and only XMP is written to the sidecar.
|
Mais j'ai du mal à comprendre mais le "Extract to" me met dans le doute.
Lorsque j'essaie :
Code :
- exiv2 -eX Xmp.dc.description 20220901_082414.jpg
|
Il me propose d'écrire dans le fichier
Code :
- kfocal@kfocal:/home/focal/Pictures/Alt Aragon$ exiv2 -eX Xmp.dc.description 20220901_082414.jpg
- Xmp.dc.description: Failed to open the file
- exiv2: Overwrite `./20220901_082414.xmp'? ^C
|
Comment puis je extraire uniquement la description laissé par Darktable ?
Manuel de exiv2 : https://exiv2.org/manpage.html
Message édité par weed le 10-09-2022 à 13:14:28