oracular (1) jpegoptim.1.gz

Provided by: jpegoptim_1.4.7-1_amd64 bug

NAME

       jpegoptim - utility to optimize/compress JPEG/JFIF files.

SYNOPSIS

       jpegoptim [ options ] [ filenames ]

DESCRIPTION

       jpegoptim is used to optimize/compress jpeg files. Program supports lossless optimization, which is based
       on optimizing the Huffman tables. And so called "lossy" optimization  where  in  addition  to  optimizing
       Huffman tables user can specify upperlimit for image quality.

       NOTE!  By  default jpegoptim modifies the input files (if they are optimized), to preserve original files
       use option -d to specify alternate directory for saving the optimized files to.

       Only normal files are optimized (symbolic links and special files are skipped).   Also,  any  other  hard
       links to the file being optimized (as created using link(2)) are unaffected.

OPTIONS

       Options  may  be  either  the traditional POSIX one letter options, or the GNU style long options.  POSIX
       style options start with a single ``-'', while GNU long options start with ``--''.

       Options offered by jpegoptim are the following:

       -d<path>, --dest=<path>
             Sets alternative destination directory where to save optimized files (default is to  overwrite  the
             originals).  Please  note  that  unchanged  files won't be added to the destination directory. This
             means if the source file can't be compressed, no file will be created in the destination path.

       -f, --force
             Force optimization, even if the result would be larger than the original file.

       -h, --help
             Displays short usage information and exits.

       -m<quality>, --max=<quality>
             Sets the maximum image quality factor (disables lossless optimization mode,  which  is  by  default
             enabled).  This  option  will  reduce  quality  of  those source files that were saved using higher
             quality setting.  While files that already have lower quality setting will be compressed using  the
             lossless optimization method.

             Valid values for quality parameter are: 0 - 100

       -n, --noaction
             Don't really optimize files, just print results.

       -S<size>, --size=<size>
             Try  to optimize file to given size (disables lossless optimization mode). Target size is specified
             either in kilobytes (1 - n) or as percentage (1% - 99%) of the original file size.

       -T<threshold>, --threshold=<threshold>
             Keep the file unchanged if the compression gain is lower than the threshold (%).

             Valid values for threshold are: 0 - 100

       -b, --csv
             Print progress info in CSV format.

       -o, --overwrite
             Overwrite target file even if it exists (when using -d option).

       -p, --preserve
             Preserve file modification times.

       -P, --preserve-perms
             Preserve file permissions (owner/group) by overwriting the original file.  This  is  slightly  less
             safe  than  the default mode of operation (where new file is first saved as temporary file and then
             renamed over the original file).  In this  mode  a  backup  of  the  original  file  is  made  with
             .jpegoptim.bak  extension,  and  this file is removed after the original file has been successfully
             replaced.  NOTE! if running jpegoptim as root there is generally no need to  use  this  option,  as
             jpegoptim is able to preserve file permissions when run by root in default mode.

       -q, --quiet
             Quiet mode.

       -t, --totals
             Print totals after processing all files.

       -v, --verbose
             Enables verbose mode (positively chatty).

       --all-normal
             Force  all  output  files  to  be  non-progressive.  Can be used to convert all input files to non-
             progressive JPEGs when used with --force option.

       --all-progressive
             Force all output files to be progressive. Can be used to convert all normal (non-progressive) JPEGs
             input files to progressive when used with --force option.

       --all-arith
             Force all output files to use Arithmetic Coding.  This option is experimental and only available if
             jpegoptim was compiled with Arithmetic Coding support enabled.

       --all-huffman
             Force all output files to use (traditional) Huffman coding.  This option is experimental  and  only
             available if jpegoptim was compiled with Arithmetic Coding support enabled.

       --nofix
             Skip  processing of any input files that have any errors/warnings during decompression.  By default
             jpegoptim will attempt to optimize any file that it is able to decompress,  even  if  decompression
             generates warnings. This will 'fix' some (corrupt) JPEG images automatically.  If this behaviour is
             not desired, this option can be used to make jpegoptim to skip any input  files  that  contain  any
             errors.

       --stdout
             Send  output  image  to  standard output. Note, if optimization didn't create smaller file than the
             input file, then no output original image is passed through unmodified (except any extra data after
             JPEG image will be discarded).

       --stdin
             Read  input image from standard input and send output to standard output (--stdout is assumend when
             this option is used).  When this option is used then only one image is read  from  standard  input.
             Any  (other) input files specified on command-line are ignored.  Note, if input file '-' is seen on
             command line then standard input is also assumed.

METADATA OPTIONS

       By default jpetoptim will keep common metadata (JPEG markers) and discard any other (unkown ones).

       Following markers are kept by default:
        - EXIF
        - IPTC
        - ICC
        - XMP
        - COM (JPEG Comment markers)

       JFIF marker will be regenerated (by libjpeg) during the process (this cannot be changed).  However, Adobe
       marker  is  also  generated  (or  omitted)  by libjpeg based on the image colorspace, etc.  This behavior
       depends on libjpeg library version being used. To make sure Adobe marker is preserved option --keep-adobe
       can be used.

       To remove additonal markers one or more the --strip-* options can be used.

       For example:      --strip-icc --strip-xmp --strip-com

       Alternatively  it  is  possible  to  specify  --strip-all and then one or more of the --keep-* options to
       explicitly list which markers to keep

       For example:      --strip-all --keep-exif --keep-iptc

       Options for controlling metadata (markers) in output files:

       -s, --strip-all
             Strip all markers from output file. (NOTE! by default only  Comment  &  Exif/IPTC/PhotoShop/ICC/XMP
             markers are kept, everything else is discarded).  Output JPEG still likely will contains one or two
             markers (JFIF and Adobe APP14) depending on colorspace used in the  image,  as  these  markers  are
             generated by the libjpeg encoder automatically.

       --strip-none
             Preserve  "all"  markers  in  the image. This will leave all markers untouched in the image, except
             JFIF (APP0) and Adobe (APP14) markers as those get regenerated by the libjpeg library.

             NOTE! If this option is specified then any other --strip-* or --keep-* options are ignored.

       --strip-com
             Strip Comment (COM) markers from output file.

       --strip-exif
             Strip EXIF markers from output file.

       --strip-iptc
             Strip IPTC / Adobe Photoshop (APP13) markers from output file.

       --strip-icc
             Strip ICC profiles from output file.

       --strip-xmp
             Strip XMP profiles from output file.

       --strip-jfxx
             Strip JFXX (JFIF Extensions) from output file.

       --strip-Adobe
             Strip Adobe markers from output file.

       --keep-com
             Do not strip any Comment (COM) markers from output file.

       --keep-exif
             Do not strip any EXIF markers from output file.

       --keep-iptc
             Do not strip any IPTC / Adobe Photoshop (APP13) markers from output file.

       --keep-icc
             Do not strip any ICC profiles from output file.

       --keep-xmp
             Do not strip any XMP profiles from output file.

       --strip-jfxx
             Do not strip any JFXX (JFIF Extensions) from output file.

       --keep-Adobe
             Do not strip Adobe markers from output file.

BUGS

       When using --size option, resulting file is not always exactly the requested size. Workaround is  to  re-
       run jpegoptim on the same file again which often will result file closer to target size.

SEE ALSO

       jpeginfo(1)

AUTHOR

       Timo Kokkonen <tjko@iki.fi>

COPYING

       Copyright (C) 1996-2022  Timo Kokkonen

       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 2 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, write
       to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.