Skip to content

Commit 49f4dc6

Browse files
committed
added entire exiftool
1 parent a959056 commit 49f4dc6

File tree

961 files changed

+391217
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

961 files changed

+391217
-4
lines changed

exiftool/Changes

+10,003
Large diffs are not rendered by default.

exiftool/MANIFEST

+1,128
Large diffs are not rendered by default.

exiftool/META.json

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
"abstract" : "Read and write meta information",
3+
"author" : [
4+
"Phil Harvey (philharvey66 at gmail.com)"
5+
],
6+
"dynamic_config" : 1,
7+
"generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380",
8+
"license" : [
9+
"perl_5"
10+
],
11+
"meta-spec" : {
12+
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
13+
"version" : "2"
14+
},
15+
"name" : "Image-ExifTool",
16+
"no_index" : {
17+
"directory" : [
18+
"t",
19+
"inc"
20+
]
21+
},
22+
"prereqs" : {
23+
"build" : {
24+
"requires" : {
25+
"ExtUtils::MakeMaker" : "0"
26+
}
27+
},
28+
"configure" : {
29+
"requires" : {
30+
"ExtUtils::MakeMaker" : "0"
31+
}
32+
},
33+
"runtime" : {
34+
"recommends" : {
35+
"Archive::Zip" : "0",
36+
"Compress::Zlib" : "0",
37+
"Digest::MD5" : "0",
38+
"Digest::SHA" : "0",
39+
"IO::Compress::RawDeflate" : "0",
40+
"IO::Uncompress::RawInflate" : "0",
41+
"POSIX::strptime" : "0",
42+
"Time::HiRes" : "0"
43+
},
44+
"requires" : {
45+
"perl" : "5.004"
46+
}
47+
}
48+
},
49+
"release_status" : "stable",
50+
"version" : "12.34"
51+
}

exiftool/META.yml

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
abstract: 'Read and write meta information'
3+
author:
4+
- 'Phil Harvey (philharvey66 at gmail.com)'
5+
build_requires:
6+
ExtUtils::MakeMaker: 0
7+
configure_requires:
8+
ExtUtils::MakeMaker: 0
9+
dynamic_config: 1
10+
generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380'
11+
license: perl
12+
meta-spec:
13+
url: http://module-build.sourceforge.net/META-spec-v1.4.html
14+
version: 1.4
15+
name: Image-ExifTool
16+
no_index:
17+
directory:
18+
- t
19+
- inc
20+
recommends:
21+
Archive::Zip: 0
22+
Compress::Zlib: 0
23+
Digest::MD5: 0
24+
Digest::SHA: 0
25+
IO::Compress::RawDeflate: 0
26+
IO::Uncompress::RawInflate: 0
27+
POSIX::strptime: 0
28+
Time::HiRes: 0
29+
requires:
30+
perl: 5.004
31+
version: 12.34

exiftool/Makefile.PL

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
use ExtUtils::MakeMaker;
2+
use File::Spec;
3+
4+
my $ExifTool_pm = File::Spec->catfile('lib', 'Image', 'ExifTool.pm');
5+
my $ExifTool_pod = File::Spec->catfile('lib', 'Image', 'ExifTool.pod');
6+
7+
WriteMakefile(
8+
NAME => 'Image::ExifTool',
9+
VERSION_FROM => $ExifTool_pm,
10+
PREREQ_PM => { },
11+
(($ExtUtils::MakeMaker::VERSION gt '6.31' and
12+
$ExtUtils::MakeMaker::VERSION lt '6.46') ?
13+
(EXTRA_META => "recommends:\n" .
14+
" Archive::Zip: 0\n" .
15+
" Compress::Zlib: 0\n" .
16+
" Digest::MD5: 0\n" .
17+
" Digest::SHA: 0\n" .
18+
" Time::HiRes: 0\n" .
19+
" POSIX::strptime: 0\n" .
20+
" IO::Compress::RawDeflate: 0\n" .
21+
" IO::Uncompress::RawInflate: 0\n" ,
22+
# (not worth recommending -- only for column alignment of some languages)
23+
# " Unicode::LineBreak: 0\n",
24+
# (not worth recommending -- only for Rawzor files)
25+
# " IO::Compress::Bzip2: 0\n",
26+
) : ()),
27+
($ExtUtils::MakeMaker::VERSION ge '6.46' ?
28+
(META_MERGE => {
29+
recommends => {
30+
'Archive::Zip' => 0,
31+
'Compress::Zlib' => 0,
32+
'Digest::MD5' => 0,
33+
'Digest::SHA' => 0,
34+
'Time::HiRes' => 0,
35+
'POSIX::strptime' => 0,
36+
'IO::Compress::RawDeflate' => 0,
37+
'IO::Uncompress::RawInflate' => 0,
38+
# 'Unicode::LineBreak' => 0,
39+
# 'IO::Compress::Bzip2' => 0,
40+
},
41+
} ) : ()),
42+
clean => { FILES => 't/*.tmp' },
43+
EXE_FILES => [ 'exiftool' ],
44+
($] >= 5.005 ?
45+
(ABSTRACT_FROM => $ExifTool_pod,
46+
AUTHOR => 'Phil Harvey (philharvey66 at gmail.com)',
47+
) : ()),
48+
(($ExtUtils::MakeMaker::VERSION gt '6.30') ?
49+
(LICENSE => 'perl') : ()),
50+
(($ExtUtils::MakeMaker::VERSION ge '6.47') ?
51+
(MIN_PERL_VERSION => '5.004') : ()),
52+
);

