本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme
上一篇文章《CentOS系统下多种图片压缩方案》 分享了三种不同的压缩方案,在这篇文章再额外补充一个来自Mozilla的开源项目mozjpeg,可以有效的对JPEG
图片进行压缩。
安装Mozilla JPEG
源码下载地址:https://github.com/mozilla/mozjpeg/releases
#安装nasm环境
yum -y install build-essential nasm
#下载源码
wget https://github.com/mozilla/mozjpeg/archive/v3.3.1.tar.gz
#解压
tar -zxvf v3.3.1.tar.gz
#进入目录
cd mozjpeg-3.3.1
autoreconf -fiv
#编译安装
./configure
make && make install
安装成功后,二进制文件位于/opt/mozjpeg/bin
目录,可以直接复制到/usr/bin
目录来直接使用,压缩图片主要是用到cjpeg
,输入下面的命令复制。
[root@aliyun-sgp ~]# ll /opt/mozjpeg/bin
total 256
-rwxr-xr-x 1 root root 56816 Nov 16 13:42 cjpeg
-rwxr-xr-x 1 root root 45864 Nov 16 13:42 djpeg
-rwxr-xr-x 1 root root 53504 Nov 16 13:42 jpegtran
-rwxr-xr-x 1 root root 13624 Nov 16 13:42 rdjpgcom
-rwxr-xr-x 1 root root 64592 Nov 16 13:42 tjbench
-rwxr-xr-x 1 root root 13624 Nov 16 13:42 wrjpgcom
[root@aliyun-sgp ~]# cp /opt/mozjpeg/bin/cjpeg /usr/bin/
压缩图片
Mozilla JPEG仅支持压缩JPEG
图片,压缩命令如下:
cjpeg -quality 80 xxx.jpg > xxx_1.jpg
#或者
cjpeg -outfile xxx_1.jpg -quality 80 xxx.jpg
上面命令的意思是对xxx.jpg
进行压缩,将压缩后的文件另存为xxx_1.jpg
,压缩质量为80
-quality
:指定压缩质量(0-100),如果不指定默认是75,数值越大,效率越快,但是压缩质量越差,建议保持默认值。-outfile
:将压缩后的图片另存为,或者使用导向流符号>
也可以
其它说明
- mozjpeg项目地址:https://github.com/mozilla/mozjpeg
- 此文部分内容参考了:初识 图片压缩 MozJPEG 之 CentOS 7 编译安装
mozjpeg怎么覆盖原图压缩,我用命令输出原文件路径图片变成0字节了。
我也没找到原图覆盖办法,铜球。实在不行就只有自己写shell脚本,将图片输出到临时目录,然后临时文件再覆盖原图。