You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2803 lines
118 KiB
Plaintext
2803 lines
118 KiB
Plaintext
<pre style="color:blue;">
|
|
EXIV2(1) EXIV2(1)
|
|
|
|
|
|
|
|
NAME
|
|
exiv2 - Image metadata manipulation tool
|
|
|
|
SYNOPSIS
|
|
exiv2 [options] [action] file ...
|
|
|
|
DESCRIPTION
|
|
exiv2 is a program to read and write Exif, IPTC, XMP metadata and image
|
|
comments and can read many vendor makernote tags. The program option-
|
|
ally converts between Exif tags, XMP properties and IPTC datasets as
|
|
recommended by the Exif Standard, the IPTC Standard, the XMP specifica-
|
|
tion and Metadata Working Group guidelines.
|
|
The following image formats are supported:
|
|
|
|
Type Exif IPTC XMP Image Comments ICC Profile
|
|
----------------------------------------------------------------------------------
|
|
JPEG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
EXV Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
CR2 Read/Write Read/Write Read/Write - Read/Write
|
|
CRW Read/Write - - Read/Write -
|
|
MRW Read Read Read - -
|
|
TIFF Read/Write Read/Write Read/Write - Read/Write
|
|
WEBP Read/Write - Read/Write - Read/Write
|
|
DNG Read/Write Read/Write Read/Write - Read/Write
|
|
NEF Read/Write Read/Write Read/Write - Read/Write
|
|
PEF Read/Write Read/Write Read/Write - Read/Write
|
|
ARW Read Read Read - -
|
|
RW2 Read Read Read - -
|
|
SR2 Read Read Read - -
|
|
SRW Read/Write Read/Write Read/Write - -
|
|
ORF Read/Write Read/Write Read/Write - -
|
|
PNG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
PGF Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
RAF Read Read Read - -
|
|
EPS - - Read/Write - -
|
|
XMP - - Read/Write - -
|
|
GIF - - - - -
|
|
PSD Read/Write Read/Write Read/Write - -
|
|
TGA - - - - -
|
|
BMP - - - - -
|
|
JP2 Read/Write Read/Write Read/Write - Read/Write
|
|
|
|
o Support for GIF, TGA and BMP images is minimal: the image format is
|
|
recognized, a MIME type assigned to it and the height and width of
|
|
the image are determined.
|
|
|
|
o Reading other TIFF-like RAW image formats, which are not listed in
|
|
the table, may also work.
|
|
|
|
ACTIONS
|
|
The action argument is only required if it is not clear from the
|
|
options which action is implied.
|
|
|
|
pr | print
|
|
Print image metadata. This is the default action, i.e., the com-
|
|
mand exiv2 image.jpg will print a summary of the image Exif
|
|
metadata.
|
|
|
|
ex | extract
|
|
Extract metadata to *.exv, XMP sidecar (*.xmp) and thumbnail
|
|
image files. Modification commands can be applied on-the-fly.
|
|
|
|
in | insert
|
|
Insert metadata from corresponding *.exv, XMP sidecar (*.xmp)
|
|
and thumbnail files. Use option -S .suf to change the suffix of
|
|
the input files. Since files of any supported format can be used
|
|
as input files, this command can be used to copy the metadata
|
|
between files of different formats. Modification commands can be
|
|
applied on-the-fly.
|
|
|
|
rm | delete
|
|
Delete image metadata from the files.
|
|
|
|
ad | adjust
|
|
Adjust Exif timestamps by the given time. Requires at least one
|
|
of the options -a time, -Y yrs, -O mon or -D day.
|
|
|
|
mo | modify
|
|
Apply commands to modify (add, set, delete) the Exif, IPTC and
|
|
XMP metadata of image files. Requires option -c, -m or -M.
|
|
|
|
mv | rename
|
|
Rename files and/or set file timestamps according to the Exif
|
|
create timestamp. Uses the value of tag Exif.Photo.DateTimeOrig-
|
|
inal or, if not present, Exif.Image.DateTime to determine the
|
|
timestamp. The filename format can be set with -r fmt, timestamp
|
|
options are -t and -T.
|
|
|
|
fi | fixiso
|
|
Copy the ISO setting from one of the proprietary Nikon or Canon
|
|
makernote ISO tags to the regular Exif ISO tag,
|
|
Exif.Photo.ISOSpeedRatings. Does not overwrite an existing stan-
|
|
dard Exif ISO tag.
|
|
|
|
fc | fixcom
|
|
Fix the character encoding of Exif Unicode user comments.
|
|
Decodes the comment using the auto-detected or specified charac-
|
|
ter encoding and writes it back in UCS-2. Use option -n to spec-
|
|
ify the current encoding of the comment if necessary.
|
|
|
|
COMMAND SUMMARY
|
|
exiv2 [ opt [arg] ]+ [ act ] file ...
|
|
|
|
option [arg] long option description
|
|
-a tim --adjust Modify time stamps. [+|-]HH[:MM[:SS[.mmm]]]
|
|
-b --binary Show large binary values (default is to suppress them).
|
|
-c txt --comment JPEG comment string to set in the image ('modify' action). ...
|
|
-d tgt --delete Delete target(s) for the 'delete' action. ...
|
|
-D +-n --days Time adjustment by a positive or negative number of days ...
|
|
-e tgt --extract Extract target(s) for the 'extract' action.
|
|
-f --force Do not prompt before overwriting existing files ...
|
|
-F --Force Do not prompt before renaming files (Force rename) ...
|
|
-g key --grep Only output info for this Exiv2 key
|
|
-h --help Display help and exit.
|
|
-i tgt --insert Insert target(s) for the 'insert' action. ...
|
|
-k --keep Preserve file timestamps when updating files
|
|
-K key --key Report key. Similar to -g (grep) however key must match exactly.
|
|
-l dir --location Location (directory) for files to be inserted or extracted.
|
|
-m file --modify read commands from cmd-file
|
|
-M cmd --Modify Command line for the 'modify' action. ...
|
|
-n enc --encode Charset to decode Exif Unicode user comments. See: man 3 iconv_open
|
|
-O +-n --months Time adjustment by a positive or negative number of months, ...
|
|
-p mod --print Print report (common reports)
|
|
-P flg --Print Print report (fine grained control)
|
|
-q --quiet Silence warnings and error messages from the Exiv2 library ...
|
|
-Q lvl --log Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
-r fmt --rename Filename format for the 'rename' action. ...
|
|
-S suf --suffix Use suffix .suf for source files for insert command.
|
|
-t --timestamp Set the file timestamp according to the Exif create timestamp ...
|
|
-T --Timestamp Only set the file timestamp according to Exif create timestamp ...
|
|
-u --unknown Show unknown tags ...
|
|
-v --verbose verbose
|
|
-V --version Show the program version and exit.
|
|
-Y +-n --years Time adjustment by a positive or negative number of years ...
|
|
|
|
act pr | ex | in | rm | ad | mo | mv | fi | fc
|
|
print, extract, insert, delete, adjust, modify, rename, fixiso, fixcom
|
|
|
|
cmd See "Commands" below.
|
|
|
|
flg E | I | X | x | g | k | l | n | y | c | s | v | t | h
|
|
Exif, IPTC, XMP, num, grp, key, label, name, type, count, size, vanilla, translated, hex
|
|
|
|
fmt Default format is %Y%m%d_%H%M%S.
|
|
|
|
lvl d | i | i | w | e
|
|
debug, info, warning, error
|
|
|
|
mod s | a | e | t | v | h | i | x | c | p | i | C | R | S | X
|
|
summary, all, exif, translated, vanilla, hex, iptc, xmp, comment, preview,
|
|
ICC Profile, Recursive Structure, Simple Structure, raw XMP
|
|
|
|
tgt a | c | e | i | p | t | x | C | X | XX | -
|
|
all, comment, exif, iptc, preview, thumb, xmp, ICC Profile, SideCar, RawXMP, stdin/out
|
|
|
|
|
|
OPTIONS
|
|
-h Display help and exit.
|
|
|
|
-V Show the program version and exit.
|
|
When -V is combined with -v (Verbose version), build information
|
|
is printed to standard output along with a list of shared
|
|
libraries which have been loaded into memory. Verbose version is
|
|
supported on Windows (MSVC, Cygwin and MinGW builds), MacOSX and
|
|
Linux and is provided for test and debugging.
|
|
|
|
-v Be verbose during the program run.
|
|
|
|
-q Silence warnings and error messages from the Exiv2 library dur-
|
|
ing the program run (quiet). Note that options -v and -q can be
|
|
used at the same time.
|
|
|
|
-Q lvl Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
or 'm'(ute). The default log-level is 'w'. -Qm is equivalent to
|
|
-q. All log messages are written to standard error.
|
|
|
|
-b Show large binary values (default is to suppress them).
|
|
|
|
-u Show unknown tags (default is to suppress tags which don't have
|
|
a name).
|
|
|
|
-g key Only keys which match the given key (grep).
|
|
Multiple -g options can be used to grep info for several keys.
|
|
When the library is build with C++11, keys are matched using
|
|
std::regex::extended. When build without C++11, keys are pro-
|
|
cessed with the system regular expression engine: see man 3
|
|
regex. Platforms which do not support regex use key for a sub-
|
|
string match. You can determine the availability of regex using
|
|
the command: exiv2 -v -V -g have_regex -g cplusplus.
|
|
|
|
exiv2 -g Date -pt R.jpg
|
|
Exif.Image.DateTime Ascii 20 2012:08:07 16:01:05
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-g (--grep) is only applied to keys. It is not generally
|
|
applied to all output such as the default -ps report.
|
|
|
|
The key may finish with the optional modifier /i to indicated
|
|
case insensitive.
|
|
|
|
-K key Only report data for given key.
|
|
Multiple -K options can be used to report more than a single
|
|
key.
|
|
|
|
exiv2 -K Exif.Photo.DateTimeDigitized -K Exif.Photo.DateTimeOriginal -pt R.jpg
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-n enc Charset to use to decode Exif Unicode user comments. enc is a
|
|
name understood by iconv_open(3), e.g., 'UTF-8'.
|
|
|
|
-k Preserve file timestamps when updating files (keep). Can be used
|
|
with all options which update files. The flag is ignored by
|
|
read-only options.
|
|
|
|
-t Set the file timestamp according to the Exif create timestamp in
|
|
addition to renaming the file (overrides -k). This option is
|
|
only used with the 'rename' action.
|
|
|
|
-T Only set the file timestamp according to the Exif create time-
|
|
stamp, do not rename the file (overrides -k). This option is
|
|
only used with the 'rename' action. Note: On Windows you may
|
|
have to set the TZ environment variable for this option to work
|
|
correctly.
|
|
|
|
-f Do not prompt before overwriting existing files (force over-
|
|
write).
|
|
|
|
-F Do not prompt before renaming files (Force rename). Appends '_1'
|
|
('_2', ...) to the name of the new file.
|
|
|
|
-a time
|
|
Time adjustment in the format [-]HH[:MM[:SS]]. This option is
|
|
only used with the 'adjust' action. Examples: 1 adds one hour,
|
|
1:01 adds one hour and one minute, -0:00:30 subtracts 30 sec-
|
|
onds.
|
|
|
|
-Y yrs Time adjustment by a positive or negative number of years, for
|
|
the 'adjust' action.
|
|
|
|
-O mon Time adjustment by a positive or negative number of months, for
|
|
the 'adjust' action.
|
|
|
|
-D day Time adjustment by a positive or negative number of days, for
|
|
the 'adjust' action.
|
|
|
|
-p mode
|
|
Print mode for the 'print' action. Possible modes are:
|
|
s : print a summary of the Exif metadata (the default)
|
|
a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)
|
|
e : print Exif metadata (shortcut for -PEkycv)
|
|
t : interpreted (translated) Exif tags (-PEkyct)
|
|
v : plain Exif tag values (-PExgnycv)
|
|
h : hexdump of the Exif data (-PExgnycsh)
|
|
i : IPTC datasets (-PIkyct)
|
|
x : XMP properties (-PXkyct)
|
|
c : JPEG comment
|
|
p : list available image previews, sorted by preview image size
|
|
in pixels
|
|
C : print image ICC Profile (jpg, png, tiff, webp, cr2, jp2
|
|
only)
|
|
R : print image structure recursively (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
S : print image structure information (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
X : print "raw" XMP (jpg, png, tiff, webp, cr2, jp2 only)
|
|
|
|
-P flgs
|
|
Print flags for fine control of the tag list ('print' action).
|
|
Allows control of the type of metadata as well as data columns
|
|
included in the print output. Valid flags are:
|
|
E : include Exif tags in the list
|
|
I : IPTC datasets
|
|
X : XMP properties
|
|
x : print a column with the tag number
|
|
g : group name
|
|
k : key
|
|
l : tag label
|
|
n : tag name
|
|
y : type
|
|
c : number of components (count)
|
|
s : size in bytes
|
|
v : plain data value (vanilla values)
|
|
V : plain data value AND the word 'set ' (for use with exiv2
|
|
-m-)
|
|
t : interpreted (translated) human readable data
|
|
h : hexdump of the data
|
|
|
|
-d tgt Delete target(s) for the 'delete' action. Possible targets are:
|
|
a : all supported metadata (the default)
|
|
e : Exif section
|
|
t : Exif thumbnail only
|
|
i : IPTC data
|
|
x : XMP packet
|
|
c : JPEG comment
|
|
C : ICC Profile
|
|
I : All IPTC data
|
|
|
|
-i tgt Insert target(s) for the 'insert' action. Possible targets are
|
|
the same as those for the -d option, plus an optional modifier:
|
|
|
|
X : Insert metadata from an XMP sidecar file <file>.xmp. The
|
|
remaining insert targets determine what metadata to insert from
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these. Note that the inserted XMP properties
|
|
include those converted to Exif and IPTC.
|
|
|
|
XX: Insert "raw" XMP metadata from a sidecar (see option -pX)
|
|
|
|
- : Read from stdin. This option is intended for "filter" oper-
|
|
ations such as:
|
|
$ exiv2 -e{tgt}- filename | xmllint .... | exiv2 -i{tgt}- file-
|
|
name
|
|
|
|
Only JPEG thumbnails can be inserted (not TIFF thumbnails), and
|
|
must be named file-thumb.jpg.
|
|
|
|
-e tgt Extract target(s) for the 'extract' action. Possible targets are
|
|
the same as those for the -d option, plus a target to extract
|
|
preview images and a modifier to generate an XMP sidecar file:
|
|
p[<n>[,<m> ...]] : Extract preview images. The optional comma
|
|
separated list of preview image numbers is used to determine
|
|
which preview images to extract. The available preview images
|
|
and their numbers are displayed with the 'print' option -pp.
|
|
|
|
C : Extract embedded ICC profile to <file>.icc
|
|
|
|
X : Extract metadata to an XMP sidecar file <file>.xmp. The
|
|
remaining extract targets determine what metadata to extract to
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these.
|
|
|
|
XX: Extract "raw" XMP metadata to a sidecar (see -pX)
|
|
You may not use modify commands with the -eXX option and
|
|
only XMP is written to the sidecar.
|
|
|
|
- : Output to stdout (see -i tgt for an example of this feature)
|
|
|
|
|
|
-r fmt Filename format for the 'rename' action. The format string fol-
|
|
lows strftime(3) and supports the following keywords:
|
|
|
|
:basename: original filename without extension
|
|
:dirname: name of the directory holding the original file
|
|
:parentname: name of parent directory
|
|
Default filename format is %Y%m%d_%H%M%S.
|
|
|
|
-c txt JPEG comment string to set in the image ('modify' action). This
|
|
option can also be used with the 'extract' and 'insert' actions
|
|
to modify metadata on-the-fly.
|
|
|
|
-m file
|
|
Command file for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. -m- represents standard-input.
|
|
|
|
-M cmd Command line for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. The format for the commands is the same as that of
|
|
the lines of a command file.
|
|
|
|
-l dir Location (directory) for files to be inserted or extracted.
|
|
|
|
-S .suf
|
|
Use suffix .suf for source files in 'insert' action.
|
|
|
|
COMMANDS
|
|
Commands for the 'modify' action can be read from a command file, e.g.,
|
|
|
|
exiv2 -m cmd.txt image.jpg
|
|
|
|
or given on the command line, as in
|
|
|
|
exiv2 -M"add Iptc.Application2.Credit String Mr. Smith" image.jpg
|
|
|
|
Note the quotes. Multiple -m and -M options can be combined, and a non-
|
|
standard XMP namespace registered.
|
|
|
|
exiv2 -M"reg myprefix http://ns.myprefix.me/" -M"add Xmp.myprefix.Whom Mr. Smith" -M"set Exif.Image.Artist Mr. Smith" image.jpg
|
|
|
|
When writing Exif, IPTC and XMP metadata, exiv2 enforces only a correct
|
|
metadata structure. It is possible to write tags with types and values
|
|
different from those specified in the standards, duplicate Exif tags,
|
|
undefined tags, or incomplete metadata. While exiv2 is able to read all
|
|
metadata that it can write, other programs may have difficulties with
|
|
images that contain non standard-conforming metadata.
|
|
|
|
Command format
|
|
The format of a command is
|
|
|
|
set | add | del key [[type] value]
|
|
|
|
set Set the value of an existing tag with a matching key or add the
|
|
tag.
|
|
|
|
add Add a tag (unless key is a non-repeatable IPTC key; nothing pre-
|
|
vents you from adding duplicate Exif tags).
|
|
|
|
del Delete all occurrences of a tag (requires only a key).
|
|
|
|
key Exiv2 Exif, IPTC or XMP key.
|
|
|
|
type Byte | Ascii | Short | Long | Rational | Undefined | SShort |
|
|
SLong | SRational | Comment for Exif keys,
|
|
String | Date | Time | Short | Undefined for IPTC keys, and
|
|
XmpText | XmpAlt | XmpBag | XmpSeq | LangAlt for XMP keys.
|
|
|
|
A default type is used if none is explicitly given. The default
|
|
is determined based on key.
|
|
|
|
value The remaining text on the line is the value. It can optionally
|
|
be enclosed in single quotes ('value') or double quotes
|
|
("value").
|
|
|
|
The value is optional. Not providing any value is equivalent to
|
|
an empty value ("") and is mainly useful to create an XMP array
|
|
property, e.g., a bag.
|
|
|
|
The format of Exif Comment values includes an optional charset
|
|
specification at the beginning:
|
|
[charset=Ascii|Jis|Unicode|Undefined ]comment
|
|
|
|
Undefined is used by default if the value doesn't start with a
|
|
charset definition.
|
|
|
|
The format for an IPTC Date value is:
|
|
|
|
YYYY-MM-DD (year, month, day)
|
|
|
|
The format for an IPTC Time value is:
|
|
|
|
HH:MM:SS (hours, minutes, seconds)
|
|
|
|
and may optionally be followed by:
|
|
|
|
-HH:MM or +HH:MM (hours, minutes ahead/behind UTC)
|
|
|
|
The format of Rational (and SRational) is one of:
|
|
|
|
integer | integer/integer | Fnumber | number
|
|
|
|
Rational Examples:
|
|
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue 557429/62500" X.jpg
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue F5.6" X.jpg
|
|
|
|
The Rational format Fnumber is for the convenience of setting
|
|
aperture values. Aperture values are stored in Exif is an APEX
|
|
value which can be evaluated by the expression:
|
|
|
|
apex-value = log(Fnumber) * 2.0 / log(2.0)
|
|
number = exp(apex-value * log(2.0) / 2.0)
|
|
|
|
The Rational format Fnumber is valid for any Rational, even when
|
|
the key is not an Aperture. More information about APEX value
|
|
is available from: http://en.wikipedia.org/wiki/APEX_system
|
|
|
|
The format of XMP LangAlt values includes an optional language
|
|
qualifier:
|
|
lang="language-code" text
|
|
|
|
lang="x-default" is used if the value doesn't start with a lan-
|
|
guage qualifier.
|
|
|
|
$ exiv2 -M'set Xmp.dc.title lang="de-DE" Euros' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-GB" Pounds' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-US" In God We Trust' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title All others pay cash' X.jpg
|
|
|
|
To remove a language specification, set the value to '' (empty
|
|
string)
|
|
exiv2 -M'set Xmp.dc.title lang="en-US"' X.jpg
|
|
To remove all language specifications, delete the key:
|
|
$ exiv2 -M'del Xmp.dc.title' X.jpg
|
|
To register additional XMP namespaces, combine the command with:
|
|
reg prefix namespace
|
|
|
|
Command file format
|
|
Empty lines and lines starting with # in a command file are ignored
|
|
(comments). Remaining lines are commands as described above.
|
|
|
|
EXAMPLES
|
|
exiv2 *.jpg
|
|
Prints a summary of the Exif information for all JPEG files in
|
|
the directory.
|
|
|
|
exiv2 -pi image.jpg
|
|
Prints the IPTC metadata of the image.
|
|
|
|
exiv2 rename img_1234.jpg
|
|
Renames img_1234.jpg (taken on 13-Nov-05 at 22:58:31) to
|
|
20051113_225831.jpg
|
|
|
|
exiv2 -r':basename:_%Y%m' rename img_1234.jpg
|
|
Renames img_1234.jpg to img_1234_200511.jpg
|
|
|
|
exiv2 -et img1.jpg img2.jpg
|
|
Extracts the Exif thumbnails from the two files into
|
|
img1-thumb.jpg and img2-thumb.jpg.
|
|
|
|
exiv2 -it img1.jpg img2.jpg
|
|
Inserts (copies) metadata from img1.exv to img1.jpg and from
|
|
img2.exv to img2.jpg.
|
|
|
|
exiv2 -ep1,2 image.jpg
|
|
Extracts previews 1 and 2 from the image to the files image-pre-
|
|
view1.jpg and image-preview2.jpg.
|
|
|
|
exiv2 -eiX image.jpg
|
|
Extracts IPTC datasets into an XMP sidecar file image.xmp and in
|
|
the process converts them to "IPTC Core" XMP schema.
|
|
|
|
exiv2 -iixX image.jpg
|
|
Inserts IPTC and XMP metadata from an XMP sidecar file image.xmp
|
|
into image.jpg. The resulting IPTC datasets are converted from
|
|
the "IPTC Core" XMP schema properties in the sidecar file to the
|
|
older IPTC IIM4 format. The inserted XMP properties include
|
|
those in the "IPTC Core" XMP schema.
|
|
|
|
exiv2 -M"set Exif.Photo.UserComment charset=Ascii New Exif comment"
|
|
image.jpg
|
|
Sets the Exif comment to an ASCII string.
|
|
|
|
exiv2 -M"set Exif.GPSInfo.GPSLatitude 4/1 15/1 33/1" \ -M"set
|
|
Exif.GPSInfo.GPSLatitudeRef N" image.jpg
|
|
Sets the latitude to 4 degrees, 15 minutes and 33 seconds north.
|
|
The Exif standard stipulates that the GPSLatitude tag consists
|
|
of three Rational numbers for the degrees, minutes and seconds
|
|
of the latitude and GPSLatitudeRef contains either 'N' or 'S'
|
|
for north or south latitude respectively.
|
|
|
|
exiv2 insert -l/tmp -S.CRW /data/*.JPG
|
|
Copy all metadata from CRW files in the /tmp directory to JPG
|
|
files with corresponding basenames in the /data directory. Note
|
|
that this copies metadata as is, without any modifications to
|
|
adapt it to the requirements of the target format. Some tags
|
|
copied like this may not make sense in the target image.
|
|
|
|
SEE ALSO
|
|
http://www.exiv2.org/sample.html#modify
|
|
Sample command files.
|
|
|
|
http://www.exiv2.org/metadata.html
|
|
Taglists with key and default type values.
|
|
|
|
AUTHORS
|
|
exiv2 was written by Andreas Huggel and others. The Exiv2 project web
|
|
site is http://exiv2.org
|
|
|
|
This manual page was originally created for the Debian project by KELE-
|
|
MEN Peter <fuji@debian.org>.
|
|
|
|
|
|
|
|
Oct 19, 2016 EXIV2(1)
|
|
EXIV2(1) EXIV2(1)
|
|
|
|
|
|
|
|
NAME
|
|
exiv2 - Image metadata manipulation tool
|
|
|
|
SYNOPSIS
|
|
exiv2 [options] [action] file ...
|
|
|
|
DESCRIPTION
|
|
exiv2 is a program to read and write Exif, IPTC, XMP metadata and image
|
|
comments and can read many vendor makernote tags. The program option-
|
|
ally converts between Exif tags, XMP properties and IPTC datasets as
|
|
recommended by the Exif Standard, the IPTC Standard, the XMP specifica-
|
|
tion and Metadata Working Group guidelines.
|
|
The following image formats are supported:
|
|
|
|
Type Exif IPTC XMP Image Comments ICC Profile
|
|
----------------------------------------------------------------------------------
|
|
JPEG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
EXV Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
CR2 Read/Write Read/Write Read/Write - Read/Write
|
|
CRW Read/Write - - Read/Write -
|
|
MRW Read Read Read - -
|
|
TIFF Read/Write Read/Write Read/Write - Read/Write
|
|
WEBP Read/Write - Read/Write - Read/Write
|
|
DNG Read/Write Read/Write Read/Write - Read/Write
|
|
NEF Read/Write Read/Write Read/Write - Read/Write
|
|
PEF Read/Write Read/Write Read/Write - Read/Write
|
|
ARW Read Read Read - -
|
|
RW2 Read Read Read - -
|
|
SR2 Read Read Read - -
|
|
SRW Read/Write Read/Write Read/Write - -
|
|
ORF Read/Write Read/Write Read/Write - -
|
|
PNG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
PGF Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
RAF Read Read Read - -
|
|
EPS - - Read/Write - -
|
|
XMP - - Read/Write - -
|
|
GIF - - - - -
|
|
PSD Read/Write Read/Write Read/Write - -
|
|
TGA - - - - -
|
|
BMP - - - - -
|
|
JP2 Read/Write Read/Write Read/Write - Read/Write
|
|
|
|
o Support for GIF, TGA and BMP images is minimal: the image format is
|
|
recognized, a MIME type assigned to it and the height and width of
|
|
the image are determined.
|
|
|
|
o Reading other TIFF-like RAW image formats, which are not listed in
|
|
the table, may also work.
|
|
|
|
ACTIONS
|
|
The action argument is only required if it is not clear from the
|
|
options which action is implied.
|
|
|
|
pr | print
|
|
Print image metadata. This is the default action, i.e., the com-
|
|
mand exiv2 image.jpg will print a summary of the image Exif
|
|
metadata.
|
|
|
|
ex | extract
|
|
Extract metadata to *.exv, XMP sidecar (*.xmp) and thumbnail
|
|
image files. Modification commands can be applied on-the-fly.
|
|
|
|
in | insert
|
|
Insert metadata from corresponding *.exv, XMP sidecar (*.xmp)
|
|
and thumbnail files. Use option -S .suf to change the suffix of
|
|
the input files. Since files of any supported format can be used
|
|
as input files, this command can be used to copy the metadata
|
|
between files of different formats. Modification commands can be
|
|
applied on-the-fly.
|
|
|
|
rm | delete
|
|
Delete image metadata from the files.
|
|
|
|
ad | adjust
|
|
Adjust Exif timestamps by the given time. Requires at least one
|
|
of the options -a time, -Y yrs, -O mon or -D day.
|
|
|
|
mo | modify
|
|
Apply commands to modify (add, set, delete) the Exif, IPTC and
|
|
XMP metadata of image files. Requires option -c, -m or -M.
|
|
|
|
mv | rename
|
|
Rename files and/or set file timestamps according to the Exif
|
|
create timestamp. Uses the value of tag Exif.Photo.DateTimeOrig-
|
|
inal or, if not present, Exif.Image.DateTime to determine the
|
|
timestamp. The filename format can be set with -r fmt, timestamp
|
|
options are -t and -T.
|
|
|
|
fi | fixiso
|
|
Copy the ISO setting from one of the proprietary Nikon or Canon
|
|
makernote ISO tags to the regular Exif ISO tag,
|
|
Exif.Photo.ISOSpeedRatings. Does not overwrite an existing stan-
|
|
dard Exif ISO tag.
|
|
|
|
fc | fixcom
|
|
Fix the character encoding of Exif Unicode user comments.
|
|
Decodes the comment using the auto-detected or specified charac-
|
|
ter encoding and writes it back in UCS-2. Use option -n to spec-
|
|
ify the current encoding of the comment if necessary.
|
|
|
|
COMMAND SUMMARY
|
|
exiv2 [ opt [arg] ]+ [ act ] file ...
|
|
|
|
option [arg] long option description
|
|
-a tim --adjust Modify time stamps. [+|-]HH[:MM[:SS[.mmm]]]
|
|
-b --binary Show large binary values (default is to suppress them).
|
|
-c txt --comment JPEG comment string to set in the image ('modify' action). ...
|
|
-d tgt --delete Delete target(s) for the 'delete' action. ...
|
|
-D +-n --days Time adjustment by a positive or negative number of days ...
|
|
-e tgt --extract Extract target(s) for the 'extract' action.
|
|
-f --force Do not prompt before overwriting existing files ...
|
|
-F --Force Do not prompt before renaming files (Force rename) ...
|
|
-g key --grep Only output info for this Exiv2 key
|
|
-h --help Display help and exit.
|
|
-i tgt --insert Insert target(s) for the 'insert' action. ...
|
|
-k --keep Preserve file timestamps when updating files
|
|
-K key --key Report key. Similar to -g (grep) however key must match exactly.
|
|
-l dir --location Location (directory) for files to be inserted or extracted.
|
|
-m file --modify read commands from cmd-file
|
|
-M cmd --Modify Command line for the 'modify' action. ...
|
|
-n enc --encode Charset to decode Exif Unicode user comments. See: man 3 iconv_open
|
|
-O +-n --months Time adjustment by a positive or negative number of months, ...
|
|
-p mod --print Print report (common reports)
|
|
-P flg --Print Print report (fine grained control)
|
|
-q --quiet Silence warnings and error messages from the Exiv2 library ...
|
|
-Q lvl --log Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
-r fmt --rename Filename format for the 'rename' action. ...
|
|
-S suf --suffix Use suffix .suf for source files for insert command.
|
|
-t --timestamp Set the file timestamp according to the Exif create timestamp ...
|
|
-T --Timestamp Only set the file timestamp according to Exif create timestamp ...
|
|
-u --unknown Show unknown tags ...
|
|
-v --verbose verbose
|
|
-V --version Show the program version and exit.
|
|
-Y +-n --years Time adjustment by a positive or negative number of years ...
|
|
|
|
act pr | ex | in | rm | ad | mo | mv | fi | fc
|
|
print, extract, insert, delete, adjust, modify, rename, fixiso, fixcom
|
|
|
|
cmd See "Commands" below.
|
|
|
|
flg E | I | X | x | g | k | l | n | y | c | s | v | t | h
|
|
Exif, IPTC, XMP, num, grp, key, label, name, type, count, size, vanilla, translated, hex
|
|
|
|
fmt Default format is %Y%m%d_%H%M%S.
|
|
|
|
lvl d | i | i | w | e
|
|
debug, info, warning, error
|
|
|
|
mod s | a | e | t | v | h | i | x | c | p | i | C | R | S | X
|
|
summary, all, exif, translated, vanilla, hex, iptc, xmp, comment, preview,
|
|
ICC Profile, Recursive Structure, Simple Structure, raw XMP
|
|
|
|
tgt a | c | e | i | p | t | x | C | X | XX | -
|
|
all, comment, exif, iptc, preview, thumb, xmp, ICC Profile, SideCar, RawXMP, stdin/out
|
|
|
|
|
|
OPTIONS
|
|
-h Display help and exit.
|
|
|
|
-V Show the program version and exit.
|
|
When -V is combined with -v (Verbose version), build information
|
|
is printed to standard output along with a list of shared
|
|
libraries which have been loaded into memory. Verbose version is
|
|
supported on Windows (MSVC, Cygwin and MinGW builds), MacOSX and
|
|
Linux and is provided for test and debugging.
|
|
|
|
-v Be verbose during the program run.
|
|
|
|
-q Silence warnings and error messages from the Exiv2 library dur-
|
|
ing the program run (quiet). Note that options -v and -q can be
|
|
used at the same time.
|
|
|
|
-Q lvl Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
or 'm'(ute). The default log-level is 'w'. -Qm is equivalent to
|
|
-q. All log messages are written to standard error.
|
|
|
|
-b Show large binary values (default is to suppress them).
|
|
|
|
-u Show unknown tags (default is to suppress tags which don't have
|
|
a name).
|
|
|
|
-g key Only keys which match the given key (grep).
|
|
Multiple -g options can be used to grep info for several keys.
|
|
When the library is build with C++11, keys are matched using
|
|
std::regex::extended. When build without C++11, keys are pro-
|
|
cessed with the system regular expression engine: see man 3
|
|
regex. Platforms which do not support regex use key for a sub-
|
|
string match. You can determine the availability of regex using
|
|
the command: exiv2 -v -V -g have_regex -g cplusplus.
|
|
|
|
exiv2 -g Date -pt R.jpg
|
|
Exif.Image.DateTime Ascii 20 2012:08:07 16:01:05
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-g (--grep) is only applied to keys. It is not generally
|
|
applied to all output such as the default -ps report.
|
|
|
|
The key may finish with the optional modifier /i to indicated
|
|
case insensitive.
|
|
|
|
-K key Only report data for given key.
|
|
Multiple -K options can be used to report more than a single
|
|
key.
|
|
|
|
exiv2 -K Exif.Photo.DateTimeDigitized -K Exif.Photo.DateTimeOriginal -pt R.jpg
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-n enc Charset to use to decode Exif Unicode user comments. enc is a
|
|
name understood by iconv_open(3), e.g., 'UTF-8'.
|
|
|
|
-k Preserve file timestamps when updating files (keep). Can be used
|
|
with all options which update files. The flag is ignored by
|
|
read-only options.
|
|
|
|
-t Set the file timestamp according to the Exif create timestamp in
|
|
addition to renaming the file (overrides -k). This option is
|
|
only used with the 'rename' action.
|
|
|
|
-T Only set the file timestamp according to the Exif create time-
|
|
stamp, do not rename the file (overrides -k). This option is
|
|
only used with the 'rename' action. Note: On Windows you may
|
|
have to set the TZ environment variable for this option to work
|
|
correctly.
|
|
|
|
-f Do not prompt before overwriting existing files (force over-
|
|
write).
|
|
|
|
-F Do not prompt before renaming files (Force rename). Appends '_1'
|
|
('_2', ...) to the name of the new file.
|
|
|
|
-a time
|
|
Time adjustment in the format [-]HH[:MM[:SS]]. This option is
|
|
only used with the 'adjust' action. Examples: 1 adds one hour,
|
|
1:01 adds one hour and one minute, -0:00:30 subtracts 30 sec-
|
|
onds.
|
|
|
|
-Y yrs Time adjustment by a positive or negative number of years, for
|
|
the 'adjust' action.
|
|
|
|
-O mon Time adjustment by a positive or negative number of months, for
|
|
the 'adjust' action.
|
|
|
|
-D day Time adjustment by a positive or negative number of days, for
|
|
the 'adjust' action.
|
|
|
|
-p mode
|
|
Print mode for the 'print' action. Possible modes are:
|
|
s : print a summary of the Exif metadata (the default)
|
|
a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)
|
|
e : print Exif metadata (shortcut for -PEkycv)
|
|
t : interpreted (translated) Exif tags (-PEkyct)
|
|
v : plain Exif tag values (-PExgnycv)
|
|
h : hexdump of the Exif data (-PExgnycsh)
|
|
i : IPTC datasets (-PIkyct)
|
|
x : XMP properties (-PXkyct)
|
|
c : JPEG comment
|
|
p : list available image previews, sorted by preview image size
|
|
in pixels
|
|
C : print image ICC Profile (jpg, png, tiff, webp, cr2, jp2
|
|
only)
|
|
R : print image structure recursively (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
S : print image structure information (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
X : print "raw" XMP (jpg, png, tiff, webp, cr2, jp2 only)
|
|
|
|
-P flgs
|
|
Print flags for fine control of the tag list ('print' action).
|
|
Allows control of the type of metadata as well as data columns
|
|
included in the print output. Valid flags are:
|
|
E : include Exif tags in the list
|
|
I : IPTC datasets
|
|
X : XMP properties
|
|
x : print a column with the tag number
|
|
g : group name
|
|
k : key
|
|
l : tag label
|
|
n : tag name
|
|
y : type
|
|
c : number of components (count)
|
|
s : size in bytes
|
|
v : plain data value (vanilla values)
|
|
V : plain data value AND the word 'set ' (for use with exiv2
|
|
-m-)
|
|
t : interpreted (translated) human readable data
|
|
h : hexdump of the data
|
|
|
|
-d tgt Delete target(s) for the 'delete' action. Possible targets are:
|
|
a : all supported metadata (the default)
|
|
e : Exif section
|
|
t : Exif thumbnail only
|
|
i : IPTC data
|
|
x : XMP packet
|
|
c : JPEG comment
|
|
C : ICC Profile
|
|
I : All IPTC data
|
|
|
|
-i tgt Insert target(s) for the 'insert' action. Possible targets are
|
|
the same as those for the -d option, plus an optional modifier:
|
|
|
|
X : Insert metadata from an XMP sidecar file <file>.xmp. The
|
|
remaining insert targets determine what metadata to insert from
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these. Note that the inserted XMP properties
|
|
include those converted to Exif and IPTC.
|
|
|
|
XX: Insert "raw" XMP metadata from a sidecar (see option -pX)
|
|
|
|
- : Read from stdin. This option is intended for "filter" oper-
|
|
ations such as:
|
|
$ exiv2 -e{tgt}- filename | xmllint .... | exiv2 -i{tgt}- file-
|
|
name
|
|
|
|
Only JPEG thumbnails can be inserted (not TIFF thumbnails), and
|
|
must be named file-thumb.jpg.
|
|
|
|
-e tgt Extract target(s) for the 'extract' action. Possible targets are
|
|
the same as those for the -d option, plus a target to extract
|
|
preview images and a modifier to generate an XMP sidecar file:
|
|
p[<n>[,<m> ...]] : Extract preview images. The optional comma
|
|
separated list of preview image numbers is used to determine
|
|
which preview images to extract. The available preview images
|
|
and their numbers are displayed with the 'print' option -pp.
|
|
|
|
C : Extract embedded ICC profile to <file>.icc
|
|
|
|
X : Extract metadata to an XMP sidecar file <file>.xmp. The
|
|
remaining extract targets determine what metadata to extract to
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these.
|
|
|
|
XX: Extract "raw" XMP metadata to a sidecar (see -pX)
|
|
You may not use modify commands with the -eXX option and
|
|
only XMP is written to the sidecar.
|
|
|
|
- : Output to stdout (see -i tgt for an example of this feature)
|
|
|
|
|
|
-r fmt Filename format for the 'rename' action. The format string fol-
|
|
lows strftime(3) and supports the following keywords:
|
|
|
|
:basename: original filename without extension
|
|
:dirname: name of the directory holding the original file
|
|
:parentname: name of parent directory
|
|
Default filename format is %Y%m%d_%H%M%S.
|
|
|
|
-c txt JPEG comment string to set in the image ('modify' action). This
|
|
option can also be used with the 'extract' and 'insert' actions
|
|
to modify metadata on-the-fly.
|
|
|
|
-m file
|
|
Command file for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. -m- represents standard-input.
|
|
|
|
-M cmd Command line for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. The format for the commands is the same as that of
|
|
the lines of a command file.
|
|
|
|
-l dir Location (directory) for files to be inserted or extracted.
|
|
|
|
-S .suf
|
|
Use suffix .suf for source files in 'insert' action.
|
|
|
|
COMMANDS
|
|
Commands for the 'modify' action can be read from a command file, e.g.,
|
|
|
|
exiv2 -m cmd.txt image.jpg
|
|
|
|
or given on the command line, as in
|
|
|
|
exiv2 -M"add Iptc.Application2.Credit String Mr. Smith" image.jpg
|
|
|
|
Note the quotes. Multiple -m and -M options can be combined, and a non-
|
|
standard XMP namespace registered.
|
|
|
|
exiv2 -M"reg myprefix http://ns.myprefix.me/" -M"add Xmp.myprefix.Whom Mr. Smith" -M"set Exif.Image.Artist Mr. Smith" image.jpg
|
|
|
|
When writing Exif, IPTC and XMP metadata, exiv2 enforces only a correct
|
|
metadata structure. It is possible to write tags with types and values
|
|
different from those specified in the standards, duplicate Exif tags,
|
|
undefined tags, or incomplete metadata. While exiv2 is able to read all
|
|
metadata that it can write, other programs may have difficulties with
|
|
images that contain non standard-conforming metadata.
|
|
|
|
Command format
|
|
The format of a command is
|
|
|
|
set | add | del key [[type] value]
|
|
|
|
set Set the value of an existing tag with a matching key or add the
|
|
tag.
|
|
|
|
add Add a tag (unless key is a non-repeatable IPTC key; nothing pre-
|
|
vents you from adding duplicate Exif tags).
|
|
|
|
del Delete all occurrences of a tag (requires only a key).
|
|
|
|
key Exiv2 Exif, IPTC or XMP key.
|
|
|
|
type Byte | Ascii | Short | Long | Rational | Undefined | SShort |
|
|
SLong | SRational | Comment for Exif keys,
|
|
String | Date | Time | Short | Undefined for IPTC keys, and
|
|
XmpText | XmpAlt | XmpBag | XmpSeq | LangAlt for XMP keys.
|
|
|
|
A default type is used if none is explicitly given. The default
|
|
is determined based on key.
|
|
|
|
value The remaining text on the line is the value. It can optionally
|
|
be enclosed in single quotes ('value') or double quotes
|
|
("value").
|
|
|
|
The value is optional. Not providing any value is equivalent to
|
|
an empty value ("") and is mainly useful to create an XMP array
|
|
property, e.g., a bag.
|
|
|
|
The format of Exif Comment values includes an optional charset
|
|
specification at the beginning:
|
|
[charset=Ascii|Jis|Unicode|Undefined ]comment
|
|
|
|
Undefined is used by default if the value doesn't start with a
|
|
charset definition.
|
|
|
|
The format for an IPTC Date value is:
|
|
|
|
YYYY-MM-DD (year, month, day)
|
|
|
|
The format for an IPTC Time value is:
|
|
|
|
HH:MM:SS (hours, minutes, seconds)
|
|
|
|
and may optionally be followed by:
|
|
|
|
-HH:MM or +HH:MM (hours, minutes ahead/behind UTC)
|
|
|
|
The format of Rational (and SRational) is one of:
|
|
|
|
integer | integer/integer | Fnumber | number
|
|
|
|
Rational Examples:
|
|
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue 557429/62500" X.jpg
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue F5.6" X.jpg
|
|
|
|
The Rational format Fnumber is for the convenience of setting
|
|
aperture values. Aperture values are stored in Exif is an APEX
|
|
value which can be evaluated by the expression:
|
|
|
|
apex-value = log(Fnumber) * 2.0 / log(2.0)
|
|
number = exp(apex-value * log(2.0) / 2.0)
|
|
|
|
The Rational format Fnumber is valid for any Rational, even when
|
|
the key is not an Aperture. More information about APEX value
|
|
is available from: http://en.wikipedia.org/wiki/APEX_system
|
|
|
|
The format of XMP LangAlt values includes an optional language
|
|
qualifier:
|
|
lang="language-code" text
|
|
|
|
lang="x-default" is used if the value doesn't start with a lan-
|
|
guage qualifier.
|
|
|
|
$ exiv2 -M'set Xmp.dc.title lang="de-DE" Euros' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-GB" Pounds' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-US" In God We Trust' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title All others pay cash' X.jpg
|
|
|
|
To remove a language specification, set the value to '' (empty
|
|
string)
|
|
exiv2 -M'set Xmp.dc.title lang="en-US"' X.jpg
|
|
To remove all language specifications, delete the key:
|
|
$ exiv2 -M'del Xmp.dc.title' X.jpg
|
|
To register additional XMP namespaces, combine the command with:
|
|
reg prefix namespace
|
|
|
|
Command file format
|
|
Empty lines and lines starting with # in a command file are ignored
|
|
(comments). Remaining lines are commands as described above.
|
|
|
|
EXAMPLES
|
|
exiv2 *.jpg
|
|
Prints a summary of the Exif information for all JPEG files in
|
|
the directory.
|
|
|
|
exiv2 -pi image.jpg
|
|
Prints the IPTC metadata of the image.
|
|
|
|
exiv2 rename img_1234.jpg
|
|
Renames img_1234.jpg (taken on 13-Nov-05 at 22:58:31) to
|
|
20051113_225831.jpg
|
|
|
|
exiv2 -r':basename:_%Y%m' rename img_1234.jpg
|
|
Renames img_1234.jpg to img_1234_200511.jpg
|
|
|
|
exiv2 -et img1.jpg img2.jpg
|
|
Extracts the Exif thumbnails from the two files into
|
|
img1-thumb.jpg and img2-thumb.jpg.
|
|
|
|
exiv2 -it img1.jpg img2.jpg
|
|
Inserts (copies) metadata from img1.exv to img1.jpg and from
|
|
img2.exv to img2.jpg.
|
|
|
|
exiv2 -ep1,2 image.jpg
|
|
Extracts previews 1 and 2 from the image to the files image-pre-
|
|
view1.jpg and image-preview2.jpg.
|
|
|
|
exiv2 -eiX image.jpg
|
|
Extracts IPTC datasets into an XMP sidecar file image.xmp and in
|
|
the process converts them to "IPTC Core" XMP schema.
|
|
|
|
exiv2 -iixX image.jpg
|
|
Inserts IPTC and XMP metadata from an XMP sidecar file image.xmp
|
|
into image.jpg. The resulting IPTC datasets are converted from
|
|
the "IPTC Core" XMP schema properties in the sidecar file to the
|
|
older IPTC IIM4 format. The inserted XMP properties include
|
|
those in the "IPTC Core" XMP schema.
|
|
|
|
exiv2 -M"set Exif.Photo.UserComment charset=Ascii New Exif comment"
|
|
image.jpg
|
|
Sets the Exif comment to an ASCII string.
|
|
|
|
exiv2 -M"set Exif.GPSInfo.GPSLatitude 4/1 15/1 33/1" \ -M"set
|
|
Exif.GPSInfo.GPSLatitudeRef N" image.jpg
|
|
Sets the latitude to 4 degrees, 15 minutes and 33 seconds north.
|
|
The Exif standard stipulates that the GPSLatitude tag consists
|
|
of three Rational numbers for the degrees, minutes and seconds
|
|
of the latitude and GPSLatitudeRef contains either 'N' or 'S'
|
|
for north or south latitude respectively.
|
|
|
|
exiv2 insert -l/tmp -S.CRW /data/*.JPG
|
|
Copy all metadata from CRW files in the /tmp directory to JPG
|
|
files with corresponding basenames in the /data directory. Note
|
|
that this copies metadata as is, without any modifications to
|
|
adapt it to the requirements of the target format. Some tags
|
|
copied like this may not make sense in the target image.
|
|
|
|
SEE ALSO
|
|
http://www.exiv2.org/sample.html#modify
|
|
Sample command files.
|
|
|
|
http://www.exiv2.org/metadata.html
|
|
Taglists with key and default type values.
|
|
|
|
AUTHORS
|
|
exiv2 was written by Andreas Huggel and others. The Exiv2 project web
|
|
site is http://exiv2.org
|
|
|
|
This manual page was originally created for the Debian project by KELE-
|
|
MEN Peter <fuji@debian.org>.
|
|
|
|
|
|
|
|
Oct 19, 2016 EXIV2(1)
|
|
EXIV2(1) EXIV2(1)
|
|
|
|
|
|
|
|
NAME
|
|
exiv2 - Image metadata manipulation tool
|
|
|
|
SYNOPSIS
|
|
exiv2 [options] [action] file ...
|
|
|
|
DESCRIPTION
|
|
exiv2 is a program to read and write Exif, IPTC, XMP metadata and image
|
|
comments and can read many vendor makernote tags. The program option-
|
|
ally converts between Exif tags, XMP properties and IPTC datasets as
|
|
recommended by the Exif Standard, the IPTC Standard, the XMP specifica-
|
|
tion and Metadata Working Group guidelines.
|
|
The following image formats are supported:
|
|
|
|
Type Exif IPTC XMP Image Comments ICC Profile
|
|
----------------------------------------------------------------------------------
|
|
JPEG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
EXV Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
CR2 Read/Write Read/Write Read/Write - Read/Write
|
|
CRW Read/Write - - Read/Write -
|
|
MRW Read Read Read - -
|
|
TIFF Read/Write Read/Write Read/Write - Read/Write
|
|
WEBP Read/Write - Read/Write - Read/Write
|
|
DNG Read/Write Read/Write Read/Write - Read/Write
|
|
NEF Read/Write Read/Write Read/Write - Read/Write
|
|
PEF Read/Write Read/Write Read/Write - Read/Write
|
|
ARW Read Read Read - -
|
|
RW2 Read Read Read - -
|
|
SR2 Read Read Read - -
|
|
SRW Read/Write Read/Write Read/Write - -
|
|
ORF Read/Write Read/Write Read/Write - -
|
|
PNG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
PGF Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
RAF Read Read Read - -
|
|
EPS - - Read/Write - -
|
|
XMP - - Read/Write - -
|
|
GIF - - - - -
|
|
PSD Read/Write Read/Write Read/Write - -
|
|
TGA - - - - -
|
|
BMP - - - - -
|
|
JP2 Read/Write Read/Write Read/Write - Read/Write
|
|
|
|
o Support for GIF, TGA and BMP images is minimal: the image format is
|
|
recognized, a MIME type assigned to it and the height and width of
|
|
the image are determined.
|
|
|
|
o Reading other TIFF-like RAW image formats, which are not listed in
|
|
the table, may also work.
|
|
|
|
ACTIONS
|
|
The action argument is only required if it is not clear from the
|
|
options which action is implied.
|
|
|
|
pr | print
|
|
Print image metadata. This is the default action, i.e., the com-
|
|
mand exiv2 image.jpg will print a summary of the image Exif
|
|
metadata.
|
|
|
|
ex | extract
|
|
Extract metadata to *.exv, XMP sidecar (*.xmp) and thumbnail
|
|
image files. Modification commands can be applied on-the-fly.
|
|
|
|
in | insert
|
|
Insert metadata from corresponding *.exv, XMP sidecar (*.xmp)
|
|
and thumbnail files. Use option -S .suf to change the suffix of
|
|
the input files. Since files of any supported format can be used
|
|
as input files, this command can be used to copy the metadata
|
|
between files of different formats. Modification commands can be
|
|
applied on-the-fly.
|
|
|
|
rm | delete
|
|
Delete image metadata from the files.
|
|
|
|
ad | adjust
|
|
Adjust Exif timestamps by the given time. Requires at least one
|
|
of the options -a time, -Y yrs, -O mon or -D day.
|
|
|
|
mo | modify
|
|
Apply commands to modify (add, set, delete) the Exif, IPTC and
|
|
XMP metadata of image files. Requires option -c, -m or -M.
|
|
|
|
mv | rename
|
|
Rename files and/or set file timestamps according to the Exif
|
|
create timestamp. Uses the value of tag Exif.Photo.DateTimeOrig-
|
|
inal or, if not present, Exif.Image.DateTime to determine the
|
|
timestamp. The filename format can be set with -r fmt, timestamp
|
|
options are -t and -T.
|
|
|
|
fi | fixiso
|
|
Copy the ISO setting from one of the proprietary Nikon or Canon
|
|
makernote ISO tags to the regular Exif ISO tag,
|
|
Exif.Photo.ISOSpeedRatings. Does not overwrite an existing stan-
|
|
dard Exif ISO tag.
|
|
|
|
fc | fixcom
|
|
Fix the character encoding of Exif Unicode user comments.
|
|
Decodes the comment using the auto-detected or specified charac-
|
|
ter encoding and writes it back in UCS-2. Use option -n to spec-
|
|
ify the current encoding of the comment if necessary.
|
|
|
|
COMMAND SUMMARY
|
|
exiv2 [ opt [arg] ]+ [ act ] file ...
|
|
|
|
option [arg] long option description
|
|
-a tim --adjust Modify time stamps. [+|-]HH[:MM[:SS[.mmm]]]
|
|
-b --binary Show large binary values (default is to suppress them).
|
|
-c txt --comment JPEG comment string to set in the image ('modify' action). ...
|
|
-d tgt --delete Delete target(s) for the 'delete' action. ...
|
|
-D +-n --days Time adjustment by a positive or negative number of days ...
|
|
-e tgt --extract Extract target(s) for the 'extract' action.
|
|
-f --force Do not prompt before overwriting existing files ...
|
|
-F --Force Do not prompt before renaming files (Force rename) ...
|
|
-g key --grep Only output info for this Exiv2 key
|
|
-h --help Display help and exit.
|
|
-i tgt --insert Insert target(s) for the 'insert' action. ...
|
|
-k --keep Preserve file timestamps when updating files
|
|
-K key --key Report key. Similar to -g (grep) however key must match exactly.
|
|
-l dir --location Location (directory) for files to be inserted or extracted.
|
|
-m file --modify read commands from cmd-file
|
|
-M cmd --Modify Command line for the 'modify' action. ...
|
|
-n enc --encode Charset to decode Exif Unicode user comments. See: man 3 iconv_open
|
|
-O +-n --months Time adjustment by a positive or negative number of months, ...
|
|
-p mod --print Print report (common reports)
|
|
-P flg --Print Print report (fine grained control)
|
|
-q --quiet Silence warnings and error messages from the Exiv2 library ...
|
|
-Q lvl --log Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
-r fmt --rename Filename format for the 'rename' action. ...
|
|
-S suf --suffix Use suffix .suf for source files for insert command.
|
|
-t --timestamp Set the file timestamp according to the Exif create timestamp ...
|
|
-T --Timestamp Only set the file timestamp according to Exif create timestamp ...
|
|
-u --unknown Show unknown tags ...
|
|
-v --verbose verbose
|
|
-V --version Show the program version and exit.
|
|
-Y +-n --years Time adjustment by a positive or negative number of years ...
|
|
|
|
act pr | ex | in | rm | ad | mo | mv | fi | fc
|
|
print, extract, insert, delete, adjust, modify, rename, fixiso, fixcom
|
|
|
|
cmd See "Commands" below.
|
|
|
|
flg E | I | X | x | g | k | l | n | y | c | s | v | t | h
|
|
Exif, IPTC, XMP, num, grp, key, label, name, type, count, size, vanilla, translated, hex
|
|
|
|
fmt Default format is %Y%m%d_%H%M%S.
|
|
|
|
lvl d | i | i | w | e
|
|
debug, info, warning, error
|
|
|
|
mod s | a | e | t | v | h | i | x | c | p | i | C | R | S | X
|
|
summary, all, exif, translated, vanilla, hex, iptc, xmp, comment, preview,
|
|
ICC Profile, Recursive Structure, Simple Structure, raw XMP
|
|
|
|
tgt a | c | e | i | p | t | x | C | X | XX | -
|
|
all, comment, exif, iptc, preview, thumb, xmp, ICC Profile, SideCar, RawXMP, stdin/out
|
|
|
|
|
|
OPTIONS
|
|
-h Display help and exit.
|
|
|
|
-V Show the program version and exit.
|
|
When -V is combined with -v (Verbose version), build information
|
|
is printed to standard output along with a list of shared
|
|
libraries which have been loaded into memory. Verbose version is
|
|
supported on Windows (MSVC, Cygwin and MinGW builds), MacOSX and
|
|
Linux and is provided for test and debugging.
|
|
|
|
-v Be verbose during the program run.
|
|
|
|
-q Silence warnings and error messages from the Exiv2 library dur-
|
|
ing the program run (quiet). Note that options -v and -q can be
|
|
used at the same time.
|
|
|
|
-Q lvl Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
or 'm'(ute). The default log-level is 'w'. -Qm is equivalent to
|
|
-q. All log messages are written to standard error.
|
|
|
|
-b Show large binary values (default is to suppress them).
|
|
|
|
-u Show unknown tags (default is to suppress tags which don't have
|
|
a name).
|
|
|
|
-g key Only keys which match the given key (grep).
|
|
Multiple -g options can be used to grep info for several keys.
|
|
When the library is build with C++11, keys are matched using
|
|
std::regex::extended. When build without C++11, keys are pro-
|
|
cessed with the system regular expression engine: see man 3
|
|
regex. Platforms which do not support regex use key for a sub-
|
|
string match. You can determine the availability of regex using
|
|
the command: exiv2 -v -V -g have_regex -g cplusplus.
|
|
|
|
exiv2 -g Date -pt R.jpg
|
|
Exif.Image.DateTime Ascii 20 2012:08:07 16:01:05
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-g (--grep) is only applied to keys. It is not generally
|
|
applied to all output such as the default -ps report.
|
|
|
|
The key may finish with the optional modifier /i to indicated
|
|
case insensitive.
|
|
|
|
-K key Only report data for given key.
|
|
Multiple -K options can be used to report more than a single
|
|
key.
|
|
|
|
exiv2 -K Exif.Photo.DateTimeDigitized -K Exif.Photo.DateTimeOriginal -pt R.jpg
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-n enc Charset to use to decode Exif Unicode user comments. enc is a
|
|
name understood by iconv_open(3), e.g., 'UTF-8'.
|
|
|
|
-k Preserve file timestamps when updating files (keep). Can be used
|
|
with all options which update files. The flag is ignored by
|
|
read-only options.
|
|
|
|
-t Set the file timestamp according to the Exif create timestamp in
|
|
addition to renaming the file (overrides -k). This option is
|
|
only used with the 'rename' action.
|
|
|
|
-T Only set the file timestamp according to the Exif create time-
|
|
stamp, do not rename the file (overrides -k). This option is
|
|
only used with the 'rename' action. Note: On Windows you may
|
|
have to set the TZ environment variable for this option to work
|
|
correctly.
|
|
|
|
-f Do not prompt before overwriting existing files (force over-
|
|
write).
|
|
|
|
-F Do not prompt before renaming files (Force rename). Appends '_1'
|
|
('_2', ...) to the name of the new file.
|
|
|
|
-a time
|
|
Time adjustment in the format [-]HH[:MM[:SS]]. This option is
|
|
only used with the 'adjust' action. Examples: 1 adds one hour,
|
|
1:01 adds one hour and one minute, -0:00:30 subtracts 30 sec-
|
|
onds.
|
|
|
|
-Y yrs Time adjustment by a positive or negative number of years, for
|
|
the 'adjust' action.
|
|
|
|
-O mon Time adjustment by a positive or negative number of months, for
|
|
the 'adjust' action.
|
|
|
|
-D day Time adjustment by a positive or negative number of days, for
|
|
the 'adjust' action.
|
|
|
|
-p mode
|
|
Print mode for the 'print' action. Possible modes are:
|
|
s : print a summary of the Exif metadata (the default)
|
|
a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)
|
|
e : print Exif metadata (shortcut for -PEkycv)
|
|
t : interpreted (translated) Exif tags (-PEkyct)
|
|
v : plain Exif tag values (-PExgnycv)
|
|
h : hexdump of the Exif data (-PExgnycsh)
|
|
i : IPTC datasets (-PIkyct)
|
|
x : XMP properties (-PXkyct)
|
|
c : JPEG comment
|
|
p : list available image previews, sorted by preview image size
|
|
in pixels
|
|
C : print image ICC Profile (jpg, png, tiff, webp, cr2, jp2
|
|
only)
|
|
R : print image structure recursively (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
S : print image structure information (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
X : print "raw" XMP (jpg, png, tiff, webp, cr2, jp2 only)
|
|
|
|
-P flgs
|
|
Print flags for fine control of the tag list ('print' action).
|
|
Allows control of the type of metadata as well as data columns
|
|
included in the print output. Valid flags are:
|
|
E : include Exif tags in the list
|
|
I : IPTC datasets
|
|
X : XMP properties
|
|
x : print a column with the tag number
|
|
g : group name
|
|
k : key
|
|
l : tag label
|
|
n : tag name
|
|
y : type
|
|
c : number of components (count)
|
|
s : size in bytes
|
|
v : plain data value (vanilla values)
|
|
V : plain data value AND the word 'set ' (for use with exiv2
|
|
-m-)
|
|
t : interpreted (translated) human readable data
|
|
h : hexdump of the data
|
|
|
|
-d tgt Delete target(s) for the 'delete' action. Possible targets are:
|
|
a : all supported metadata (the default)
|
|
e : Exif section
|
|
t : Exif thumbnail only
|
|
i : IPTC data
|
|
x : XMP packet
|
|
c : JPEG comment
|
|
C : ICC Profile
|
|
I : All IPTC data
|
|
|
|
-i tgt Insert target(s) for the 'insert' action. Possible targets are
|
|
the same as those for the -d option, plus an optional modifier:
|
|
|
|
X : Insert metadata from an XMP sidecar file <file>.xmp. The
|
|
remaining insert targets determine what metadata to insert from
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these. Note that the inserted XMP properties
|
|
include those converted to Exif and IPTC.
|
|
|
|
XX: Insert "raw" XMP metadata from a sidecar (see option -pX)
|
|
|
|
- : Read from stdin. This option is intended for "filter" oper-
|
|
ations such as:
|
|
$ exiv2 -e{tgt}- filename | xmllint .... | exiv2 -i{tgt}- file-
|
|
name
|
|
|
|
Only JPEG thumbnails can be inserted (not TIFF thumbnails), and
|
|
must be named file-thumb.jpg.
|
|
|
|
-e tgt Extract target(s) for the 'extract' action. Possible targets are
|
|
the same as those for the -d option, plus a target to extract
|
|
preview images and a modifier to generate an XMP sidecar file:
|
|
p[<n>[,<m> ...]] : Extract preview images. The optional comma
|
|
separated list of preview image numbers is used to determine
|
|
which preview images to extract. The available preview images
|
|
and their numbers are displayed with the 'print' option -pp.
|
|
|
|
C : Extract embedded ICC profile to <file>.icc
|
|
|
|
X : Extract metadata to an XMP sidecar file <file>.xmp. The
|
|
remaining extract targets determine what metadata to extract to
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these.
|
|
|
|
XX: Extract "raw" XMP metadata to a sidecar (see -pX)
|
|
You may not use modify commands with the -eXX option and
|
|
only XMP is written to the sidecar.
|
|
|
|
- : Output to stdout (see -i tgt for an example of this feature)
|
|
|
|
|
|
-r fmt Filename format for the 'rename' action. The format string fol-
|
|
lows strftime(3) and supports the following keywords:
|
|
|
|
:basename: original filename without extension
|
|
:dirname: name of the directory holding the original file
|
|
:parentname: name of parent directory
|
|
Default filename format is %Y%m%d_%H%M%S.
|
|
|
|
-c txt JPEG comment string to set in the image ('modify' action). This
|
|
option can also be used with the 'extract' and 'insert' actions
|
|
to modify metadata on-the-fly.
|
|
|
|
-m file
|
|
Command file for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. -m- represents standard-input.
|
|
|
|
-M cmd Command line for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. The format for the commands is the same as that of
|
|
the lines of a command file.
|
|
|
|
-l dir Location (directory) for files to be inserted or extracted.
|
|
|
|
-S .suf
|
|
Use suffix .suf for source files in 'insert' action.
|
|
|
|
COMMANDS
|
|
Commands for the 'modify' action can be read from a command file, e.g.,
|
|
|
|
exiv2 -m cmd.txt image.jpg
|
|
|
|
or given on the command line, as in
|
|
|
|
exiv2 -M"add Iptc.Application2.Credit String Mr. Smith" image.jpg
|
|
|
|
Note the quotes. Multiple -m and -M options can be combined, and a non-
|
|
standard XMP namespace registered.
|
|
|
|
exiv2 -M"reg myprefix http://ns.myprefix.me/" -M"add Xmp.myprefix.Whom Mr. Smith" -M"set Exif.Image.Artist Mr. Smith" image.jpg
|
|
|
|
When writing Exif, IPTC and XMP metadata, exiv2 enforces only a correct
|
|
metadata structure. It is possible to write tags with types and values
|
|
different from those specified in the standards, duplicate Exif tags,
|
|
undefined tags, or incomplete metadata. While exiv2 is able to read all
|
|
metadata that it can write, other programs may have difficulties with
|
|
images that contain non standard-conforming metadata.
|
|
|
|
Command format
|
|
The format of a command is
|
|
|
|
set | add | del key [[type] value]
|
|
|
|
set Set the value of an existing tag with a matching key or add the
|
|
tag.
|
|
|
|
add Add a tag (unless key is a non-repeatable IPTC key; nothing pre-
|
|
vents you from adding duplicate Exif tags).
|
|
|
|
del Delete all occurrences of a tag (requires only a key).
|
|
|
|
key Exiv2 Exif, IPTC or XMP key.
|
|
|
|
type Byte | Ascii | Short | Long | Rational | Undefined | SShort |
|
|
SLong | SRational | Comment for Exif keys,
|
|
String | Date | Time | Short | Undefined for IPTC keys, and
|
|
XmpText | XmpAlt | XmpBag | XmpSeq | LangAlt for XMP keys.
|
|
|
|
A default type is used if none is explicitly given. The default
|
|
is determined based on key.
|
|
|
|
value The remaining text on the line is the value. It can optionally
|
|
be enclosed in single quotes ('value') or double quotes
|
|
("value").
|
|
|
|
The value is optional. Not providing any value is equivalent to
|
|
an empty value ("") and is mainly useful to create an XMP array
|
|
property, e.g., a bag.
|
|
|
|
The format of Exif Comment values includes an optional charset
|
|
specification at the beginning:
|
|
[charset=Ascii|Jis|Unicode|Undefined ]comment
|
|
|
|
Undefined is used by default if the value doesn't start with a
|
|
charset definition.
|
|
|
|
The format for an IPTC Date value is:
|
|
|
|
YYYY-MM-DD (year, month, day)
|
|
|
|
The format for an IPTC Time value is:
|
|
|
|
HH:MM:SS (hours, minutes, seconds)
|
|
|
|
and may optionally be followed by:
|
|
|
|
-HH:MM or +HH:MM (hours, minutes ahead/behind UTC)
|
|
|
|
The format of Rational (and SRational) is one of:
|
|
|
|
integer | integer/integer | Fnumber | number
|
|
|
|
Rational Examples:
|
|
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue 557429/62500" X.jpg
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue F5.6" X.jpg
|
|
|
|
The Rational format Fnumber is for the convenience of setting
|
|
aperture values. Aperture values are stored in Exif is an APEX
|
|
value which can be evaluated by the expression:
|
|
|
|
apex-value = log(Fnumber) * 2.0 / log(2.0)
|
|
number = exp(apex-value * log(2.0) / 2.0)
|
|
|
|
The Rational format Fnumber is valid for any Rational, even when
|
|
the key is not an Aperture. More information about APEX value
|
|
is available from: http://en.wikipedia.org/wiki/APEX_system
|
|
|
|
The format of XMP LangAlt values includes an optional language
|
|
qualifier:
|
|
lang="language-code" text
|
|
|
|
lang="x-default" is used if the value doesn't start with a lan-
|
|
guage qualifier.
|
|
|
|
$ exiv2 -M'set Xmp.dc.title lang="de-DE" Euros' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-GB" Pounds' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-US" In God We Trust' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title All others pay cash' X.jpg
|
|
|
|
To remove a language specification, set the value to '' (empty
|
|
string)
|
|
exiv2 -M'set Xmp.dc.title lang="en-US"' X.jpg
|
|
To remove all language specifications, delete the key:
|
|
$ exiv2 -M'del Xmp.dc.title' X.jpg
|
|
To register additional XMP namespaces, combine the command with:
|
|
reg prefix namespace
|
|
|
|
Command file format
|
|
Empty lines and lines starting with # in a command file are ignored
|
|
(comments). Remaining lines are commands as described above.
|
|
|
|
EXAMPLES
|
|
exiv2 *.jpg
|
|
Prints a summary of the Exif information for all JPEG files in
|
|
the directory.
|
|
|
|
exiv2 -pi image.jpg
|
|
Prints the IPTC metadata of the image.
|
|
|
|
exiv2 rename img_1234.jpg
|
|
Renames img_1234.jpg (taken on 13-Nov-05 at 22:58:31) to
|
|
20051113_225831.jpg
|
|
|
|
exiv2 -r':basename:_%Y%m' rename img_1234.jpg
|
|
Renames img_1234.jpg to img_1234_200511.jpg
|
|
|
|
exiv2 -et img1.jpg img2.jpg
|
|
Extracts the Exif thumbnails from the two files into
|
|
img1-thumb.jpg and img2-thumb.jpg.
|
|
|
|
exiv2 -it img1.jpg img2.jpg
|
|
Inserts (copies) metadata from img1.exv to img1.jpg and from
|
|
img2.exv to img2.jpg.
|
|
|
|
exiv2 -ep1,2 image.jpg
|
|
Extracts previews 1 and 2 from the image to the files image-pre-
|
|
view1.jpg and image-preview2.jpg.
|
|
|
|
exiv2 -eiX image.jpg
|
|
Extracts IPTC datasets into an XMP sidecar file image.xmp and in
|
|
the process converts them to "IPTC Core" XMP schema.
|
|
|
|
exiv2 -iixX image.jpg
|
|
Inserts IPTC and XMP metadata from an XMP sidecar file image.xmp
|
|
into image.jpg. The resulting IPTC datasets are converted from
|
|
the "IPTC Core" XMP schema properties in the sidecar file to the
|
|
older IPTC IIM4 format. The inserted XMP properties include
|
|
those in the "IPTC Core" XMP schema.
|
|
|
|
exiv2 -M"set Exif.Photo.UserComment charset=Ascii New Exif comment"
|
|
image.jpg
|
|
Sets the Exif comment to an ASCII string.
|
|
|
|
exiv2 -M"set Exif.GPSInfo.GPSLatitude 4/1 15/1 33/1" \ -M"set
|
|
Exif.GPSInfo.GPSLatitudeRef N" image.jpg
|
|
Sets the latitude to 4 degrees, 15 minutes and 33 seconds north.
|
|
The Exif standard stipulates that the GPSLatitude tag consists
|
|
of three Rational numbers for the degrees, minutes and seconds
|
|
of the latitude and GPSLatitudeRef contains either 'N' or 'S'
|
|
for north or south latitude respectively.
|
|
|
|
exiv2 insert -l/tmp -S.CRW /data/*.JPG
|
|
Copy all metadata from CRW files in the /tmp directory to JPG
|
|
files with corresponding basenames in the /data directory. Note
|
|
that this copies metadata as is, without any modifications to
|
|
adapt it to the requirements of the target format. Some tags
|
|
copied like this may not make sense in the target image.
|
|
|
|
SEE ALSO
|
|
http://www.exiv2.org/sample.html#modify
|
|
Sample command files.
|
|
|
|
http://www.exiv2.org/metadata.html
|
|
Taglists with key and default type values.
|
|
|
|
AUTHORS
|
|
exiv2 was written by Andreas Huggel and others. The Exiv2 project web
|
|
site is http://exiv2.org
|
|
|
|
This manual page was originally created for the Debian project by KELE-
|
|
MEN Peter <fuji@debian.org>.
|
|
|
|
|
|
|
|
Oct 19, 2016 EXIV2(1)
|
|
EXIV2(1) EXIV2(1)
|
|
|
|
|
|
|
|
NAME
|
|
exiv2 - Image metadata manipulation tool
|
|
|
|
SYNOPSIS
|
|
exiv2 [options] [action] file ...
|
|
|
|
DESCRIPTION
|
|
exiv2 is a program to read and write Exif, IPTC, XMP metadata and image
|
|
comments and can read many vendor makernote tags. The program option-
|
|
ally converts between Exif tags, XMP properties and IPTC datasets as
|
|
recommended by the Exif Standard, the IPTC Standard, the XMP specifica-
|
|
tion and Metadata Working Group guidelines.
|
|
The following image formats are supported:
|
|
|
|
Type Exif IPTC XMP Image Comments ICC Profile
|
|
----------------------------------------------------------------------------------
|
|
JPEG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
EXV Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
CR2 Read/Write Read/Write Read/Write - Read/Write
|
|
CRW Read/Write - - Read/Write -
|
|
MRW Read Read Read - -
|
|
TIFF Read/Write Read/Write Read/Write - Read/Write
|
|
WEBP Read/Write - Read/Write - Read/Write
|
|
DNG Read/Write Read/Write Read/Write - Read/Write
|
|
NEF Read/Write Read/Write Read/Write - Read/Write
|
|
PEF Read/Write Read/Write Read/Write - Read/Write
|
|
ARW Read Read Read - -
|
|
RW2 Read Read Read - -
|
|
SR2 Read Read Read - -
|
|
SRW Read/Write Read/Write Read/Write - -
|
|
ORF Read/Write Read/Write Read/Write - -
|
|
PNG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
PGF Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
RAF Read Read Read - -
|
|
EPS - - Read/Write - -
|
|
XMP - - Read/Write - -
|
|
GIF - - - - -
|
|
PSD Read/Write Read/Write Read/Write - -
|
|
TGA - - - - -
|
|
BMP - - - - -
|
|
JP2 Read/Write Read/Write Read/Write - Read/Write
|
|
|
|
o Support for GIF, TGA and BMP images is minimal: the image format is
|
|
recognized, a MIME type assigned to it and the height and width of
|
|
the image are determined.
|
|
|
|
o Reading other TIFF-like RAW image formats, which are not listed in
|
|
the table, may also work.
|
|
|
|
ACTIONS
|
|
The action argument is only required if it is not clear from the
|
|
options which action is implied.
|
|
|
|
pr | print
|
|
Print image metadata. This is the default action, i.e., the com-
|
|
mand exiv2 image.jpg will print a summary of the image Exif
|
|
metadata.
|
|
|
|
ex | extract
|
|
Extract metadata to *.exv, XMP sidecar (*.xmp) and thumbnail
|
|
image files. Modification commands can be applied on-the-fly.
|
|
|
|
in | insert
|
|
Insert metadata from corresponding *.exv, XMP sidecar (*.xmp)
|
|
and thumbnail files. Use option -S .suf to change the suffix of
|
|
the input files. Since files of any supported format can be used
|
|
as input files, this command can be used to copy the metadata
|
|
between files of different formats. Modification commands can be
|
|
applied on-the-fly.
|
|
|
|
rm | delete
|
|
Delete image metadata from the files.
|
|
|
|
ad | adjust
|
|
Adjust Exif timestamps by the given time. Requires at least one
|
|
of the options -a time, -Y yrs, -O mon or -D day.
|
|
|
|
mo | modify
|
|
Apply commands to modify (add, set, delete) the Exif, IPTC and
|
|
XMP metadata of image files. Requires option -c, -m or -M.
|
|
|
|
mv | rename
|
|
Rename files and/or set file timestamps according to the Exif
|
|
create timestamp. Uses the value of tag Exif.Photo.DateTimeOrig-
|
|
inal or, if not present, Exif.Image.DateTime to determine the
|
|
timestamp. The filename format can be set with -r fmt, timestamp
|
|
options are -t and -T.
|
|
|
|
fi | fixiso
|
|
Copy the ISO setting from one of the proprietary Nikon or Canon
|
|
makernote ISO tags to the regular Exif ISO tag,
|
|
Exif.Photo.ISOSpeedRatings. Does not overwrite an existing stan-
|
|
dard Exif ISO tag.
|
|
|
|
fc | fixcom
|
|
Fix the character encoding of Exif Unicode user comments.
|
|
Decodes the comment using the auto-detected or specified charac-
|
|
ter encoding and writes it back in UCS-2. Use option -n to spec-
|
|
ify the current encoding of the comment if necessary.
|
|
|
|
COMMAND SUMMARY
|
|
exiv2 [ opt [arg] ]+ [ act ] file ...
|
|
|
|
option [arg] long option description
|
|
-a tim --adjust Modify time stamps. [+|-]HH[:MM[:SS[.mmm]]]
|
|
-b --binary Show large binary values (default is to suppress them).
|
|
-c txt --comment JPEG comment string to set in the image ('modify' action). ...
|
|
-d tgt --delete Delete target(s) for the 'delete' action. ...
|
|
-D +-n --days Time adjustment by a positive or negative number of days ...
|
|
-e tgt --extract Extract target(s) for the 'extract' action.
|
|
-f --force Do not prompt before overwriting existing files ...
|
|
-F --Force Do not prompt before renaming files (Force rename) ...
|
|
-g key --grep Only output info for this Exiv2 key
|
|
-h --help Display help and exit.
|
|
-i tgt --insert Insert target(s) for the 'insert' action. ...
|
|
-k --keep Preserve file timestamps when updating files
|
|
-K key --key Report key. Similar to -g (grep) however key must match exactly.
|
|
-l dir --location Location (directory) for files to be inserted or extracted.
|
|
-m file --modify read commands from cmd-file
|
|
-M cmd --Modify Command line for the 'modify' action. ...
|
|
-n enc --encode Charset to decode Exif Unicode user comments. See: man 3 iconv_open
|
|
-O +-n --months Time adjustment by a positive or negative number of months, ...
|
|
-p mod --print Print report (common reports)
|
|
-P flg --Print Print report (fine grained control)
|
|
-q --quiet Silence warnings and error messages from the Exiv2 library ...
|
|
-Q lvl --log Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
-r fmt --rename Filename format for the 'rename' action. ...
|
|
-S suf --suffix Use suffix .suf for source files for insert command.
|
|
-t --timestamp Set the file timestamp according to the Exif create timestamp ...
|
|
-T --Timestamp Only set the file timestamp according to Exif create timestamp ...
|
|
-u --unknown Show unknown tags ...
|
|
-v --verbose verbose
|
|
-V --version Show the program version and exit.
|
|
-Y +-n --years Time adjustment by a positive or negative number of years ...
|
|
|
|
act pr | ex | in | rm | ad | mo | mv | fi | fc
|
|
print, extract, insert, delete, adjust, modify, rename, fixiso, fixcom
|
|
|
|
cmd See "Commands" below.
|
|
|
|
flg E | I | X | x | g | k | l | n | y | c | s | v | t | h
|
|
Exif, IPTC, XMP, num, grp, key, label, name, type, count, size, vanilla, translated, hex
|
|
|
|
fmt Default format is %Y%m%d_%H%M%S.
|
|
|
|
lvl d | i | i | w | e
|
|
debug, info, warning, error
|
|
|
|
mod s | a | e | t | v | h | i | x | c | p | i | C | R | S | X
|
|
summary, all, exif, translated, vanilla, hex, iptc, xmp, comment, preview,
|
|
ICC Profile, Recursive Structure, Simple Structure, raw XMP
|
|
|
|
tgt a | c | e | i | p | t | x | C | X | XX | -
|
|
all, comment, exif, iptc, preview, thumb, xmp, ICC Profile, SideCar, RawXMP, stdin/out
|
|
|
|
|
|
OPTIONS
|
|
-h Display help and exit.
|
|
|
|
-V Show the program version and exit.
|
|
When -V is combined with -v (Verbose version), build information
|
|
is printed to standard output along with a list of shared
|
|
libraries which have been loaded into memory. Verbose version is
|
|
supported on Windows (MSVC, Cygwin and MinGW builds), MacOSX and
|
|
Linux and is provided for test and debugging.
|
|
|
|
-v Be verbose during the program run.
|
|
|
|
-q Silence warnings and error messages from the Exiv2 library dur-
|
|
ing the program run (quiet). Note that options -v and -q can be
|
|
used at the same time.
|
|
|
|
-Q lvl Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
or 'm'(ute). The default log-level is 'w'. -Qm is equivalent to
|
|
-q. All log messages are written to standard error.
|
|
|
|
-b Show large binary values (default is to suppress them).
|
|
|
|
-u Show unknown tags (default is to suppress tags which don't have
|
|
a name).
|
|
|
|
-g key Only keys which match the given key (grep).
|
|
Multiple -g options can be used to grep info for several keys.
|
|
When the library is build with C++11, keys are matched using
|
|
std::regex::extended. When build without C++11, keys are pro-
|
|
cessed with the system regular expression engine: see man 3
|
|
regex. Platforms which do not support regex use key for a sub-
|
|
string match. You can determine the availability of regex using
|
|
the command: exiv2 -v -V -g have_regex -g cplusplus.
|
|
|
|
exiv2 -g Date -pt R.jpg
|
|
Exif.Image.DateTime Ascii 20 2012:08:07 16:01:05
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-g (--grep) is only applied to keys. It is not generally
|
|
applied to all output such as the default -ps report.
|
|
|
|
The key may finish with the optional modifier /i to indicated
|
|
case insensitive.
|
|
|
|
-K key Only report data for given key.
|
|
Multiple -K options can be used to report more than a single
|
|
key.
|
|
|
|
exiv2 -K Exif.Photo.DateTimeDigitized -K Exif.Photo.DateTimeOriginal -pt R.jpg
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-n enc Charset to use to decode Exif Unicode user comments. enc is a
|
|
name understood by iconv_open(3), e.g., 'UTF-8'.
|
|
|
|
-k Preserve file timestamps when updating files (keep). Can be used
|
|
with all options which update files. The flag is ignored by
|
|
read-only options.
|
|
|
|
-t Set the file timestamp according to the Exif create timestamp in
|
|
addition to renaming the file (overrides -k). This option is
|
|
only used with the 'rename' action.
|
|
|
|
-T Only set the file timestamp according to the Exif create time-
|
|
stamp, do not rename the file (overrides -k). This option is
|
|
only used with the 'rename' action. Note: On Windows you may
|
|
have to set the TZ environment variable for this option to work
|
|
correctly.
|
|
|
|
-f Do not prompt before overwriting existing files (force over-
|
|
write).
|
|
|
|
-F Do not prompt before renaming files (Force rename). Appends '_1'
|
|
('_2', ...) to the name of the new file.
|
|
|
|
-a time
|
|
Time adjustment in the format [-]HH[:MM[:SS]]. This option is
|
|
only used with the 'adjust' action. Examples: 1 adds one hour,
|
|
1:01 adds one hour and one minute, -0:00:30 subtracts 30 sec-
|
|
onds.
|
|
|
|
-Y yrs Time adjustment by a positive or negative number of years, for
|
|
the 'adjust' action.
|
|
|
|
-O mon Time adjustment by a positive or negative number of months, for
|
|
the 'adjust' action.
|
|
|
|
-D day Time adjustment by a positive or negative number of days, for
|
|
the 'adjust' action.
|
|
|
|
-p mode
|
|
Print mode for the 'print' action. Possible modes are:
|
|
s : print a summary of the Exif metadata (the default)
|
|
a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)
|
|
e : print Exif metadata (shortcut for -PEkycv)
|
|
t : interpreted (translated) Exif tags (-PEkyct)
|
|
v : plain Exif tag values (-PExgnycv)
|
|
h : hexdump of the Exif data (-PExgnycsh)
|
|
i : IPTC datasets (-PIkyct)
|
|
x : XMP properties (-PXkyct)
|
|
c : JPEG comment
|
|
p : list available image previews, sorted by preview image size
|
|
in pixels
|
|
C : print image ICC Profile (jpg, png, tiff, webp, cr2, jp2
|
|
only)
|
|
R : print image structure recursively (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
S : print image structure information (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
X : print "raw" XMP (jpg, png, tiff, webp, cr2, jp2 only)
|
|
|
|
-P flgs
|
|
Print flags for fine control of the tag list ('print' action).
|
|
Allows control of the type of metadata as well as data columns
|
|
included in the print output. Valid flags are:
|
|
E : include Exif tags in the list
|
|
I : IPTC datasets
|
|
X : XMP properties
|
|
x : print a column with the tag number
|
|
g : group name
|
|
k : key
|
|
l : tag label
|
|
n : tag name
|
|
y : type
|
|
c : number of components (count)
|
|
s : size in bytes
|
|
v : plain data value (vanilla values)
|
|
V : plain data value AND the word 'set ' (for use with exiv2
|
|
-m-)
|
|
t : interpreted (translated) human readable data
|
|
h : hexdump of the data
|
|
|
|
-d tgt Delete target(s) for the 'delete' action. Possible targets are:
|
|
a : all supported metadata (the default)
|
|
e : Exif section
|
|
t : Exif thumbnail only
|
|
i : IPTC data
|
|
x : XMP packet
|
|
c : JPEG comment
|
|
C : ICC Profile
|
|
I : All IPTC data
|
|
|
|
-i tgt Insert target(s) for the 'insert' action. Possible targets are
|
|
the same as those for the -d option, plus an optional modifier:
|
|
|
|
X : Insert metadata from an XMP sidecar file <file>.xmp. The
|
|
remaining insert targets determine what metadata to insert from
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these. Note that the inserted XMP properties
|
|
include those converted to Exif and IPTC.
|
|
|
|
XX: Insert "raw" XMP metadata from a sidecar (see option -pX)
|
|
|
|
- : Read from stdin. This option is intended for "filter" oper-
|
|
ations such as:
|
|
$ exiv2 -e{tgt}- filename | xmllint .... | exiv2 -i{tgt}- file-
|
|
name
|
|
|
|
Only JPEG thumbnails can be inserted (not TIFF thumbnails), and
|
|
must be named file-thumb.jpg.
|
|
|
|
-e tgt Extract target(s) for the 'extract' action. Possible targets are
|
|
the same as those for the -d option, plus a target to extract
|
|
preview images and a modifier to generate an XMP sidecar file:
|
|
p[<n>[,<m> ...]] : Extract preview images. The optional comma
|
|
separated list of preview image numbers is used to determine
|
|
which preview images to extract. The available preview images
|
|
and their numbers are displayed with the 'print' option -pp.
|
|
|
|
C : Extract embedded ICC profile to <file>.icc
|
|
|
|
X : Extract metadata to an XMP sidecar file <file>.xmp. The
|
|
remaining extract targets determine what metadata to extract to
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these.
|
|
|
|
XX: Extract "raw" XMP metadata to a sidecar (see -pX)
|
|
You may not use modify commands with the -eXX option and
|
|
only XMP is written to the sidecar.
|
|
|
|
- : Output to stdout (see -i tgt for an example of this feature)
|
|
|
|
|
|
-r fmt Filename format for the 'rename' action. The format string fol-
|
|
lows strftime(3) and supports the following keywords:
|
|
|
|
:basename: original filename without extension
|
|
:dirname: name of the directory holding the original file
|
|
:parentname: name of parent directory
|
|
Default filename format is %Y%m%d_%H%M%S.
|
|
|
|
-c txt JPEG comment string to set in the image ('modify' action). This
|
|
option can also be used with the 'extract' and 'insert' actions
|
|
to modify metadata on-the-fly.
|
|
|
|
-m file
|
|
Command file for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. -m- represents standard-input.
|
|
|
|
-M cmd Command line for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. The format for the commands is the same as that of
|
|
the lines of a command file.
|
|
|
|
-l dir Location (directory) for files to be inserted or extracted.
|
|
|
|
-S .suf
|
|
Use suffix .suf for source files in 'insert' action.
|
|
|
|
COMMANDS
|
|
Commands for the 'modify' action can be read from a command file, e.g.,
|
|
|
|
exiv2 -m cmd.txt image.jpg
|
|
|
|
or given on the command line, as in
|
|
|
|
exiv2 -M"add Iptc.Application2.Credit String Mr. Smith" image.jpg
|
|
|
|
Note the quotes. Multiple -m and -M options can be combined, and a non-
|
|
standard XMP namespace registered.
|
|
|
|
exiv2 -M"reg myprefix http://ns.myprefix.me/" -M"add Xmp.myprefix.Whom Mr. Smith" -M"set Exif.Image.Artist Mr. Smith" image.jpg
|
|
|
|
When writing Exif, IPTC and XMP metadata, exiv2 enforces only a correct
|
|
metadata structure. It is possible to write tags with types and values
|
|
different from those specified in the standards, duplicate Exif tags,
|
|
undefined tags, or incomplete metadata. While exiv2 is able to read all
|
|
metadata that it can write, other programs may have difficulties with
|
|
images that contain non standard-conforming metadata.
|
|
|
|
Command format
|
|
The format of a command is
|
|
|
|
set | add | del key [[type] value]
|
|
|
|
set Set the value of an existing tag with a matching key or add the
|
|
tag.
|
|
|
|
add Add a tag (unless key is a non-repeatable IPTC key; nothing pre-
|
|
vents you from adding duplicate Exif tags).
|
|
|
|
del Delete all occurrences of a tag (requires only a key).
|
|
|
|
key Exiv2 Exif, IPTC or XMP key.
|
|
|
|
type Byte | Ascii | Short | Long | Rational | Undefined | SShort |
|
|
SLong | SRational | Comment for Exif keys,
|
|
String | Date | Time | Short | Undefined for IPTC keys, and
|
|
XmpText | XmpAlt | XmpBag | XmpSeq | LangAlt for XMP keys.
|
|
|
|
A default type is used if none is explicitly given. The default
|
|
is determined based on key.
|
|
|
|
value The remaining text on the line is the value. It can optionally
|
|
be enclosed in single quotes ('value') or double quotes
|
|
("value").
|
|
|
|
The value is optional. Not providing any value is equivalent to
|
|
an empty value ("") and is mainly useful to create an XMP array
|
|
property, e.g., a bag.
|
|
|
|
The format of Exif Comment values includes an optional charset
|
|
specification at the beginning:
|
|
[charset=Ascii|Jis|Unicode|Undefined ]comment
|
|
|
|
Undefined is used by default if the value doesn't start with a
|
|
charset definition.
|
|
|
|
The format for an IPTC Date value is:
|
|
|
|
YYYY-MM-DD (year, month, day)
|
|
|
|
The format for an IPTC Time value is:
|
|
|
|
HH:MM:SS (hours, minutes, seconds)
|
|
|
|
and may optionally be followed by:
|
|
|
|
-HH:MM or +HH:MM (hours, minutes ahead/behind UTC)
|
|
|
|
The format of Rational (and SRational) is one of:
|
|
|
|
integer | integer/integer | Fnumber | number
|
|
|
|
Rational Examples:
|
|
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue 557429/62500" X.jpg
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue F5.6" X.jpg
|
|
|
|
The Rational format Fnumber is for the convenience of setting
|
|
aperture values. Aperture values are stored in Exif is an APEX
|
|
value which can be evaluated by the expression:
|
|
|
|
apex-value = log(Fnumber) * 2.0 / log(2.0)
|
|
number = exp(apex-value * log(2.0) / 2.0)
|
|
|
|
The Rational format Fnumber is valid for any Rational, even when
|
|
the key is not an Aperture. More information about APEX value
|
|
is available from: http://en.wikipedia.org/wiki/APEX_system
|
|
|
|
The format of XMP LangAlt values includes an optional language
|
|
qualifier:
|
|
lang="language-code" text
|
|
|
|
lang="x-default" is used if the value doesn't start with a lan-
|
|
guage qualifier.
|
|
|
|
$ exiv2 -M'set Xmp.dc.title lang="de-DE" Euros' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-GB" Pounds' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-US" In God We Trust' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title All others pay cash' X.jpg
|
|
|
|
To remove a language specification, set the value to '' (empty
|
|
string)
|
|
exiv2 -M'set Xmp.dc.title lang="en-US"' X.jpg
|
|
To remove all language specifications, delete the key:
|
|
$ exiv2 -M'del Xmp.dc.title' X.jpg
|
|
To register additional XMP namespaces, combine the command with:
|
|
reg prefix namespace
|
|
|
|
Command file format
|
|
Empty lines and lines starting with # in a command file are ignored
|
|
(comments). Remaining lines are commands as described above.
|
|
|
|
EXAMPLES
|
|
exiv2 *.jpg
|
|
Prints a summary of the Exif information for all JPEG files in
|
|
the directory.
|
|
|
|
exiv2 -pi image.jpg
|
|
Prints the IPTC metadata of the image.
|
|
|
|
exiv2 rename img_1234.jpg
|
|
Renames img_1234.jpg (taken on 13-Nov-05 at 22:58:31) to
|
|
20051113_225831.jpg
|
|
|
|
exiv2 -r':basename:_%Y%m' rename img_1234.jpg
|
|
Renames img_1234.jpg to img_1234_200511.jpg
|
|
|
|
exiv2 -et img1.jpg img2.jpg
|
|
Extracts the Exif thumbnails from the two files into
|
|
img1-thumb.jpg and img2-thumb.jpg.
|
|
|
|
exiv2 -it img1.jpg img2.jpg
|
|
Inserts (copies) metadata from img1.exv to img1.jpg and from
|
|
img2.exv to img2.jpg.
|
|
|
|
exiv2 -ep1,2 image.jpg
|
|
Extracts previews 1 and 2 from the image to the files image-pre-
|
|
view1.jpg and image-preview2.jpg.
|
|
|
|
exiv2 -eiX image.jpg
|
|
Extracts IPTC datasets into an XMP sidecar file image.xmp and in
|
|
the process converts them to "IPTC Core" XMP schema.
|
|
|
|
exiv2 -iixX image.jpg
|
|
Inserts IPTC and XMP metadata from an XMP sidecar file image.xmp
|
|
into image.jpg. The resulting IPTC datasets are converted from
|
|
the "IPTC Core" XMP schema properties in the sidecar file to the
|
|
older IPTC IIM4 format. The inserted XMP properties include
|
|
those in the "IPTC Core" XMP schema.
|
|
|
|
exiv2 -M"set Exif.Photo.UserComment charset=Ascii New Exif comment"
|
|
image.jpg
|
|
Sets the Exif comment to an ASCII string.
|
|
|
|
exiv2 -M"set Exif.GPSInfo.GPSLatitude 4/1 15/1 33/1" \ -M"set
|
|
Exif.GPSInfo.GPSLatitudeRef N" image.jpg
|
|
Sets the latitude to 4 degrees, 15 minutes and 33 seconds north.
|
|
The Exif standard stipulates that the GPSLatitude tag consists
|
|
of three Rational numbers for the degrees, minutes and seconds
|
|
of the latitude and GPSLatitudeRef contains either 'N' or 'S'
|
|
for north or south latitude respectively.
|
|
|
|
exiv2 insert -l/tmp -S.CRW /data/*.JPG
|
|
Copy all metadata from CRW files in the /tmp directory to JPG
|
|
files with corresponding basenames in the /data directory. Note
|
|
that this copies metadata as is, without any modifications to
|
|
adapt it to the requirements of the target format. Some tags
|
|
copied like this may not make sense in the target image.
|
|
|
|
SEE ALSO
|
|
http://www.exiv2.org/sample.html#modify
|
|
Sample command files.
|
|
|
|
http://www.exiv2.org/metadata.html
|
|
Taglists with key and default type values.
|
|
|
|
AUTHORS
|
|
exiv2 was written by Andreas Huggel and others. The Exiv2 project web
|
|
site is http://exiv2.org
|
|
|
|
This manual page was originally created for the Debian project by KELE-
|
|
MEN Peter <fuji@debian.org>.
|
|
|
|
|
|
|
|
Oct 19, 2016 EXIV2(1)
|
|
EXIV2(1) EXIV2(1)
|
|
|
|
|
|
|
|
NAME
|
|
exiv2 - Image metadata manipulation tool
|
|
|
|
SYNOPSIS
|
|
exiv2 [options] [action] file ...
|
|
|
|
DESCRIPTION
|
|
exiv2 is a program to read and write Exif, IPTC, XMP metadata and image
|
|
comments and can read many vendor makernote tags. The program option-
|
|
ally converts between Exif tags, XMP properties and IPTC datasets as
|
|
recommended by the Exif Standard, the IPTC Standard, the XMP specifica-
|
|
tion and Metadata Working Group guidelines.
|
|
The following image formats are supported:
|
|
|
|
Type Exif IPTC XMP Image Comments ICC Profile
|
|
----------------------------------------------------------------------------------
|
|
JPEG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
EXV Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
CR2 Read/Write Read/Write Read/Write - Read/Write
|
|
CRW Read/Write - - Read/Write -
|
|
MRW Read Read Read - -
|
|
TIFF Read/Write Read/Write Read/Write - Read/Write
|
|
WEBP Read/Write - Read/Write - Read/Write
|
|
DNG Read/Write Read/Write Read/Write - Read/Write
|
|
NEF Read/Write Read/Write Read/Write - Read/Write
|
|
PEF Read/Write Read/Write Read/Write - Read/Write
|
|
ARW Read Read Read - -
|
|
RW2 Read Read Read - -
|
|
SR2 Read Read Read - -
|
|
SRW Read/Write Read/Write Read/Write - -
|
|
ORF Read/Write Read/Write Read/Write - -
|
|
PNG Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
PGF Read/Write Read/Write Read/Write Read/Write Read/Write
|
|
RAF Read Read Read - -
|
|
EPS - - Read/Write - -
|
|
XMP - - Read/Write - -
|
|
GIF - - - - -
|
|
PSD Read/Write Read/Write Read/Write - -
|
|
TGA - - - - -
|
|
BMP - - - - -
|
|
JP2 Read/Write Read/Write Read/Write - Read/Write
|
|
|
|
o Support for GIF, TGA and BMP images is minimal: the image format is
|
|
recognized, a MIME type assigned to it and the height and width of
|
|
the image are determined.
|
|
|
|
o Reading other TIFF-like RAW image formats, which are not listed in
|
|
the table, may also work.
|
|
|
|
ACTIONS
|
|
The action argument is only required if it is not clear from the
|
|
options which action is implied.
|
|
|
|
pr | print
|
|
Print image metadata. This is the default action, i.e., the com-
|
|
mand exiv2 image.jpg will print a summary of the image Exif
|
|
metadata.
|
|
|
|
ex | extract
|
|
Extract metadata to *.exv, XMP sidecar (*.xmp) and thumbnail
|
|
image files. Modification commands can be applied on-the-fly.
|
|
|
|
in | insert
|
|
Insert metadata from corresponding *.exv, XMP sidecar (*.xmp)
|
|
and thumbnail files. Use option -S .suf to change the suffix of
|
|
the input files. Since files of any supported format can be used
|
|
as input files, this command can be used to copy the metadata
|
|
between files of different formats. Modification commands can be
|
|
applied on-the-fly.
|
|
|
|
rm | delete
|
|
Delete image metadata from the files.
|
|
|
|
ad | adjust
|
|
Adjust Exif timestamps by the given time. Requires at least one
|
|
of the options -a time, -Y yrs, -O mon or -D day.
|
|
|
|
mo | modify
|
|
Apply commands to modify (add, set, delete) the Exif, IPTC and
|
|
XMP metadata of image files. Requires option -c, -m or -M.
|
|
|
|
mv | rename
|
|
Rename files and/or set file timestamps according to the Exif
|
|
create timestamp. Uses the value of tag Exif.Photo.DateTimeOrig-
|
|
inal or, if not present, Exif.Image.DateTime to determine the
|
|
timestamp. The filename format can be set with -r fmt, timestamp
|
|
options are -t and -T.
|
|
|
|
fi | fixiso
|
|
Copy the ISO setting from one of the proprietary Nikon or Canon
|
|
makernote ISO tags to the regular Exif ISO tag,
|
|
Exif.Photo.ISOSpeedRatings. Does not overwrite an existing stan-
|
|
dard Exif ISO tag.
|
|
|
|
fc | fixcom
|
|
Fix the character encoding of Exif Unicode user comments.
|
|
Decodes the comment using the auto-detected or specified charac-
|
|
ter encoding and writes it back in UCS-2. Use option -n to spec-
|
|
ify the current encoding of the comment if necessary.
|
|
|
|
COMMAND SUMMARY
|
|
exiv2 [ opt [arg] ]+ [ act ] file ...
|
|
|
|
option [arg] long option description
|
|
-a tim --adjust Modify time stamps. [+|-]HH[:MM[:SS[.mmm]]]
|
|
-b --binary Show large binary values (default is to suppress them).
|
|
-c txt --comment JPEG comment string to set in the image ('modify' action). ...
|
|
-d tgt --delete Delete target(s) for the 'delete' action. ...
|
|
-D +-n --days Time adjustment by a positive or negative number of days ...
|
|
-e tgt --extract Extract target(s) for the 'extract' action.
|
|
-f --force Do not prompt before overwriting existing files ...
|
|
-F --Force Do not prompt before renaming files (Force rename) ...
|
|
-g key --grep Only output info for this Exiv2 key
|
|
-h --help Display help and exit.
|
|
-i tgt --insert Insert target(s) for the 'insert' action. ...
|
|
-k --keep Preserve file timestamps when updating files
|
|
-K key --key Report key. Similar to -g (grep) however key must match exactly.
|
|
-l dir --location Location (directory) for files to be inserted or extracted.
|
|
-m file --modify read commands from cmd-file
|
|
-M cmd --Modify Command line for the 'modify' action. ...
|
|
-n enc --encode Charset to decode Exif Unicode user comments. See: man 3 iconv_open
|
|
-O +-n --months Time adjustment by a positive or negative number of months, ...
|
|
-p mod --print Print report (common reports)
|
|
-P flg --Print Print report (fine grained control)
|
|
-q --quiet Silence warnings and error messages from the Exiv2 library ...
|
|
-Q lvl --log Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
-r fmt --rename Filename format for the 'rename' action. ...
|
|
-S suf --suffix Use suffix .suf for source files for insert command.
|
|
-t --timestamp Set the file timestamp according to the Exif create timestamp ...
|
|
-T --Timestamp Only set the file timestamp according to Exif create timestamp ...
|
|
-u --unknown Show unknown tags ...
|
|
-v --verbose verbose
|
|
-V --version Show the program version and exit.
|
|
-Y +-n --years Time adjustment by a positive or negative number of years ...
|
|
|
|
act pr | ex | in | rm | ad | mo | mv | fi | fc
|
|
print, extract, insert, delete, adjust, modify, rename, fixiso, fixcom
|
|
|
|
cmd See "Commands" below.
|
|
|
|
flg E | I | X | x | g | k | l | n | y | c | s | v | t | h
|
|
Exif, IPTC, XMP, num, grp, key, label, name, type, count, size, vanilla, translated, hex
|
|
|
|
fmt Default format is %Y%m%d_%H%M%S.
|
|
|
|
lvl d | i | i | w | e
|
|
debug, info, warning, error
|
|
|
|
mod s | a | e | t | v | h | i | x | c | p | i | C | R | S | X
|
|
summary, all, exif, translated, vanilla, hex, iptc, xmp, comment, preview,
|
|
ICC Profile, Recursive Structure, Simple Structure, raw XMP
|
|
|
|
tgt a | c | e | i | p | t | x | C | X | XX | -
|
|
all, comment, exif, iptc, preview, thumb, xmp, ICC Profile, SideCar, RawXMP, stdin/out
|
|
|
|
|
|
OPTIONS
|
|
-h Display help and exit.
|
|
|
|
-V Show the program version and exit.
|
|
When -V is combined with -v (Verbose version), build information
|
|
is printed to standard output along with a list of shared
|
|
libraries which have been loaded into memory. Verbose version is
|
|
supported on Windows (MSVC, Cygwin and MinGW builds), MacOSX and
|
|
Linux and is provided for test and debugging.
|
|
|
|
-v Be verbose during the program run.
|
|
|
|
-q Silence warnings and error messages from the Exiv2 library dur-
|
|
ing the program run (quiet). Note that options -v and -q can be
|
|
used at the same time.
|
|
|
|
-Q lvl Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror)
|
|
or 'm'(ute). The default log-level is 'w'. -Qm is equivalent to
|
|
-q. All log messages are written to standard error.
|
|
|
|
-b Show large binary values (default is to suppress them).
|
|
|
|
-u Show unknown tags (default is to suppress tags which don't have
|
|
a name).
|
|
|
|
-g key Only keys which match the given key (grep).
|
|
Multiple -g options can be used to grep info for several keys.
|
|
When the library is build with C++11, keys are matched using
|
|
std::regex::extended. When build without C++11, keys are pro-
|
|
cessed with the system regular expression engine: see man 3
|
|
regex. Platforms which do not support regex use key for a sub-
|
|
string match. You can determine the availability of regex using
|
|
the command: exiv2 -v -V -g have_regex -g cplusplus.
|
|
|
|
exiv2 -g Date -pt R.jpg
|
|
Exif.Image.DateTime Ascii 20 2012:08:07 16:01:05
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-g (--grep) is only applied to keys. It is not generally
|
|
applied to all output such as the default -ps report.
|
|
|
|
The key may finish with the optional modifier /i to indicated
|
|
case insensitive.
|
|
|
|
-K key Only report data for given key.
|
|
Multiple -K options can be used to report more than a single
|
|
key.
|
|
|
|
exiv2 -K Exif.Photo.DateTimeDigitized -K Exif.Photo.DateTimeOriginal -pt R.jpg
|
|
Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48
|
|
Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48
|
|
|
|
-n enc Charset to use to decode Exif Unicode user comments. enc is a
|
|
name understood by iconv_open(3), e.g., 'UTF-8'.
|
|
|
|
-k Preserve file timestamps when updating files (keep). Can be used
|
|
with all options which update files. The flag is ignored by
|
|
read-only options.
|
|
|
|
-t Set the file timestamp according to the Exif create timestamp in
|
|
addition to renaming the file (overrides -k). This option is
|
|
only used with the 'rename' action.
|
|
|
|
-T Only set the file timestamp according to the Exif create time-
|
|
stamp, do not rename the file (overrides -k). This option is
|
|
only used with the 'rename' action. Note: On Windows you may
|
|
have to set the TZ environment variable for this option to work
|
|
correctly.
|
|
|
|
-f Do not prompt before overwriting existing files (force over-
|
|
write).
|
|
|
|
-F Do not prompt before renaming files (Force rename). Appends '_1'
|
|
('_2', ...) to the name of the new file.
|
|
|
|
-a time
|
|
Time adjustment in the format [-]HH[:MM[:SS]]. This option is
|
|
only used with the 'adjust' action. Examples: 1 adds one hour,
|
|
1:01 adds one hour and one minute, -0:00:30 subtracts 30 sec-
|
|
onds.
|
|
|
|
-Y yrs Time adjustment by a positive or negative number of years, for
|
|
the 'adjust' action.
|
|
|
|
-O mon Time adjustment by a positive or negative number of months, for
|
|
the 'adjust' action.
|
|
|
|
-D day Time adjustment by a positive or negative number of days, for
|
|
the 'adjust' action.
|
|
|
|
-p mode
|
|
Print mode for the 'print' action. Possible modes are:
|
|
s : print a summary of the Exif metadata (the default)
|
|
a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)
|
|
e : print Exif metadata (shortcut for -PEkycv)
|
|
t : interpreted (translated) Exif tags (-PEkyct)
|
|
v : plain Exif tag values (-PExgnycv)
|
|
h : hexdump of the Exif data (-PExgnycsh)
|
|
i : IPTC datasets (-PIkyct)
|
|
x : XMP properties (-PXkyct)
|
|
c : JPEG comment
|
|
p : list available image previews, sorted by preview image size
|
|
in pixels
|
|
C : print image ICC Profile (jpg, png, tiff, webp, cr2, jp2
|
|
only)
|
|
R : print image structure recursively (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
S : print image structure information (jpg, png, tiff, webp,
|
|
cr2, jp2 only)
|
|
X : print "raw" XMP (jpg, png, tiff, webp, cr2, jp2 only)
|
|
|
|
-P flgs
|
|
Print flags for fine control of the tag list ('print' action).
|
|
Allows control of the type of metadata as well as data columns
|
|
included in the print output. Valid flags are:
|
|
E : include Exif tags in the list
|
|
I : IPTC datasets
|
|
X : XMP properties
|
|
x : print a column with the tag number
|
|
g : group name
|
|
k : key
|
|
l : tag label
|
|
n : tag name
|
|
y : type
|
|
c : number of components (count)
|
|
s : size in bytes
|
|
v : plain data value (vanilla values)
|
|
V : plain data value AND the word 'set ' (for use with exiv2
|
|
-m-)
|
|
t : interpreted (translated) human readable data
|
|
h : hexdump of the data
|
|
|
|
-d tgt Delete target(s) for the 'delete' action. Possible targets are:
|
|
a : all supported metadata (the default)
|
|
e : Exif section
|
|
t : Exif thumbnail only
|
|
i : IPTC data
|
|
x : XMP packet
|
|
c : JPEG comment
|
|
C : ICC Profile
|
|
I : All IPTC data
|
|
|
|
-i tgt Insert target(s) for the 'insert' action. Possible targets are
|
|
the same as those for the -d option, plus an optional modifier:
|
|
|
|
X : Insert metadata from an XMP sidecar file <file>.xmp. The
|
|
remaining insert targets determine what metadata to insert from
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these. Note that the inserted XMP properties
|
|
include those converted to Exif and IPTC.
|
|
|
|
XX: Insert "raw" XMP metadata from a sidecar (see option -pX)
|
|
|
|
- : Read from stdin. This option is intended for "filter" oper-
|
|
ations such as:
|
|
$ exiv2 -e{tgt}- filename | xmllint .... | exiv2 -i{tgt}- file-
|
|
name
|
|
|
|
Only JPEG thumbnails can be inserted (not TIFF thumbnails), and
|
|
must be named file-thumb.jpg.
|
|
|
|
-e tgt Extract target(s) for the 'extract' action. Possible targets are
|
|
the same as those for the -d option, plus a target to extract
|
|
preview images and a modifier to generate an XMP sidecar file:
|
|
p[<n>[,<m> ...]] : Extract preview images. The optional comma
|
|
separated list of preview image numbers is used to determine
|
|
which preview images to extract. The available preview images
|
|
and their numbers are displayed with the 'print' option -pp.
|
|
|
|
C : Extract embedded ICC profile to <file>.icc
|
|
|
|
X : Extract metadata to an XMP sidecar file <file>.xmp. The
|
|
remaining extract targets determine what metadata to extract to
|
|
the sidecar file. Possible are Exif, IPTC and XMP and the
|
|
default is all of these.
|
|
|
|
XX: Extract "raw" XMP metadata to a sidecar (see -pX)
|
|
You may not use modify commands with the -eXX option and
|
|
only XMP is written to the sidecar.
|
|
|
|
- : Output to stdout (see -i tgt for an example of this feature)
|
|
|
|
|
|
-r fmt Filename format for the 'rename' action. The format string fol-
|
|
lows strftime(3) and supports the following keywords:
|
|
|
|
:basename: original filename without extension
|
|
:dirname: name of the directory holding the original file
|
|
:parentname: name of parent directory
|
|
Default filename format is %Y%m%d_%H%M%S.
|
|
|
|
-c txt JPEG comment string to set in the image ('modify' action). This
|
|
option can also be used with the 'extract' and 'insert' actions
|
|
to modify metadata on-the-fly.
|
|
|
|
-m file
|
|
Command file for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. -m- represents standard-input.
|
|
|
|
-M cmd Command line for the 'modify' action. This option can also be
|
|
used with the 'extract' and 'insert' actions to modify metadata
|
|
on-the-fly. The format for the commands is the same as that of
|
|
the lines of a command file.
|
|
|
|
-l dir Location (directory) for files to be inserted or extracted.
|
|
|
|
-S .suf
|
|
Use suffix .suf for source files in 'insert' action.
|
|
|
|
COMMANDS
|
|
Commands for the 'modify' action can be read from a command file, e.g.,
|
|
|
|
exiv2 -m cmd.txt image.jpg
|
|
|
|
or given on the command line, as in
|
|
|
|
exiv2 -M"add Iptc.Application2.Credit String Mr. Smith" image.jpg
|
|
|
|
Note the quotes. Multiple -m and -M options can be combined, and a non-
|
|
standard XMP namespace registered.
|
|
|
|
exiv2 -M"reg myprefix http://ns.myprefix.me/" -M"add Xmp.myprefix.Whom Mr. Smith" -M"set Exif.Image.Artist Mr. Smith" image.jpg
|
|
|
|
When writing Exif, IPTC and XMP metadata, exiv2 enforces only a correct
|
|
metadata structure. It is possible to write tags with types and values
|
|
different from those specified in the standards, duplicate Exif tags,
|
|
undefined tags, or incomplete metadata. While exiv2 is able to read all
|
|
metadata that it can write, other programs may have difficulties with
|
|
images that contain non standard-conforming metadata.
|
|
|
|
Command format
|
|
The format of a command is
|
|
|
|
set | add | del key [[type] value]
|
|
|
|
set Set the value of an existing tag with a matching key or add the
|
|
tag.
|
|
|
|
add Add a tag (unless key is a non-repeatable IPTC key; nothing pre-
|
|
vents you from adding duplicate Exif tags).
|
|
|
|
del Delete all occurrences of a tag (requires only a key).
|
|
|
|
key Exiv2 Exif, IPTC or XMP key.
|
|
|
|
type Byte | Ascii | Short | Long | Rational | Undefined | SShort |
|
|
SLong | SRational | Comment for Exif keys,
|
|
String | Date | Time | Short | Undefined for IPTC keys, and
|
|
XmpText | XmpAlt | XmpBag | XmpSeq | LangAlt for XMP keys.
|
|
|
|
A default type is used if none is explicitly given. The default
|
|
is determined based on key.
|
|
|
|
value The remaining text on the line is the value. It can optionally
|
|
be enclosed in single quotes ('value') or double quotes
|
|
("value").
|
|
|
|
The value is optional. Not providing any value is equivalent to
|
|
an empty value ("") and is mainly useful to create an XMP array
|
|
property, e.g., a bag.
|
|
|
|
The format of Exif Comment values includes an optional charset
|
|
specification at the beginning:
|
|
[charset=Ascii|Jis|Unicode|Undefined ]comment
|
|
|
|
Undefined is used by default if the value doesn't start with a
|
|
charset definition.
|
|
|
|
The format for an IPTC Date value is:
|
|
|
|
YYYY-MM-DD (year, month, day)
|
|
|
|
The format for an IPTC Time value is:
|
|
|
|
HH:MM:SS (hours, minutes, seconds)
|
|
|
|
and may optionally be followed by:
|
|
|
|
-HH:MM or +HH:MM (hours, minutes ahead/behind UTC)
|
|
|
|
The format of Rational (and SRational) is one of:
|
|
|
|
integer | integer/integer | Fnumber | number
|
|
|
|
Rational Examples:
|
|
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue 557429/62500" X.jpg
|
|
$ exiv2 "-Mset Exif.Photo.MaxApertureValue F5.6" X.jpg
|
|
|
|
The Rational format Fnumber is for the convenience of setting
|
|
aperture values. Aperture values are stored in Exif is an APEX
|
|
value which can be evaluated by the expression:
|
|
|
|
apex-value = log(Fnumber) * 2.0 / log(2.0)
|
|
number = exp(apex-value * log(2.0) / 2.0)
|
|
|
|
The Rational format Fnumber is valid for any Rational, even when
|
|
the key is not an Aperture. More information about APEX value
|
|
is available from: http://en.wikipedia.org/wiki/APEX_system
|
|
|
|
The format of XMP LangAlt values includes an optional language
|
|
qualifier:
|
|
lang="language-code" text
|
|
|
|
lang="x-default" is used if the value doesn't start with a lan-
|
|
guage qualifier.
|
|
|
|
$ exiv2 -M'set Xmp.dc.title lang="de-DE" Euros' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-GB" Pounds' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title lang="en-US" In God We Trust' X.jpg
|
|
$ exiv2 -M'set Xmp.dc.title All others pay cash' X.jpg
|
|
|
|
To remove a language specification, set the value to '' (empty
|
|
string)
|
|
exiv2 -M'set Xmp.dc.title lang="en-US"' X.jpg
|
|
To remove all language specifications, delete the key:
|
|
$ exiv2 -M'del Xmp.dc.title' X.jpg
|
|
To register additional XMP namespaces, combine the command with:
|
|
reg prefix namespace
|
|
|
|
Command file format
|
|
Empty lines and lines starting with # in a command file are ignored
|
|
(comments). Remaining lines are commands as described above.
|
|
|
|
EXAMPLES
|
|
exiv2 *.jpg
|
|
Prints a summary of the Exif information for all JPEG files in
|
|
the directory.
|
|
|
|
exiv2 -pi image.jpg
|
|
Prints the IPTC metadata of the image.
|
|
|
|
exiv2 rename img_1234.jpg
|
|
Renames img_1234.jpg (taken on 13-Nov-05 at 22:58:31) to
|
|
20051113_225831.jpg
|
|
|
|
exiv2 -r':basename:_%Y%m' rename img_1234.jpg
|
|
Renames img_1234.jpg to img_1234_200511.jpg
|
|
|
|
exiv2 -et img1.jpg img2.jpg
|
|
Extracts the Exif thumbnails from the two files into
|
|
img1-thumb.jpg and img2-thumb.jpg.
|
|
|
|
exiv2 -it img1.jpg img2.jpg
|
|
Inserts (copies) metadata from img1.exv to img1.jpg and from
|
|
img2.exv to img2.jpg.
|
|
|
|
exiv2 -ep1,2 image.jpg
|
|
Extracts previews 1 and 2 from the image to the files image-pre-
|
|
view1.jpg and image-preview2.jpg.
|
|
|
|
exiv2 -eiX image.jpg
|
|
Extracts IPTC datasets into an XMP sidecar file image.xmp and in
|
|
the process converts them to "IPTC Core" XMP schema.
|
|
|
|
exiv2 -iixX image.jpg
|
|
Inserts IPTC and XMP metadata from an XMP sidecar file image.xmp
|
|
into image.jpg. The resulting IPTC datasets are converted from
|
|
the "IPTC Core" XMP schema properties in the sidecar file to the
|
|
older IPTC IIM4 format. The inserted XMP properties include
|
|
those in the "IPTC Core" XMP schema.
|
|
|
|
exiv2 -M"set Exif.Photo.UserComment charset=Ascii New Exif comment"
|
|
image.jpg
|
|
Sets the Exif comment to an ASCII string.
|
|
|
|
exiv2 -M"set Exif.GPSInfo.GPSLatitude 4/1 15/1 33/1" \ -M"set
|
|
Exif.GPSInfo.GPSLatitudeRef N" image.jpg
|
|
Sets the latitude to 4 degrees, 15 minutes and 33 seconds north.
|
|
The Exif standard stipulates that the GPSLatitude tag consists
|
|
of three Rational numbers for the degrees, minutes and seconds
|
|
of the latitude and GPSLatitudeRef contains either 'N' or 'S'
|
|
for north or south latitude respectively.
|
|
|
|
exiv2 insert -l/tmp -S.CRW /data/*.JPG
|
|
Copy all metadata from CRW files in the /tmp directory to JPG
|
|
files with corresponding basenames in the /data directory. Note
|
|
that this copies metadata as is, without any modifications to
|
|
adapt it to the requirements of the target format. Some tags
|
|
copied like this may not make sense in the target image.
|
|
|
|
SEE ALSO
|
|
http://www.exiv2.org/sample.html#modify
|
|
Sample command files.
|
|
|
|
http://www.exiv2.org/metadata.html
|
|
Taglists with key and default type values.
|
|
|
|
AUTHORS
|
|
exiv2 was written by Andreas Huggel and others. The Exiv2 project web
|
|
site is http://exiv2.org
|
|
|
|
This manual page was originally created for the Debian project by KELE-
|
|
MEN Peter <fuji@debian.org>.
|
|
|
|
|
|
|
|
Oct 19, 2016 EXIV2(1)
|
|
</pre>
|