Unable to edit/erase EXIF:ModifyDate EXIF:CreateDate, EXIF:DateTimeOriginal

Started by babar, February 06, 2023, 04:54:01 AM

Previous topic - Next topic

babar

Hello,
I have a bunch of photo imported as DNG in lightroom. The Time was offset by one hour. Lightroom does not correct avery time stamp so I used ExiftoolGUI, jExiftoolGUI, Digikam, and lastely the command line.
like:

exiftool -EXIF:ModifyDate=
None of the above worked. The only solution was to wipe out all metadata by command line.


The following command in exiftoolgui exiftooldirect option:

-a -s -G -time:all
gives this result

Quote======== ./P1030141.dng
[File]          FileModifyDate                  : 2022:04:18 17:01:10+02:00
[File]          FileAccessDate                  : 2023:02:06 10:29:09+01:00
[File]          FileCreateDate                  : 2022:07:16 11:15:12+02:00
[EXIF]          PreviewDateTime                 : 2022:04:19 21:13:51+02:00
[EXIF]          PreviewDateTime                 : 2022:04:19 21:13:51+02:00
[XMP]           DateTimeDigitized               : 2022:04:18 16:01:10
[XMP]           DateCreated                     : 2022:04:18 16:01:10
[XMP]           MetadataDate                    : 2022:07:11 23:50:43+02:00
[XMP]           HistoryWhen                     : 2022:04:19 21:13:54+02:00*2022:07:11 23:50:43+02:00
[IPTC]          DateCreated                     : 2022:04:18
[IPTC]          TimeCreated                     : 16:01:10+02:00
[EXIF]          SubSecTime                      : 720
[EXIF]          SubSecTimeDigitized             : 720
[EXIF]          ModifyDate                      : 2022:04:18 15:01:10
[EXIF]          DateTimeOriginal                : 2022:04:18 15:01:10
[EXIF]          CreateDate                      : 2022:04:18 15:01:10
[MakerNotes]    TimeStamp                       : 2022:04:18 14:01:10
[EXIF]          SubSecTime                      : 720
[EXIF]          SubSecTimeOriginal              : 720
[EXIF]          SubSecTimeDigitized             : 720
[EXIF]          PreviewDateTime                 : 2022:04:19 21:13:51+02:00
[Composite]     SubSecCreateDate                : 2022:04:18 15:01:10.720
[Composite]     SubSecDateTimeOriginal          : 2022:04:18 15:01:10.720
[Composite]     SubSecModifyDate                : 2022:04:18 15:01:10.720
[Composite]     DateTimeCreated                 : 2022:04:18 16:01:10+02:00
<-END-

trying

-time:all=
I get

Quote======== ./P1030141.dng
    1 image files updated
<-END-
and all date were wiped out except for the exif dates

if I type

-exif:ModifyDate=
I get
Quote======== ./P1030141.dng
Nothing changed in ./P1030141.dng
    0 image files updated
    1 image files unchanged
<-END-
with
-IFD0:ModifyDate=I get
Quote======== ./P1030141.dng
Nothing changed in ./P1030141.dng
    0 image files updated
    1 image files unchanged
<-END-
same with
-EXIFIFD:CreateDate=
Any idea?
I can provide a file if necessary

Phil Harvey

What is the output of this command?:

exiftool -a -s -G1 FILE

You likely need to specify the particular IFD for the EXIF date/time tag.  By default, if you specify just EXIF, then only the IFD0 date/time tag will be written.

- 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 ($).

babar

HI, thank yo for the quick answer. I get:

Quote...
[IFD0]          ResolutionUnit                  : inches
[IFD0]          Software                        : Ver.1.1
[IFD0]          ModifyDate                      : 2022:04:18 15:01:10
[IFD0]          YCbCrPositioning                : Co-sited
...
[ExifIFD]       SensitivityType                 : Standard Output Sensitivity
[ExifIFD]       ExifVersion                     : 0230
[ExifIFD]       DateTimeOriginal                : 2022:04:18 15:01:10
[ExifIFD]       CreateDate                      : 2022:04:18 15:01:10
[ExifIFD]       ComponentsConfiguration         : Y, Cb, Cr, -
...

I would have expected this to work :
-IFD0:ModifyDate=

Phil Harvey

I would have expected that too.  Could you send me the dng and I'll take a look?  (philharvey66 at gmail.com)

- 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 ($).

Phil Harvey

Here's the problem:

