NAME
pecomato - a portable picture-embedded metadata processor
SYNOPSIS
pecomato [OPTION...] OP [EXPR] FILE [FILE...]
pecomato [OPTION...] OP [EXPR] @FILE
usage of form OP EXPR only concerns OP mode dump-value, see below.
use @file to read a list of files from that file. the file must contain exactly one filename to process per line (don't escape anything, filenames are taken as-is).
DESCRIPTION
pecomato is basically designed to display any kind of information embedded in picture files, as well as checking, filtering, extracting, removing, adding and fixing such information. In other words, it's a metadata processor.
It supports the following file formats: JPEG/JFIF, Adobe PSD and FFO, raw IPTC. And it knows about the following metadata formats: JFIF, IPTC, Exif, Adobe and Fotostation. More file and metadata formats might be supported later: TIFF, etc.
One of its main goals is to check the validity of parsed metadata as well as optionally check the strict compliance to official standards. On another hand, it aims to provide ways of fixing broken or not compliant chunks as well as providing general basic functions to manipulate the metadata.
Please visit the program homepage at http://www.mollux.org/projects/pecomato/. Thanks for reporting issues at https://www.mollux.org/services/bugzilla/.
OPTIONS
general options:
- -v, --version
- show version number then exit
- -h, --help
- show this usage help then exit
- --list
- list all supported embedded data structures
- -l, --log-level NUM
- define verbosity (see possible values below)
- -c, --check-compliance
- perform full checks to test the strict validity and compliance of structures to official formats
filtering and extracting options:
- -b, --backup
- create backup files of (re)written files if necessary
- -d, --target-dir DIRNAME
- target directory for all written files
- -f, --fix
- fix metadata inconsistencies when possible
extracting options:
- -x, --extract TYPE
- extract and save metadata to a standalone file (see below for a list of metadata types that can be extracted)
- -t, --ext EXTENSION
- define what filename extension to use when writing metadata that is extracted (default: .iptc)
- -a, --append-ext
- append extension to original filename when saving the extracted metadata (default: replace original file extension)
filtering options:
- -i, --include EXPR
- a filter expression describing the datasets to keep
- -i, --include @FILE
- or a file containing a list of datasets to keep, all other datasets will be filtered out. if not used, all datasets will be kept
- -e, --exclude EXPR
- a filter expression describing the datasets to filter out
- -e, --exclude @FILE
- a file containing a list of datasets to filter out, all other datasets will be kept. if not used all datasets will be kept
- --edit EXPR
- a filter edit expression describing the datasets to add
- --edit @FILE
- or a file containing a list of datasets to add. datasets won't be inserted if that breaks compliance to the standards
- --test
- don't override original file, create *.rewrite file. this option only affects rewriting of source files
dump options:
- -w, --wrap NUM
- max column for wrapping (num must be in range [8-1024]). default is to dump unwrapped
POSSIBLE OPS
- check
- just check embedded data structures
- dump
- show embedded data (headers only)
- dump-full
- show all embedded data (including values)
- dump-value
- show requested value (headers only)
- filter
- filter embedded data (see -i, -e and --edit)
DUMP-VALUE EXPRESSIONS
- IPTC.<record>
same as filter include/exclude expression, see below:
FILTER INCLUDE/EXCLUDE EXPRESSIONS
- IPTC.<record>
where <record> can be either:
- all: *
- hexadecimal unary: 0xhhhh
- hexadecimal range: 0xhhhh-0xhhhh
- decimal unary: nnn:nnn
- decimal ranges: nnn:nnn-nnn
- nnn:*
examples:
- IPTC.0x0219
- IPTC.0x0300-0x0364
- IPTC.3:0-100
FILTER EDIT EXPRESSIONS
- IPTC.<record>=<type>:<value>
where <record> can be either:
- hexadecimal unary: 0xhhhh
- decimal unary: nnn:nnn
where <type> can be either:
- hex
- text
and <value> is:
- hex: [a-zA-Z0-9] pairs
- text: any char (even widechars) on the line is taken as text, until
- a newline is found
examples:
- IPTC.0x0200=hex:0002
- IPTC.0x0219=text:this is a keyword
SUPPORTED METADATA FOR EXTRACTION
- iptc
- IPTC datasets
POSSIBLE LOG LEVELS
- 0
- quiet, no output at all
- 1
- error messages only (default)
- 2
- warning and error messages
- 3
- informative, warning and error messages
- 4
- all messages including debug ones
SUPPORTED INPUT FILES
- JPEG files (commonly .jpeg, .jpg, .jpe, .jfif, .jif)
- Adobe Photoshop files (commonly .psd, .pdd, .ffo)
- FotoStation files (commonly .fdp, .ipt)
- standalone IPTC metadata (commonly .iptc)
EXIT CODES
- 0
- normal exit
- 1
- usage error
- 2
- asynchronous signal termination
- 3
- normal exit, with warning(s)
- 4
- normal exit, with error(s)
- 5
- fatal error encountered
EXAMPLES
- Check metadata structures of a JPEG file, only report errors
-
$ pecomato check file.jpg
AUTHOR
Written by Tristan Chabredier "wwp" <subscript (at) free.fr>.
COPYRIGHT
Copyright (C) 2005-2007 Tristan Chabredier.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.