263 lines
13 KiB
Plaintext
263 lines
13 KiB
Plaintext
ExifTool by Phil Harvey (philharvey66 at gmail.com)
|
|
----------------------------------------------------------------------------
|
|
|
|
ExifTool is a customizable set of Perl modules plus a full-featured
|
|
command-line application for reading and writing meta information in a wide
|
|
variety of files, including the maker note information of many digital
|
|
cameras by various manufacturers such as Canon, Casio, DJI, FLIR, FujiFilm,
|
|
GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Nintendo,
|
|
Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh,
|
|
Samsung, Sanyo, Sigma/Foveon and Sony.
|
|
|
|
Below is a list of file types and meta information formats currently
|
|
supported by ExifTool (r = read, w = write, c = create):
|
|
|
|
File Types
|
|
------------+-------------+-------------+-------------+------------
|
|
360 r/w | DOCX r | ITC r | O r | RSRC r
|
|
3FR r | DPX r | J2C r | ODP r | RTF r
|
|
3G2 r/w | DR4 r/w/c | JNG r/w | ODS r | RW2 r/w
|
|
3GP r/w | DSS r | JP2 r/w | ODT r | RWL r/w
|
|
7Z r | DV r | JPEG r/w | OFR r | RWZ r
|
|
A r | DVB r/w | JSON r | OGG r | RM r
|
|
AA r | DVR-MS r | JXL r | OGV r | SEQ r
|
|
AAC r | DYLIB r | K25 r | ONP r | SKETCH r
|
|
AAE r | EIP r | KDC r | OPUS r | SO r
|
|
AAX r/w | EPS r/w | KEY r | ORF r/w | SR2 r/w
|
|
ACR r | EPUB r | LA r | ORI r/w | SRF r
|
|
AFM r | ERF r/w | LFP r | OTF r | SRW r/w
|
|
AI r/w | EXE r | LIF r | PAC r | SVG r
|
|
AIFF r | EXIF r/w/c | LNK r | PAGES r | SWF r
|
|
APE r | EXR r | LRV r/w | PBM r/w | THM r/w
|
|
ARQ r/w | EXV r/w/c | M2TS r | PCD r | TIFF r/w
|
|
ARW r/w | F4A/V r/w | M4A/V r/w | PCX r | TORRENT r
|
|
ASF r | FFF r/w | MACOS r | PDB r | TTC r
|
|
AVI r | FITS r | MAX r | PDF r/w | TTF r
|
|
AVIF r/w | FLA r | MEF r/w | PEF r/w | TXT r
|
|
AZW r | FLAC r | MIE r/w/c | PFA r | VCF r
|
|
BMP r | FLIF r/w | MIFF r | PFB r | VNT r
|
|
BPG r | FLV r | MKA r | PFM r | VRD r/w/c
|
|
BTF r | FPF r | MKS r | PGF r | VSD r
|
|
C2PA r | FPX r | MKV r | PGM r/w | WAV r
|
|
CHM r | GIF r/w | MNG r/w | PLIST r | WDP r/w
|
|
COS r | GLV r/w | MOBI r | PICT r | WEBP r/w
|
|
CR2 r/w | GPR r/w | MODD r | PMP r | WEBM r
|
|
CR3 r/w | GZ r | MOI r | PNG r/w | WMA r
|
|
CRM r/w | HDP r/w | MOS r/w | PPM r/w | WMV r
|
|
CRW r/w | HDR r | MOV r/w | PPT r | WPG r
|
|
CS1 r/w | HEIC r/w | MP3 r | PPTX r | WTV r
|
|
CSV r | HEIF r/w | MP4 r/w | PS r/w | WV r
|
|
CUR r | HTML r | MPC r | PSB r/w | X3F r/w
|
|
CZI r | ICC r/w/c | MPG r | PSD r/w | XCF r
|
|
DCM r | ICO r | MPO r/w | PSP r | XISF r
|
|
DCP r/w | ICS r | MQV r/w | QTIF r/w | XLS r
|
|
DCR r | IDML r | MRC r | R3D r | XLSX r
|
|
DFONT r | IIQ r/w | MRW r/w | RA r | XMP r/w/c
|
|
DIVX r | IND r/w | MXF r | RAF r/w | ZIP r
|
|
DJVU r | INSP r/w | NEF r/w | RAM r |
|
|
DLL r | INSV r | NKSC r/w | RAR r |
|
|
DNG r/w | INX r | NRW r/w | RAW r/w |
|
|
DOC r | ISO r | NUMBERS r | RIFF r |
|
|
|
|
Meta Information
|
|
----------------------+----------------------+---------------------
|
|
EXIF r/w/c | CIFF r/w | Ricoh RMETA r
|
|
GPS r/w/c | AFCP r/w | Picture Info r
|
|
IPTC r/w/c | Kodak Meta r/w | Adobe APP14 r
|
|
XMP r/w/c | FotoStation r/w | MPF r
|
|
MakerNotes r/w/c | PhotoMechanic r/w | Stim r
|
|
Photoshop IRB r/w/c | JPEG 2000 r | DPX r
|
|
ICC Profile r/w/c | DICOM r | APE r
|
|
MIE r/w/c | Flash r | Vorbis r
|
|
JFIF r/w/c | FlashPix r | SPIFF r
|
|
Ducky APP12 r/w/c | QuickTime r | DjVu r
|
|
PDF r/w/c | Matroska r | M2TS r
|
|
PNG r/w/c | MXF r | PE/COFF r
|
|
Canon VRD r/w/c | PrintIM r | AVCHD r
|
|
Nikon Capture r/w/c | FLAC r | ZIP r
|
|
GeoTIFF r/w/c | ID3 r | (and more)
|
|
|
|
See html/index.html for more details about ExifTool features.
|
|
|
|
ExifTool can be downloaded from
|
|
|
|
https://exiftool.org/
|
|
|
|
RUNNING
|
|
|
|
The exiftool script can be run right away without the need to install
|
|
Image::ExifTool. For example, from within the exiftool directory you can
|
|
extract the information from one of the included test files by typing:
|
|
|
|
./exiftool t/images/ExifTool.jpg
|
|
|
|
If you move the exiftool script to a different directory, you must also
|
|
either move the contents of the lib directory or install the Image::ExifTool
|
|
package so the script can find the necessary libraries.
|
|
|
|
Note: If you are using the Windows cmd shell, you may need to rename
|
|
'exiftool' to 'exiftool.pl' to run it directly from the command line.
|
|
Alternatively, you can run exiftool with the command 'perl exiftool'.
|
|
|
|
IF YOU ARE STILL CONFUSED
|
|
|
|
The exiftool script is a command line application. You run it by typing
|
|
commands in a terminal window. The first step is to determine the name of
|
|
the directory where you downloaded the ExifTool distribution package.
|
|
Assuming, for example, you downloaded it to a folder called "Desktop" in
|
|
your home directory, then you would type the following commands in a
|
|
terminal window to extract and run ExifTool:
|
|
|
|
cd ~/Desktop
|
|
gzip -dc Image-ExifTool-12.76.tar.gz | tar -xf -
|
|
cd Image-ExifTool-12.76
|
|
./exiftool t/images/ExifTool.jpg
|
|
|
|
Note: These commands extract meta information from one of the test images.
|
|
To use one of your images instead, enter the full path name of your file in
|
|
place of "t/images/ExifTool.jpg".
|
|
|
|
INSTALLATION
|
|
|
|
You can install the Image::ExifTool package to make it available for use by
|
|
other Perl scripts by typing the following:
|
|
|
|
perl Makefile.PL
|
|
make
|
|
make test
|
|
make install
|
|
|
|
Notes:
|
|
i) You need root access for the last step above.
|
|
|
|
ii) Some Perl installations (like the standard OSX installation) may not
|
|
contain the necessary files to complete the first step above. But no
|
|
worries: You can install ExifTool manually by moving 'exiftool' and the
|
|
'lib' directory to any directory in your current PATH (ie. /usr/bin).
|
|
|
|
iii) In Windows, "dmake" or "nmake" may be used if "make" is not
|
|
available.
|
|
|
|
(Also see html/install.html for more help with installation.)
|
|
|
|
DEPENDENCIES
|
|
|
|
Requires Perl version 5.004 or later. No other special libraries are
|
|
required, however the following modules are recommended for decoding
|
|
compressed and/or encrypted information from the indicated file types, and
|
|
for calculating digest values and providing other features listed below:
|
|
|
|
Archive::Zip (ZIP, DOCX, PPTX, XLSX, ODP, ODS, ODT, EIP, iWork)
|
|
Compress::Zlib (DNG, PNG, PDF, DCM, MIE and SWF files)
|
|
Digest::MD5 (PDF files, IPTC information, and JPG Extended XMP)
|
|
Digest::SHA (PDF with AES-256 encryption)
|
|
IO::Compress::Bzip2 (RWZ files)
|
|
Time::HiRes (for generating ProcessingTime tag)
|
|
POSIX::strptime (for inverse date/time conversion)
|
|
Time::Piece (alternative to POSIX::strptime)
|
|
Unicode::LineBreak (for column alignment of alternate-language output)
|
|
Win32::API (for proper handling of Windows file times)
|
|
Win32::FindFile (for Windows Unicode directory support, app only)
|
|
Win32API::File (for Windows Unicode file names and file times)
|
|
Compress::Raw::Lzma (for reading encoded 7z files)
|
|
IO::Compress::RawDeflate (for writing FLIF images)
|
|
IO::Uncompress::RawInflate (for reading FLIF images)
|
|
IO::Compress::Brotli (for writing compressed JXL metadata)
|
|
IO::Uncompress::Brotli (for reading compressed JXL metadata)
|
|
|
|
COPYRIGHT AND LICENSE
|
|
|
|
Copyright 2003-2024, Phil Harvey
|
|
|
|
This is free software; you can redistribute it and/or modify it under the
|
|
same terms as Perl itself.
|
|
|
|
DISTRIBUTION FILES
|
|
|
|
Below is a list of the files/directories included in the full ExifTool
|
|
distribution package:
|
|
|
|
Changes - Revision history
|
|
MANIFEST - Full list of distribution files
|
|
META.json - Standard CPAN dependency file (JSON format)
|
|
META.yml - Standard CPAN dependency file (YAML format)
|
|
Makefile.PL - Makefile for installation
|
|
README - This file
|
|
arg_files/ - Argument files to convert metadata formats:
|
|
exif2iptc.args - Arguments for converting EXIF to IPTC
|
|
exif2xmp.args - Arguments for converting EXIF to XMP
|
|
gps2xmp.args - Arguments for converting GPS to XMP
|
|
iptc2exif.args - Arguments for converting IPTC to EXIF
|
|
iptc2xmp.args - Arguments for converting IPTC to XMP
|
|
iptcCore.args - Complete list of IPTC Core XMP tags
|
|
pdf2xmp.args - Arguments for converting PDF to XMP
|
|
xmp2exif.args - Arguments for converting XMP to EXIF
|
|
xmp2gps.args - Arguments for converting XMP to GPS
|
|
xmp2iptc.args - Arguments for converting XMP to IPTC
|
|
xmp2pdf.args - Arguments for converting XMP to PDF
|
|
config_files/ - Sample ExifTool configuration files:
|
|
acdsee.config - Definitions for writing ACDSee XMP regions
|
|
age.config - Calculate Age of person in photo
|
|
bibble.config - Definitions for writing Bibble XMP tags
|
|
convert_regions.config - Convert between MWG, MP and IPTC regions
|
|
cuepointlist.config - Extract cue points and labels as a list
|
|
depthmap.config - Extract Google DepthMap images
|
|
example.config - General example showing config features
|
|
fotoware.config - Definitions for writing Fotoware XMP tags
|
|
frameCount.config - Extract FrameCount from MP4 videos
|
|
gps2utm.config - Generate UTM coordinate tags from GPS info
|
|
guano.config - Decode individual tags from Guano metadata
|
|
nksc.config - Decode tags in Nikon ViewNX NKSC files
|
|
photoshop_paths.config - For extracting or copying Photoshop paths
|
|
picasa_faces.config - Convert from Picasa to MWG/MP face regions
|
|
pix4d.config - Definitions for writing Pix4D XMP tags
|
|
rotate_regions.config - Rotate MWG and MP region tags
|
|
tiff_version.config - Determine the version of a TIFF file
|
|
time_zone.config - Calculate time zone from EXIF tags
|
|
exiftool - The exiftool application (Perl script)
|
|
fmt_files/ - Output formatting example files:
|
|
gpx.fmt - Format file for creating GPX track
|
|
gpx_wpt.fmt - Format file for creating GPX waypoints
|
|
kml.fmt - Format file for creating KML placemarks
|
|
kml_track.fmt - Format file for creating KML track
|
|
html/ - HTML documentation
|
|
html/TagNames/ - HTML tag name documentation
|
|
lib/ - ExifTool Perl library modules
|
|
perl-Image-ExifTool.spec - Red Hat Packaging Manager specification file
|
|
t/ - Verification test code
|
|
t/images/ - Verification test images
|
|
|
|
ADDITIONAL INFORMATION
|
|
|
|
Read the following files included in the full distribution for more
|
|
information:
|
|
|
|
html/index.html - Main ExifTool documentation
|
|
html/install.html - Installation instructions
|
|
html/history.html - Revision history
|
|
html/ExifTool.html - API documentation
|
|
html/TagNames/index.html - Tag name documentation
|
|
html/geotag.html - Geotag feature
|
|
html/faq.html - Frequently asked questions
|
|
html/filename.html - Renaming/moving files
|
|
html/metafiles.html - Working with metadata sidecar files
|
|
html/struct.html - Working with structured XMP information
|
|
lib/Image/ExifTool/README - ExifTool library modules documentation
|
|
|
|
and if you have installed Image::ExifTool, you can also consult perldoc or
|
|
the man pages:
|
|
|
|
perldoc exiftool
|
|
perldoc Image::ExifTool
|
|
perldoc Image::ExifTool::TagNames
|
|
|
|
man exiftool
|
|
man Image::ExifTool
|
|
man Image::ExifTool::TagNames
|
|
|
|
Note: If the man pages don't work, it is probably because your man path is
|
|
not set to include the installed documentation. See "man man" for
|
|
information about how to set the man path.
|
|
|
|
----------------------------------------------------------------------------
|