Table of Contents
An app to optimize/compress JPEG/JFIF files.
jpegoptim
is a ChRIS ds-type application that takes in directory of JPEG/JFIF files and optimizes them by invoking the jpegoptim utility. More information available at:
'https://manpages.ubuntu.com/manpages/trusty/man1/jpegoptim.1.html'
docker run --rm fnndsc/pl-jpegoptim jpegoptim
[-h|--help]
[--json] [--man] [--meta]
[--savejson <DIR>]
[-v|--verbosity <level>]
[--version]
[--force] [--noaction] [--csv] [--quiet]
[--totals] [--verbose]
[--max=<###>]
[--size=<###>]
[--preserve] [--preserve-perms]
[--strip-all] [--strip-none] [--strip-com]
[--strip-exif] [--strip-iptc] [--strip-icc]
[--strip-xmp]
[--all-normal] [--all-progressive]
<inputDir> <outputDir>
[-h] [--help]
If specified, show help message and exit.
[--json]
If specified, show json representation of app and exit.
[--man]
If specified, print (this) man page and exit.
[--meta]
If specified, print plugin meta data and exit.
[--savejson <DIR>]
If specified, save json representation file to DIR and exit.
[-v <level>] [--verbosity <level>]
Verbosity level for app. Not used currently.
[--version]
If specified, print version number and exit.
[--force]
force optimization
[--max]
set maximum image quality factor (disables lossless optimization mode, which is by default on) Valid quality values: 0 - 100
[--noaction]
don't really optimize files, just print results
[--size]
Try to optimize file to given size (disables lossless optimization mode). Target size is specified either in kilo bytes (1 - n) or as percentage (1% - 99%)
[--csv]
print progress info in CSV format
[--preserve]
preserve file timestamps
[--preserve-perms]
preserve original file permissions by overwriting it
[--quiet]
quiet mode
[--totals]
print totals after processing all files
[--verbose]
enable verbose mode (positively chatty)
[--strip-all]
strip all markers from output file
[--strip-none]
do not strip any markers
[--strip-com]
strip Comment markers from output file
[--strip-exif]
strip Exif markers from output file
[--strip-iptc]
strip IPTC/Photoshop (APP13) markers from output file
[--strip-icc]
strip ICC profile markers from output file
[--strip-xmp]
strip XMP markers markers from output file
[--all-normal]
force all output files to be non-progressive
[--all-progressive]
force all output files to be progressive
Getting inline help is:
docker run --rm fnndsc/pl-jpegoptim jpegoptim --man
You need to specify input and output directories using the -v flag to docker run.
docker run --rm -u $(id -u) \
-v $(pwd)/in:/incoming -v $(pwd)/out:/outgoing \
fnndsc/pl-jpegoptim jpegoptim \
/incoming /outgoing
Build the Docker container:
docker build -t local/pl-jpegoptim .
Run unit tests:
docker run --rm local/pl-jpegoptim nosetests
Reduce input images to images half the size:
docker run -v $INPUTDIR:/indir -v $OUTPUTDIR:/outdir --rm fnndsc/pl-jpegoptim --size=50% /indir /outdir
Remove ALL metadata from input images:
docker run -v $INPUTDIR:/indir -v $OUTPUTDIR:/outdir --rm fnndsc/pl-jpegoptim --strip-all /indir /outdir
Remove IPTC metadata from input images:
docker run -v $INPUTDIR:/indir -v $OUTPUTDIR:/outdir --rm fnndsc/pl-jpegoptim --strip-iptc /indir /outdir