Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: (Solved) Change "Date Picture Taken" with Image::ExifTool

by polettix (Vicar)
on Jul 27, 2008 at 02:48 UTC ( [id://700335]=note: print w/replies, xml ) Need Help??

in reply to (Solved) Change "Date Picture Taken" with Image::ExifTool

AFAIK, and according to some emails I exchanged with the maintainer, doing the right thing with image metadata is a PITA. There are many formats, each one slightly incompatible with the other... and it's easy to get trapped.

Moreover, the MakerNotes has additional issues, and it's clearly stated in the docs that it might be read as a whole block instead of single items. Try to see the MakerNotes option (that defaults to 0, i.e. "Do not extract writable subdirectories"). Even worse things can happen if you play with the preview, because this seems not to be guaranteed to be small enough to make all the image formats happy, and tends to be left out when copying metadata from one file to another (e.g. to restore metadata on some photo you have worked on). You have to go through some loops to get the data back safely.

The bottom line is that Image::ExifTool is a wonderful module, but it has quite a few glitches when it comes to writing metadata, especially MakerNotes ones.

Last, but not least, take into account that exiftool (the program) generates "fake" metadata as well, taking as input stuff like file size, file date, etc. These tend to be read-only, so don't lose too much time trying to modify them.

perl -ple'$_=reverse' <<<ti.xittelop@oivalf

Io ho capito... ma tu che hai detto?
  • Comment on Re: (Solved) Change "Date Picture Taken" with Image::ExifTool

Replies are listed 'Best First'.
Re^2: (Solved) Change "Date Picture Taken" with Image::ExifTool
by Limbic~Region (Chancellor) on Jul 28, 2008 at 13:58 UTC
    I am not sure I quite understand the point of your post. It seems like what you are saying is that doing this is hard but the module does the best job it can. I agree completely but if I am missing something else, please point it out.

    In this case, it turns out that the Kodak Z812 is writing invalid entries that appear to be place holders. Phil Harvey, the module author, is looking into this further but has suggested that a better solution than deleting the 'Make' tag is to use the 'IgnoreMinorErrors' option. This worked and no tags needed to be deleted.

    Cheers - L~R

      Sorry for not making myself clear. It was lucky that you understood correctly, anyway: I like the module very much, and I think that it tries its best to get the job done. Due to the quirks of each different format, anyway, the "best job" isn't always what you would like it to do :)

      perl -ple'$_=reverse' <<<ti.xittelop@oivalf

      Io ho capito... ma tu che hai detto?

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://700335]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2024-05-30 15:50 GMT
Find Nodes?
    Voting Booth?

    No recent polls found