> exiftool P1030141.dng -time:all -G5
[System]        File Modification Date/Time     : 2023:02:07 07:49:19-05:00
[System]        File Access Date/Time           : 2023:02:07 07:51:21-05:00
[System]        File Inode Change Date/Time     : 2023:02:07 07:49:19-05:00
[TIFF-IFD0-SubIFD1] Preview Date Time           : 2022:04:19 21:13:51+02:00
[TIFF-IFD0-SubIFD2] Preview Date Time           : 2022:04:19 21:13:51+02:00
[TIFF-IFD0-MakerNotes-AdobePano-JpgFromRaw-APP1-IFD0] Modify Date: 2022:04:18 15:01:10
[TIFF-IFD0-MakerNotes-AdobePano-JpgFromRaw-APP1-IFD0-ExifIFD] Date/Time Original: 2022:04:18 15:01:10
[TIFF-IFD0-MakerNotes-AdobePano-JpgFromRaw-APP1-IFD0-ExifIFD] Create Date: 2022:04:18 15:01:10
[TIFF-IFD0-MakerNotes-AdobePano-JpgFromRaw-APP1-IFD0-ExifIFD-MakerNotes] Time Stamp: 2022:04:18 14:01:10
[TIFF-IFD0-MakerNotes-AdobePano-JpgFromRaw-APP1-IFD0-ExifIFD] Sub Sec Time: 720
[TIFF-IFD0-MakerNotes-AdobePano-JpgFromRaw-APP1-IFD0-ExifIFD] Sub Sec Time Original: 720
[TIFF-IFD0-MakerNotes-AdobePano-JpgFromRaw-APP1-IFD0-ExifIFD] Sub Sec Time Digitized: 720
[TIFF-IFD0]     Preview Date Time               : 2022:04:19 21:13:51+02:00
[Composite]     Create Date                     : 2022:04:18 15:01:10.720
[Composite]     Date/Time Original              : 2022:04:18 15:01:10.720
[Composite]     Modify Date                     : 2022:04:18 15:01:10.720

The tag in question is inside the EXIF of the JPEG file embedded in the Adobe-formatted Panasonic maker notes.  ExifTool is probably the only software that is able to read this, but isn't able to write this separately.  The best you can do is delete the Adobe-formatted Panasonic maker notes with -makernotes:all= or better yet -dngadobedata=

- 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 ($).

babar

OK great.
Thank you for the help.
Note that lightroom see this info as one of the time field in lightroom still report the wrong time ... and cannot be changed
So this definitively is an issue withl lightroom storing data in the wrong place.
Is there a way to store this time data in the right place (the dng image not the integrated preview jpgs) and have this info reported by exiftool when reading back.(it could also report the preview exif but this should not override the main file exif)?

babar

By the way if i do
-dngadobedata=Will I loose all the makernotes/exif ?

Phil Harvey

This will delete all of the maker notes, yes.  Use the -G5 option to see what will be deleted (anything with MakerNotes in the group name).

- 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 ($).

babar

Ok thank you
There certainly is a way to back up these makernotes and write them back, I will check the doc for that (if I remember well we can dump the metadata to a txt file and write it back. So I would just need to remove the problematic fields before writing back), however, would you have a recommanded way of doing it to avoid messing up everything?

Phil Harvey

There are certainly a lot of ways to mess this up, so I'm glad you asked.  You can't write maker note tags individually, so you must back them up as a block.  Also, there are 2 levels of maker notes in this file (DNGAdobeData and MakerNotePanasonic), and you need to back up the right one (DNGAdobeData contains the embedded JPEG image which contains MakerNotePanasonic).  So here are the commands to 1. back up, 2. remove the maker notes, and 3. put them back again:

1. exiftool -DNGAdobeData -b FILE > out.dat

2. exiftool -DNGAdobeData= FILE

3. exiftool "-DNGAdobeData<=out.dat" FILE

But, to be honest, it would be better to keep backups of the original files because you can easily lose this information with a simple typo here.

- 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 ($).

babar

Thank you again for your time and patience.
the -b option will output it in binary format are we forced to do so ?
In this case I may not be able to edit the time values? is there an other way?

EDIT:
I luckilly could edit these time values and it worked well
I  indeed used an hexadecimal editor and it happens that the dates are the only few data in the binary format to appear as ANSI characters...

But I am a bit worried that the jpeg previews stores the metadata this sounds stupid. What if I decide to remove and replace it with another preview??? outside lightroom. I have the feeling that adobe is doing a bad job here.

Phil Harvey

The -b option is necessary because ExifTool can only write this as a (binary) data block.

Panasonic stores metadata in the embedded JPEG in their raw files, and although Adobe restructures this metadata in the DNGAdobeData block, it isn't the one responsible for the concept of placing the metadata inside a preview.

- 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 ($).

babar

Ok thank you
Oh and sorry for my language. I am french and I tend to forget that in english "stupid" is really much worse than in french. I did not intend to sound rude.

Eric

Phil Harvey

...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 ($).