exiftool/README

+255
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
1+
ExifTool by Phil Harvey (philharvey66 at gmail.com)
2+
----------------------------------------------------------------------------
3+
4+
ExifTool is a customizable set of Perl modules plus a full-featured
5+
command-line application for reading and writing meta information in a wide
6+
variety of files, including the maker note information of many digital
7+
cameras by various manufacturers such as Canon, Casio, DJI, FLIR, FujiFilm,
8+
GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Nintendo,
9+
Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh,
10+
Samsung, Sanyo, Sigma/Foveon and Sony.
11+
12+
Below is a list of file types and meta information formats currently
13+
supported by ExifTool (r = read, w = write, c = create):
14+
15+
File Types
16+
------------+-------------+-------------+-------------+------------
17+
360 r/w | DR4 r/w/c | JNG r/w | ODP r | RIFF r
18+
3FR r | DSS r | JP2 r/w | ODS r | RSRC r
19+
3G2 r/w | DV r | JPEG r/w | ODT r | RTF r
20+
3GP r/w | DVB r/w | JSON r | OFR r | RW2 r/w
21+
A r | DVR-MS r | JXL r | OGG r | RWL r/w
22+
AA r | DYLIB r | K25 r | OGV r | RWZ r
23+
AAE r | EIP r | KDC r | ONP r | RM r
24+
AAX r/w | EPS r/w | KEY r | OPUS r | SEQ r
25+
ACR r | EPUB r | LA r | ORF r/w | SKETCH r
26+
AFM r | ERF r/w | LFP r | ORI r/w | SO r
27+
AI r/w | EXE r | LIF r | OTF r | SR2 r/w
28+
AIFF r | EXIF r/w/c | LNK r | PAC r | SRF r
29+
APE r | EXR r | LRV r/w | PAGES r | SRW r/w
30+
ARQ r/w | EXV r/w/c | M2TS r | PBM r/w | SVG r
31+
ARW r/w | F4A/V r/w | M4A/V r/w | PCD r | SWF r
32+
ASF r | FFF r/w | MACOS r | PCX r | THM r/w
33+
AVI r | FITS r | MAX r | PDB r | TIFF r/w
34+
AVIF r/w | FLA r | MEF r/w | PDF r/w | TORRENT r
35+
AZW r | FLAC r | MIE r/w/ | PEF r/w | TTC r
36+
BMP r | FLIF r/w | MIFF r c | PFA r | TTF r
37+
BPG r | FLV r | MKA r | PFB r | TXT r
38+
BTF r | FPF r | MKS r | PFM r | VCF r
39+
CHM r | FPX r | MKV r | PGF r | VRD r/w/c
40+
COS r | GIF r/w | MNG r/w | PGM r/w | VSD r
41+
CR2 r/w | GPR r/w | MOBI r | PLIST r | WAV r
42+
CR3 r/w | GZ r | MODD r | PICT r | WDP r/w
43+
CRM r/w | HDP r/w | MOI r | PMP r | WEBP r
44+
CRW r/w | HDR r | MOS r/w | PNG r/w | WEBM r
45+
CS1 r/w | HEIC r/w | MOV r/w | PPM r/w | WMA r
46+
CSV r | HEIF r/w | MP3 r | PPT r | WMV r
47+
CZI r | HTML r | MP4 r/w | PPTX r | WTV r
48+
DCM r | ICC r/w/c | MPC r | PS r/w | WV r
49+
DCP r/w | ICS r | MPG r | PSB r/w | X3F r/w
50+
DCR r | IDML r | MPO r/w | PSD r/w | XCF r
51+
DFONT r | IIQ r/w | MQV r/w | PSP r | XLS r
52+
DIVX r | IND r/w | MRC r | QTIF r/w | XLSX r
53+
DJVU r | INSP r/w | MRW r/w | R3D r | XMP r/w/c
54+
DLL r | INSV r | MXF r | RA r | ZIP r
55+
DNG r/w | INX r | NEF r/w | RAF r/w |
56+
DOC r | ISO r | NRW r/w | RAM r |
57+
DOCX r | ITC r | NUMBERS r | RAR r |
58+
DPX r | J2C r | O r | RAW r/w |
59+
60+
Meta Information
61+
----------------------+----------------------+---------------------
62+
EXIF r/w/c | CIFF r/w | Ricoh RMETA r
63+
GPS r/w/c | AFCP r/w | Picture Info r
64+
IPTC r/w/c | Kodak Meta r/w | Adobe APP14 r
65+
XMP r/w/c | FotoStation r/w | MPF r
66+
MakerNotes r/w/c | PhotoMechanic r/w | Stim r
67+
Photoshop IRB r/w/c | JPEG 2000 r | DPX r
68+
ICC Profile r/w/c | DICOM r | APE r
69+
MIE r/w/c | Flash r | Vorbis r
70+
JFIF r/w/c | FlashPix r | SPIFF r
71+
Ducky APP12 r/w/c | QuickTime r | DjVu r
72+
PDF r/w/c | Matroska r | M2TS r
73+
PNG r/w/c | MXF r | PE/COFF r
74+
Canon VRD r/w/c | PrintIM r | AVCHD r
75+
Nikon Capture r/w/c | FLAC r | ZIP r
76+
GeoTIFF r/w/c | ID3 r | (and more)
77+
78+
See html/index.html for more details about ExifTool features.
79+
80+
ExifTool can be downloaded from
81+
82+
https://exiftool.org/
83+
84+
RUNNING
85+
86+
The exiftool script can be run right away without the need to install
87+
Image::ExifTool. For example, from within the exiftool directory you can
88+
extract the information from one of the included test files by typing:
89+
90+
./exiftool t/images/ExifTool.jpg
91+
92+
If you move the exiftool script to a different directory, you must also
93+
either move the contents of the lib directory or install the Image::ExifTool
94+
package so the script can find the necessary libraries.
95+
96+
Note: If you are using the Windows cmd shell, you may need to rename
97+
'exiftool' to 'exiftool.pl' to run it directly from the command line.
98+
Alternatively, you can run exiftool with the command 'perl exiftool'.
99+
100+
IF YOU ARE STILL CONFUSED
101+
102+
The exiftool script is a command line application. You run it by typing
103+
commands in a terminal window. The first step is to determine the name of
104+
the directory where you downloaded the ExifTool distribution package.
105+
Assuming, for example, you downloaded it to a folder called "Desktop" in
106+
your home directory, then you would type the following commands in a
107+
terminal window to extract and run ExifTool:
108+
109+
cd ~/Desktop
110+
gzip -dc Image-ExifTool-12.34.tar.gz | tar -xf -
111+
cd Image-ExifTool-12.34
112+
./exiftool t/images/ExifTool.jpg
113+
114+
Note: These commands extract meta information from one of the test images.
115+
To use one of your images instead, enter the full path name of your file in
116+
place of "t/images/ExifTool.jpg".
117+
118+
INSTALLATION
119+
120+
You can install the Image::ExifTool package to make it available for use by
121+
other Perl scripts by typing the following:
122+
123+
perl Makefile.PL
124+
make
125+
make test
126+
make install
127+
128+
Notes:
129+
i) You need root access for the last step above.
130+
131+
ii) Some Perl installations (like the standard OSX installation) may not
132+
contain the necessary files to complete the first step above. But no
133+
worries: You can install ExifTool manually by moving 'exiftool' and the
134+
'lib' directory to any directory in your current PATH (ie. /usr/bin).
135+
136+
iii) In Windows, "dmake" or "nmake" may be used if "make" is not
137+
available.
138+
139+
(Also see html/install.html for more help with installation.)
140+
141+
DEPENDENCIES
142+
143+
Requires Perl version 5.004 or later. No other special libraries are
144+
required, however the following modules are recommended for decoding
145+
compressed and/or encrypted information from the indicated file types, and
146+
for calculating digest values and providing other features listed below:
147+
148+
Archive::Zip (ZIP, DOCX, PPTX, XLSX, ODP, ODS, ODT, EIP, iWork)
149+
Compress::Zlib (DNG, PNG, PDF, DCM, MIE and SWF files)
150+
Digest::MD5 (PDF files, IPTC information, and JPG Extended XMP)
151+
Digest::SHA (PDF with AES-256 encryption)
152+
IO::Compress::Bzip2 (RWZ files)
153+
Time::HiRes (for generating ProcessingTime tag)
154+
POSIX::strptime (for inverse date/time conversion)
155+
Time::Piece (alternative to POSIX::strptime)
156+
Unicode::LineBreak (for column alignment of alternate-language output)
157+
Win32::API (for proper handling of Windows file times)
158+
Win32::FindFile (for Windows Unicode directory support, app only)
159+
Win32API::File (for Windows Unicode file names and file times)
160+
IO::Compress::RawDeflate (for writing FLIF images)
161+
IO::Uncompress::RawInflate (for reading FLIF images)
162+
163+
COPYRIGHT AND LICENSE
164+
165+
Copyright 2003-2021, Phil Harvey
166+
167+
This is free software; you can redistribute it and/or modify it under the
168+
same terms as Perl itself.
169+
170+
DISTRIBUTION FILES
171+
172+
Below is a list of the files/directories included in the full ExifTool
173+
distribution package:
174+
175+
Changes - Revision history
176+
MANIFEST - Full list of distribution files
177+
META.json - Standard CPAN dependency file (JSON format)
178+
META.yml - Standard CPAN dependency file (YAML format)
179+
Makefile.PL - Makefile for installation
180+
README - This file
181+
arg_files/ - Argument files to convert metadata formats:
182+
exif2iptc.args - Arguments for converting EXIF to IPTC
183+
exif2xmp.args - Arguments for converting EXIF to XMP
184+
gps2xmp.args - Arguments for converting GPS to XMP
185+
iptc2exif.args - Arguments for converting IPTC to EXIF
186+
iptc2xmp.args - Arguments for converting IPTC to XMP
187+
iptcCore.args - Complete list of IPTC Core XMP tags
188+
pdf2xmp.args - Arguments for converting PDF to XMP
189+
xmp2exif.args - Arguments for converting XMP to EXIF
190+
xmp2gps.args - Arguments for converting XMP to GPS
191+
xmp2iptc.args - Arguments for converting XMP to IPTC
192+
xmp2pdf.args - Arguments for converting XMP to PDF
193+
config_files/ - Sample ExifTool configuration files:
194+
acdsee.config - Definitions for writing ACDSee XMP regions
195+
age.config - Calculate Age of person in photo
196+
bibble.config - Definitions for writing Bibble XMP tags
197+
convert_regions.config - Convert between MWG, MP and IPTC regions
198+
cuepointlist.config - Extract cue points and labels as a list
199+
depthmap.config - Extract Google DepthMap images
200+
example.config - General example showing config features
201+
fotoware.config - Definitions for writing Fotoware XMP tags
202+
gps2utm.config - Generate UTM coordinate tags from GPS info
203+
gpsdatetime.config - Make GPSDateTime from CreateDate+SampleTime
204+
nksc.config - Decode tags in Nikon ViewNX NKSC files
205+
photoshop_paths.config - For extracting or copying Photoshop paths
206+
picasa_faces.config - Convert from Picasa to MWG/MP face regions
207+
rotate_regions.config - Rotate MWG and MP region tags
208+
tiff_version.config - Determine the version of a TIFF file
209+
time_zone.config - Calculate time zone from EXIF tags
210+
exiftool - The exiftool application (Perl script)
211+
fmt_files/ - Output formatting example files:
212+
gpx.fmt - Format file for creating GPX track
213+
gpx_wpt.fmt - Format file for creating GPX waypoints
214+
kml.fmt - Format file for creating KML placemarks
215+
kml_track.fmt - Format file for creating KML track
216+
html/ - HTML documentation
217+
html/TagNames/ - HTML tag name documentation
218+
lib/ - ExifTool Perl library modules
219+
perl-Image-ExifTool.spec - Red Hat Packaging Manager specification file
220+
t/ - Verification test code
221+
t/images/ - Verification test images
222+
223+
ADDITIONAL INFORMATION
224+
225+
Read the following files included in the full distribution for more
226+
information:
227+
228+
html/index.html - Main ExifTool documentation
229+
html/install.html - Installation instructions
230+
html/history.html - Revision history
231+
html/ExifTool.html - API documentation
232+
html/TagNames/index.html - Tag name documentation
233+
html/geotag.html - Geotag feature
234+
html/faq.html - Frequently asked questions
235+
html/filename.html - Renaming/moving files
236+
html/metafiles.html - Working with metadata sidecar files
237+
html/struct.html - Working with structured XMP information
238+
lib/Image/ExifTool/README - ExifTool library modules documentation
239+
240+
and if you have installed Image::ExifTool, you can also consult perldoc or
241+
the man pages:
242+
243+
perldoc exiftool
244+
perldoc Image::ExifTool
245+
perldoc Image::ExifTool::TagNames
246+
247+
man exiftool
248+
man Image::ExifTool
249+
man Image::ExifTool::TagNames
250+
251+
Note: If the man pages don't work, it is probably because your man path is
252+
not set to include the installed documentation. See "man man" for
253+
information about how to set the man path.
254+
255+
----------------------------------------------------------------------------

0 commit comments

Comments
 (0)