XMP sidecars

Started by wazzup, October 30, 2013, 05:24:04 AM

Previous topic - Next topic

wazzup

Hi.
Can somebody help me with the following problem?
I need to extract xmp metadata from jpeg file to xmp sidecar, preferably untouched (as a block).
I have tried
exiftool -xmp -b -w xmp IMG.JPG
but unfortunately it does not work with some images.
I investigated them a little bit and found out that they have Extended XMP blocks.
Is there any way to extract all xmp metadata blocks and merge them to a sidecar file?
I have tried
exiftool -tagsfromfile IMG.JPG -all:all IMG.xmp
and
exiftool -tagsfromfile IMG.JPG -xmp IMG.xmp
but for unknown reason some tags are not transferred (for example crs:CircularGradientBasedCorrections section).
Can somebody help me with this?

Phil Harvey

#1
Add the -a option to the command to extract all XMP blocks.

This will write them both out to the file as blocks, and will produce a non-standard XMP file.  You can then use ExifTool to write any XMP to the file, and it will be combined into a single XMP block.

But a better solution would be just to add write support for the new XMP tags, then copy the xmp as tags instead of blocks.  If some tags aren't copied, post an XMP sample and I'll add write support for these tags.  I haven't seen the crs:CircularGradientBasedCorrections tag.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

wazzup

Thanks, I will have a try.
This tag was generated by Adobe Lightroom 5, it's for the options of new tools added in this version.
You can find example jpeg file in the attachment, it does not have extended xmp, but do have new xmp tags.
Thanks for your help.

Phil Harvey

Thanks.  I'll add write support for these tags in the next release.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).