ExifTool issues can be discussed on the CPAN forum at http://www.cpanforum.com/dist/Image-ExifTool
When you run exiftool, by default it prints descriptions, not tag names, for
the information it extracts. To print the tag names instead, use the
'-S'
option. Also, see the
tag names documentation for a complete list
of available tag names.
Make sure you are looking at the right information. Information may be duplicated in different locations within an image. When in doubt, use'exiftool -a -G1 FILENAME'
to show all information and the locations in the file. In this command,'-a'
allows duplicate tags to be displayed,'-G1'
shows the family 1 group name (ie. the location) of each tag, and'FILENAME'
is the name of your image file. Also, you may want to add'-S'
to show the actual tag names instead of the descriptions.You can read or write information in a specific location if necessary by prefixing the tag name on the command line with the desired group name. ie)
'-ExifIFD:DateTimeOriginal'
There are a number of different ways that aperture and shutter speed information get saved in an image. The standard EXIF values (EXIF:FNumber and EXIF:ExposureTime) should correspond to the values displayed by your camera, but these values may have been rounded off. The APEX values (EXIF:ApertureValue and EXIF:ShutterSpeedValue) may be different due to their own round-off errors. If available, the MakerNotes values are the typically the most accurate because they haven't been rounded off at all, but you may see odd values like 1/102 instead of 1/100, etc.
'Can't convert TAG (not in PrintConv)'
"ExifTool applies a print conversion (PrintConv) to the printed values of all tags. These print conversions are documented for all tags in the Values column of the Tag Name documentation. For example, the GPSAltitudeRef tag defines the following conversions:0 = Above Sea Level 1 = Below Sea LevelFor this tag, a value of '0' is printed as 'Above Sea Level', and '1' is printed as 'Below Sea Level'. Reading and writing with ExifTool is symmetrical, so a value that is printed as 'Above Sea Level' must also be written in that form. (ie. The inverse print conversion is applied when writing values.) For example, to write GPSAltitudeRef you can type:exiftool -gpsaltituderef='Above Sea Level' image.jpgor any unambiguous short form may be used and ExifTool will know what you mean, ie)exiftool -gpsaltituderef=above image.jpgAlternatively, the print conversion can be disabled with the'-n'
option. In this case the printed value of GPSAltitudeRef will be '0' or '1', and the value is written in the same way. So the following command has exactly the same effect as the commands above:exiftool -gpsaltituderef=0 -n image.jpg
'exiftool -exif:all= img.tif'
"This is because of the way a TIFF file is structured. With a JPEG image, this command will remove IFD0 (the main Image File Directory) as well as any subdirectories, thus removing all EXIF information. But with the TIFF format, the main image itself is stored in IFD0, so deleting this directory would destroy the image. Instead, ExifTool just deletes the ExifIFD subdirectory, so any information stored in other directories is preserved.Use
'exiftool -a -G1 -S img.tif'
to see where the information is stored. Any information remaining in other IFD's must be deleted separately from a TIFF file if desired.