A JPG file is a kind of ZIP that leaves out some information from the original image to even achieve higher compression rates.
Apply another compression algorithm to already compressed files, usually does not result in any reduction of the file size and likely even could make the file larger. As fun fact is that ZIP, when fed with absolutely random data, will result in a larger file, namely by adding some information to the file to tell that it could not be compressed any further.
Compression works because the data is structured and ordered. A folder of photos is neither. When you do structure and order your photos you have, well, a video.
There is potentially some compression magic that could be performed by transforming images using ImageMagick [2] or GraphicsMagick and then compressing them but that gets into the topic of potentially reducing image quality. Not compressing them with those tools but rather confining color pallets, depth and a few other variables to optimize the images to be more batch compressible for marginal gains. If you are not concerned about image quality then those tools can absolutely compress images without any trickery. resize, adding smoothing or blurring, etc...
for Derp in *.jpg; do convert -resize 30% "$Derp" "resized-$Derp"; done
This is a topic people could debate until the end of the universe so instead give lrzip a shot if you have the time and CPU resources. If you get more than 5% please let us know. Otherwise one could use ImageMagick to batch resize, blur or other of the image files at the risk of losing image quality.I’ll definitely experiment with lrzip and the .tar approach — and I hadn’t considered pre-processing images with ImageMagick that way. Your tips opened up some new ideas I hadn’t even thought of!