在互联网时代,网页加载速度直接影响着用户体验,而图片往往是导致网页加载缓慢的主要原因之一。对于站长和网站运营者来说,流量和带宽就是「小钱钱」💰🫰,当然是能节约一个算一个。
为此,Google 推出了 Jpegli,一个革新性的 JPEG 编码库。它不仅完全兼容现有 JPEG 标准,还能在保证图像质量的同时,将图片大小减少约 35%。简单来说,就是图片无损压缩。
Jpegli 的核心优势
- 完全兼容:与传统 JPEG 标准完全兼容,支持主流的 8 位格式,并且可以无缝对接 libjpeg-turbo 和 MozJPEG 的 API/ABI。
- 更高画质:采用先进的心理视觉计算模型,生成的图像更清晰,噪点和失真更少。
- 高效编码:虽然压缩率更高,但编码速度与 libjpeg-turbo 和 MozJPEG 等主流方案相当。开发者可以轻松将其整合到现有工作流程中,而无需担心性能问题。
- 支持高位深:突破传统 JPEG 8 位的限制,支持 10+ 位编码。这意味着,可以避免渐变区域出现明显的色带。虽然使用了更高位深,但输出的图像仍然兼容所有 8 位图像查看器。
- 更强压缩:相比传统 JPEG 编码器,在相同画质下可以实现更小的文件体积,这不仅节省了存储空间和带宽,还能显著提升网页加载速度。
Jpegli 是对 JPEG 编码技术的优化升级,而不是新的文件格式。它生成的图片可以在任何支持 JPEG 的设备或软件上正常查看。
在高质量压缩设置下,Jpegli 可以比传统 JPEG 编码器节省高达 35% 的文件体积。
在 Linux 中编译和使用 Jpegli
好处说了一大堆,下面我们就用一些从 Bing 网站 Kiang 来的图片作为示例,为大家介绍如何在 Ubuntu 上编译和使用 Jpegli 来压缩图片。
1安装编译工具链:
sudo apt install build-essential g++ cmake ninja-build \
clang clang-format clang-tidy curl parallel gcovr \
pkg-config git doxygen asciidoc graphviz qt6-base-dev libgimp2.0-dev \
libjpeg-dev libpng-dev libwebp-dev libavif-dev libgif-dev \
libgoogle-perftools-dev libgtest-dev libbenchmark-dev libbenchmark-tools
2将 Google 的 Jpegli 项目克隆到本地:
git clone https://github.com/google/jpegli.git
cd jpegli
3使用deps.sh
脚本拉取相关依赖:
./deps.sh
4构建 Jpegli 软件并进行单元测试:
./ci.sh release
5编译完成后,会在build/tools
目录下生成cjpegli
和djpegli
二进制文件:
cd build/tools
ls -l cjpegli djpegli
其中cjpegli
用于压缩,djpegli
用于解码。
使用示例脚本
例如,要使用cjpegli
来压缩/demo/img/
目录中所有.jpg
和.jpeg
扩展名的图片,可以使用以下脚本:
#!/bin/bash
# name:convert_images_to_jpegli.sh
# 源目录和目标目录
src_dir="/demo/img/"
dest_dir="/demo/img_output/"
# 遍历所有的.jpg和.jpeg文件
find "$src_dir" -type f \( -name "*.jpg" -o -name "*.jpeg" \) | while read src_path; do
# 计算目标路径,保持原始扩展名
dest_path="${src_path/#$src_dir/$dest_dir}"
dest_path_dir=$(dirname "$dest_path")
# 如果目标目录不存在,则创建
if [ ! -d "$dest_path_dir" ]; then
mkdir -p "$dest_path_dir"
fi
# 使用cjpegli转换图片(路径用你实际的)
/usr/local/src/jpegli/build/tools/cjpegli "$src_path" "$dest_path"
done
对比了下处理之后的大小,效果还是满不错的。
通过以上步骤,你可以在 Linux 系统中轻松编译和使用 Jpegli 进行图片无损压缩,从而节省网站流量和带宽,提升用户体验。
最新评论
可以共存,但虚拟机维护起来更麻烦了呀。
关掉之后重启下系统再试试呢
不能共存吗?
我是家庭版,看着关掉了,但是破解程序一运行还是弹窗,搞不了