JPEG

jpegtran (part of libjpeg-progs in Debian) can losslessly optimize JPEG files:

parallel -u 'echo {}; jpegtran -optimize -progressive -perfect -copy all -outfile {}.tran {} && mv {}.tran {}' ::: *.jpg

Source: /dev/schnouki - Optimizing JPEG pictures

Another interesting tool is jpegoptim (jpegoptim on freshmeat):

parallel jpegoptim ::: *.jpg

though the compression does not appear to be as good, and it's known to wipe JPEG metadata even when told not to.

PNG

find . -name '*png' -print0 | xargs -0 -n64 -P$(nproc) optipng -o3
find . -name '*png' -print0 | xargs -0 -n64 -P$(nproc) advpng -z -4
find . -name '*png' -print0 | xargs -0 -n64 -P$(nproc) advdef -z -4

# Or (untested)
parallel -u'optipng -o3 {}; advpng -z -4 {}; advdev -z 4 {}' -n 64' ::: *png


CategoryCategory