使用cwebp工具将图片压缩转换为webp格式
WEBP格式是什么
webp是谷歌2010年发布的图片格式(想不到吧,其实已经很早了),根据谷歌的介绍:
WebP 是一种现代图像格式,可为 Web 上的图像提供卓越的无损和有损压缩。使用 WebP,网站管理员和 Web 开发人员可以创建更小、更丰富的图像,从而使 Web 更快。
与 PNG 相比,WebP 无损图像的大小要小 26% 。在同等 SSIM质量指数下, WebP 有损图像比可比较的 JPEG 图像小 25-34% 。
无损 WebP支持透明度(也称为 alpha 通道),成本仅为22% 额外字节。对于可以接受有损 RGB 压缩的情况,有损 WebP 还支持透明度,通常提供比 PNG 小 3 倍的文件大小。
webp与传统的jpg、png格式相比起来,优势在于集众图片之长,而且相同的现实质量下,比png和jpg都要小,对于网站来说,用更小的流量实现相同的质量可以说是一直在追求的目标,本网站大部分图片都是webp格式,由于webp很多浏览器以及手机端都支持,所以兼容性也是比较好的。
CWEBP是什么以及安装使用
cwebp是google开发的一套处理webp工具的软件,官网在这里:https://developers.google.com/speed/webp/docs/using
软件套的名称叫做libwebp,其中包含了cwebp以及其他众多的图片处理工具。
与libavif不同的是,谷歌提供了linux平台和windows的二进制文件,也就是直接下载安装使用就可以,不需要编译安装。
下载的页面是:https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html
不论是linux还是windows,只需要下载下来,移动到适当的位置,然后再加入系统路径就可以。
以linux为例,解压后我将文件夹命名为libwebp,然后移动到了/usr/local/下面,然后将路径添加到系统path后就可以直接调用了,具体做法是编辑文件/etc/profile
,在最后面加入:
1 | export PATH=/usr/local/libwebp/bin:$PATH |
然后重载生效:
1 | source /etc/profile |
这样即使重启了或者打开新的标签页都是可以直接使用的。
ubuntu也可以直接安装:
1 | apt install webp |
CWEBP用法
cwebp使用也很简单:
1 | cwebp [options] input_file -o output_file.webp |
有这样一些重要参数:
- -lossless,无损压缩模式
- -q float,质量大小,从0到100,越大质量越好,文件也越大
- -mt,使用多线程
- -low_memory,减少编码过程中的内存使用
- -sharpness int,锐化选项,0~7范围内,我通常使用2
- -noalpha,去除透明通道
我通常使用的时候,如果创建缩略图,就会使用:
1 | cwebp -q 60 -mt -sharpness 2 input_file -o output_file.webp |
如果是要较好压缩,尽量保证质量,就会使用:
1 | cwebp -q 100 -mt -sharpness 2 input_file -o output_file.webp |
使用后发现,根据图片,压缩情况不大一致,有时候也会出现压缩之后文件反而变大了,但大多数情况下,png图片压缩3040%是可以的,jpg图片1030%左右。
使用cwebp工具将图片压缩转换为webp格式