Tools for JPEG optimization?

Do you know of any tools (preferrably command-line) to automatically and losslessly optimize JPEGs that I could integrate into our build environment? For PNGs I'm currently using PNGOUT, and it generally saves around 40% bandwidth/image size.

At the very least, I would like a tool that can strip metadata from the JPGs - I noticed a strange case where I tried to make thumbnail from a photograph, and couldn't get it smaller than 34 kB. After investigating more, I found that the EXIF data was still part of the image, and the thumbnail was 3 kB after removing the metadata.

And beyond that - is it possible to further optimize JPGs losslessly? The PNG optimizer tries different compression strategies, random initialization of the Huffmann encoding etc.

I am aware that most savings come from the JPEG quality parameter, and that it's a rather subjective measure. I'm only looking for a tool that can be run as a build step and that losslessly squeezes a few bytes from the images.

65737 次浏览

I would try Imagemagick. It has tons of command line options, its free and have a nice license. Http://www.imagemagick.org

似乎有一个名为 Strip 的选项可以帮助你: Http://www.imagemagick.org/script/command-line-options.php#strip

我也建议使用 图像魔术。它有一个命令行选项来删除 EXIF 元数据

mogrify -strip image.jpg

有很多其他的工具可以做同样的事情。

至于重新压缩 JPEG,不要这样做。JPEG 一开始就是有损耗的,所以任何形式的重新压缩都只会损害图像质量。但是,如果您有无损编码的图像,一些编码器比其他编码器做得更好。我注意到由于 复杂的原因的原因,使用 Photoshop 完成的 JPEG 比用 ImageMagick (尽管文件大小相同)编码的 JPEG 看起来一直更好。此外(这是相关的你) ,我知道至少 Photoshop 可以保存 JPEG 为 optimized,这意味着他们降低了一些东西的兼容性,你可能不关心节省几个 KB。另外,请确保您没有任何颜色配置文件嵌入,您可以节省另一对夫妇的知识库。

我使用 libjpeg 进行无损操作。它包含一个命令行工具 < strong > jpegtran ,可以完成所有需要的工作。使用命令行选项 -copy none剥离所有元数据,并且 -optimize对 Huffmann 压缩进行无损优化。您还可以使用 -progressive将图像转换为渐进模式,但这可能会导致兼容性问题(有人了解更多这方面的知识吗?)

I wrote a 我能找到的所有图像优化工具的 GUI, including MozJPEG and jpegoptim that optimize Huffman tables, progressive scans, and (optionally) remove invisible metadata.

ImageOptim smushing it

如果你没有 Mac,我也有一个基本的 网页界面,可以在任何平台上工作。

如果有人在看,我已经写了一个离线版本的雅虎的 Smus.it。它将无损地优化 png、 jpgs 和 gifs (动画和静态) :

Http://github.com/thebeansgroup/smush.py

您可以使用 jpegoptim,它将在默认情况下无损优化 jpeg 文件。--strip-all选项去除所有额外的嵌入信息。您也可以指定一个有损模式与 --max开关,这是有用的,当你有一个非常高质量的设置,这是不必要的网页内容保存图像。

您可以获得与 JPEGTRAN类似的优化(参见 OutOfMemory 的答案) ,但 jpegoptim 不能保存到渐进的 jpegs。

I would recommend using http://kraken.io It's ultra-fast webapp which will optimize your PNG and JPEG files far better than smush.it does.

一个叫做 JPEGmini的新服务产生了令人难以置信的结果

[只有窗户]

激进图像优化工具 这是我发现的最伟大的图像优化工具!

Http://luci.criosweb.ro/riot/

You can easily get a 10MB image down to 800KB through sub-sampling. 它支持 PNG、 GIF 和 JPEG。 它甚至集成到上下文菜单,所以你可以直接发送图片到那里。 允许您旋转、调整大小、压缩到指定的 KB 等。还有用于 GIMP 和 IrfanView 等的插件。

There is also a DLL available if you want to incorporate it into your own programs or java script / c++ program.

Another alternative is http://pnggauntlet.com/ PNGGAUNTLET takes forever but it does a pretty good job.

[只有窗户]

Tried a number of the suggestions above - I personally was after lossless compression.

我的示例图像的原始大小为67,737字节。

用 Kraken.io 的话,下降到了64718 Using jpegtran, it went down to 64,718 使用雅虎 Smush-it,它下降到61,746 使用 image magick (- Strip) ,它下降到65,312

The smush.py option looks promising, but the installation was too complex for me to do quickly

Jpegrecan 看起来也很有前途,但似乎是 Unix 的,我使用的是 windows

Jpegmini 不是无损的,但我不能说出区别(下降到22,172)

在我的 Windows7上,plinth 的 Altrasoft jpegstripper 应用程序无法工作

Jpegoptim 不是 windows-对我没有好处

Riot (保持100% 的质量)把它的色度抽样降到了63416,并且设置了很高的值,它降到了61912——我不知道这是否是无损耗的,但是我认为它看起来比原来的更轻。

因此,如果雅虎必须是无损失的,那么我的裁决就是雅虎屎

ImageOptim 真的很聪明。作者发布的命令行选项将填充 GUI 并显示进度。我使用 jpegtran 进行优化和转换为渐进式,然后使用 ImageOptim 进行进一步的渐进式优化和其他文件类型。

重用脚本代码也发现在这个论坛(所有文件替换到位) :

JPEGTRAN

for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.jpeg" -or -name "*.JPG" \)); do
echo found $file for optimizing...
jpegtran -copy comments -optimize -progressive -outfile $file $file
done

ImageOptim

for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.png" -or -name "*.gif" \)); do
do
echo found $file for optimizing...
open -a ImageOptim.app $file
done

我推荐使用 JpegOptim,它是免费的,而且非常好用,你可以指定质量,你想要的尺寸... 并且在命令行中使用方便。

JpegOptim

我编写了一个命令行工具“ picopt”(类似于 ImageOptim) ,它使用外部程序优化 JPEG、 PNG、 GIFS、动画 gIFS 甚至漫画电子档案内容(CBR/CBZ)。

这适合在 OS X 或 Linux 系统上使用自制程序,在这些系统中您已经安装了 jpegrecan、 jpegtran、 opting、 gifsicle 等工具。

Https://github.com/ajslater/picopt

为了接近透明度,我建议这样做:

convert 'yourfile.png' ppm:- | jpeg-recompress -t 97 -q veryhigh -a -m smallfry -s -r -S disable - yourfile.jpg

它使用来自 Jpeg-archive意象魔术convertjpeg-recompress

它们都是开源的,可以在 Windows、 Mac 和 Linux 上运行。您可能需要根据不同的质量期望调整上面的选项。