ExifTool support: add new method to apply list of changes operated on metadata.
A temporary EXV file constainer is computed with the list of changes to operated on Exif, Iptc, and Xmp. This EXV file is processed with ExifTool to patch metadata. Add new CLI test tool to try apply changes with EXV constainer. Here the file is patched with DMetadata::setImageDateTime() which change or add new tags in Exif, Iptc, and Xmp Exemple of changes processed to a CR3 raw image: CR3 ORIGINAL: exiftool -G:0:1:2:4 -exif:all -xmp:all 2020-09-22_21-27-23_0C4A1060.CR3_original [EXIF:IFD0:Image] Image Width : 8192 [EXIF:IFD0:Image] Image Height : 5464 [EXIF:IFD0:Image] Bits Per Sample : 8 8 8 [EXIF:IFD0:Image] Compression : JPEG (old-style) [EXIF:IFD0:Camera] Make : Canon [EXIF:IFD0:Camera] Camera Model Name : Canon EOS R5 [EXIF:IFD0:Image] Orientation : Rotate 90 CW [EXIF:IFD0:Image] Resolution Unit : inches [EXIF:IFD0:Author] Artist : kdmurray [EXIF:IFD0:Author] Copyright : [EXIF:ExifIFD:Image] Exposure Time : 1/200 [EXIF:ExifIFD:Image] F Number : 10.0 [EXIF:ExifIFD:Camera] Exposure Program : Manual [EXIF:ExifIFD:Image] ISO : 400 [EXIF:ExifIFD:Image] Sensitivity Type : Recommended Exposure Index [EXIF:ExifIFD:Image] Recommended Exposure Index : 400 [EXIF:ExifIFD:Image] Exif Version : 0231 [EXIF:ExifIFD:Time] Date/Time Original : 2020:09:22 21:27:23 [EXIF:ExifIFD:Time] Offset Time : +10:00 [EXIF:ExifIFD:Time] Offset Time Original : +10:00 [EXIF:ExifIFD:Time] Offset Time Digitized : +10:00 [EXIF:ExifIFD:Image] Components Configuration : Y, Cb, Cr, - [EXIF:ExifIFD:Image] Shutter Speed Value : 1/197 [EXIF:ExifIFD:Image] Aperture Value : 9.9 [EXIF:ExifIFD:Camera] Flash : On, Fired [EXIF:ExifIFD:Camera] Focal Length : 90.0 mm [EXIF:ExifIFD:Image] User Comment : [EXIF:ExifIFD:Time] Sub Sec Time : 59 [EXIF:ExifIFD:Time] Sub Sec Time Original : 59 [EXIF:ExifIFD:Time] Sub Sec Time Digitized : 59 [EXIF:ExifIFD:Image] Flashpix Version : 0100 [EXIF:ExifIFD:Image] Exif Image Width : 8192 [EXIF:ExifIFD:Image] Exif Image Height : 5464 [EXIF:ExifIFD:Camera] Focal Plane X Resolution : 5773.079634 [EXIF:ExifIFD:Camera] Focal Plane Y Resolution : 5769.799366 [EXIF:ExifIFD:Camera] Focal Plane Resolution Unit: inches [EXIF:ExifIFD:Image] Custom Rendered : Normal [EXIF:ExifIFD:Camera] Exposure Mode : Manual [EXIF:ExifIFD:Camera] Scene Capture Type : Standard [EXIF:ExifIFD:Image] Serial Number : 035021000124 [EXIF:ExifIFD:Image] Lens Info : 90mm f/0 [EXIF:ExifIFD:Image] Lens Serial Number : 0000000000 [EXIF:GPS:Location] GPS Version ID : 2.3.0.0 [EXIF:GPS:Location] GPS Altitude Ref : Above Sea Level [EXIF:GPS:Location] GPS Satellites : [EXIF:GPS:Location] GPS Status : Unknown () [EXIF:GPS:Location] GPS Measure Mode : Unknown () [XMP:XMP-xmp:Image] Rating : 0 *EXV constainer generated: exiftool -G:0:1:2:4 -exif:all -xmp:all 2020-09-22_21-27-23_0C4A1060_changes.exv [XMP:XMP-x:Document] XMP Toolkit : XMP Core 4.4.0-Exiv2 [XMP:XMP-exif:Time] Date/Time Original : 2021:05:09 15:02:43 [XMP:XMP-exif:Time] Date/Time Digitized : 2021:05:09 15:02:43 [XMP:XMP-tiff:Time] Date/Time Modified : 2021:05:09 15:02:43 [XMP:XMP-xmp:Time] Create Date : 2021:05:09 15:02:43 [XMP:XMP-xmp:Time] Metadata Date : 2021:05:09 15:02:43 [XMP:XMP-xmp:Time] Modify Date : 2021:05:09 15:02:43 *CR3 PATCHED: exiftool]$ exiftool -G:0:1:2:4 -exif:all -xmp:all 2020-09-22_21-27-23_0C4A1060.CR3 [EXIF:IFD0:Image] Image Width : 8192 [EXIF:IFD0:Image] Image Height : 5464 [EXIF:IFD0:Image] Bits Per Sample : 8 8 8 [EXIF:IFD0:Image] Compression : JPEG (old-style) [EXIF:IFD0:Camera] Make : Canon [EXIF:IFD0:Camera] Camera Model Name : Canon EOS R5 [EXIF:IFD0:Image] Orientation : Rotate 90 CW [EXIF:IFD0:Image] Resolution Unit : inches [EXIF:IFD0:Author] Artist : kdmurray [EXIF:IFD0:Author] Copyright : [EXIF:ExifIFD:Image] Exposure Time : 1/200 [EXIF:ExifIFD:Image] F Number : 10.0 [EXIF:ExifIFD:Camera] Exposure Program : Manual [EXIF:ExifIFD:Image] ISO : 400 [EXIF:ExifIFD:Image] Sensitivity Type : Recommended Exposure Index [EXIF:ExifIFD:Image] Recommended Exposure Index : 400 [EXIF:ExifIFD:Image] Exif Version : 0231 [EXIF:ExifIFD:Time] Offset Time : +10:00 [EXIF:ExifIFD:Time] Offset Time Original : +10:00 [EXIF:ExifIFD:Time] Offset Time Digitized : +10:00 [EXIF:ExifIFD:Image] Components Configuration : Y, Cb, Cr, - [EXIF:ExifIFD:Image] Shutter Speed Value : 1/197 [EXIF:ExifIFD:Image] Aperture Value : 9.9 [EXIF:ExifIFD:Camera] Flash : On, Fired [EXIF:ExifIFD:Camera] Focal Length : 90.0 mm [EXIF:ExifIFD:Image] User Comment : [EXIF:ExifIFD:Time] Sub Sec Time : 59 [EXIF:ExifIFD:Time] Sub Sec Time Original : 59 [EXIF:ExifIFD:Time] Sub Sec Time Digitized : 59 [EXIF:ExifIFD:Image] Flashpix Version : 0100 [EXIF:ExifIFD:Image] Exif Image Width : 8192 [EXIF:ExifIFD:Image] Exif Image Height : 5464 [EXIF:ExifIFD:Camera] Focal Plane X Resolution : 5773.079634 [EXIF:ExifIFD:Camera] Focal Plane Y Resolution : 5769.799366 [EXIF:ExifIFD:Camera] Focal Plane Resolution Unit: inches [EXIF:ExifIFD:Image] Custom Rendered : Normal [EXIF:ExifIFD:Camera] Exposure Mode : Manual [EXIF:ExifIFD:Camera] Scene Capture Type : Standard [EXIF:ExifIFD:Image] Serial Number : 035021000124 [EXIF:ExifIFD:Image] Lens Info : 90mm f/0 [EXIF:ExifIFD:Image] Lens Serial Number : 0000000000 [EXIF:GPS:Location] GPS Version ID : 2.3.0.0 [EXIF:GPS:Location] GPS Altitude Ref : Above Sea Level [EXIF:GPS:Location] GPS Satellites : [EXIF:GPS:Location] GPS Status : Unknown () [EXIF:GPS:Location] GPS Measure Mode : Unknown () [XMP:XMP-x:Document] XMP Toolkit : Image::ExifTool 12.00 [XMP:XMP-exif:Time] Date/Time Digitized : 2021:05:09 15:02:43 <====! [XMP:XMP-exif:Time] Date/Time Original : 2021:05:09 15:02:43 <====! [XMP:XMP-photoshop:Time] Date Created : 2021:05:09 15:02:43 <====! [XMP:XMP-tiff:Time] Date/Time Modified : 2021:05:09 15:02:43 <====! [XMP:XMP-xmp:Time] Create Date : 2021:05:09 15:02:43 <====! [XMP:XMP-xmp:Time] Metadata Date : 2021:05:09 15:02:43 <====! [XMP:XMP-xmp:Time] Modify Date : 2021:05:09 15:02:43 <====! [XMP:XMP-xmp:Image] Rating : 0 CCBUGS: 134486, 170693, 219856, 237504, 264210, 309341, 325458, 326408, 377622, 384092, 406540, 416516, 421464, 436286
Loading
Please register or sign in to comment