Caesium Command Line Tools - Lossy/lossless image compression tool using mozjpeg and zopflipng
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
src
.gitignore Fixing paths Nov 12, 2017
.travis.yml Testing Travis Mar 10, 2017
CMakeLists.txt
INSTALL.md Styling improvements and license Jan 1, 2018
LICENSE.md Styling improvements and license Jan 1, 2018
README.md
install.sh Testing Travis Mar 10, 2017

README.md

Caesium CommandLineTools

caesium-clt - v0.12.1-beta (build 20180812) - Copyright © Matteo Paonessa, 2018. All Rights Reserved.

Build Status

REQUIREMENTS
Included libraries

TESTED PLATFORMS
  • Mac OS X High Sierra (v10.13.6)
  • Ubuntu 18.04
  • Windows 10

COMPILATION

See INSTALL.md for more details.


COMMAND LINE ARGUMENTS
  • -q, --quality [value] {Required}
    Sets the quality of the image. The higher the value is, better the result will be. Note that a value of 0 will mean lossless compression, which will not modify the original image, but will compress less. Allowed range is [0. 100].
    A common value for lossy compression is 80.
  • -e, --exif
    Keeps the JPEG metadata information during compression. File size will be slightly higher.
  • -o, --output [value] {Required}
    Path to the output folder where the compressed files will be stored. Can be the same input folder, which will overwrite the original files.
  • -s, --scale [value]
    Will scale the image to a factor of [value]. Allowed formats are decimal values, fractions and percentages.
    The factor must be a number > 0 and <= 1.0, as caesiumclt won't upscale any image.
    This is an experimental feature and might not work as expected.
  • -R, --recursive
    If the input is a folder, caesiumclt will also scan every subfolder searching for images.
    Note that this may end up building a large set of files to be compressed and should be used carefully.
  • -S, --keep-structure
    If the input is a folder, and the -R option is set, caesiumclt will compress all the files keeping the original folder structure.
  • -d, --dry-run
    If this option is set, no files will be compressed, but the entire process will just be simulated.
    Useful for checking if all the files will be correctly handled.
  • -h, --help
    Displays a summary of the command line arguments, much like this one you're reading.
  • -v, --version
    Prints the current caesiumclt version.

USAGE EXAMPLES

Losslessly compress image1.jpg, located in the home directory, into a folder called output

$ caesiumclt -q 0 -o ~/output/ ~/image.jpg

Compress image1.jpg, located in the home directory, into a folder called output with lossy compression and quality set to 80

$ caesiumclt -q 80 -o ~/output/ ~/image.jpg

Compress image1.jpg, located in the home directory, into a folder called output with lossy compression, quality set to 80 and resize it to half

$ caesiumclt -q 80 -s 0.5 -o ~/output/ ~/image.jpg

Losslessly compress image1.jpg, located in the home directory, into a folder called output and keeps EXIF metadata

$ caesiumclt -q 0 -e -o ~/output/ ~/image.jpg

Losslessly compress Pictures folder and subfolders, located in the home directory, into a folder called output

$ caesiumclt -q 0 -R -o ~/output/ ~/Pictures

Losslessly compress Pictures folder and subfolders, located in the home directory, into a folder called output retaining the input folder structure

$ caesiumclt -q 0 -RS -o ~/output/ ~/Pictures

TODO
  • Code cleaning
  • Deeper error handling

CHANGELOG
  • 0.12.1-beta - Bugfix
  • 0.12.0-beta - Resizing (experimental)
  • 0.11.0-beta - Fixing paths issues and dry-run option
  • 0.10.2-beta - Bugfixes & full Windows support
  • 0.10.1-beta - All features are available
  • 0.10.0-beta - Switched to cmake build system and libcaesium
  • 0.9.1-beta - Initial development stage

RESOURCES