前言
业务量的不断扩大,导致对象存储的存储空间以及流量迅速增大,尤其是图片业务,web中最关键的部分,由于html的同步加载特性,通常是一张加载完才能加载下一张,在本地降低分辨率会丢失图片大部分细节,那么除了让本地图片一张张压缩之外,还有什么办法大幅度减小图片体积呢?
腾讯云对象存储与数据万象提供了极致性价比的压缩:对象存储 图片压缩 - API 文档 - 文档中心 - 腾讯云 (tencent.com)
计费方面
输出格式 | 价格 |
---|---|
TPG | 0.1元/千次 |
HEIF | 0.1元/千次 |
AVIF | 0.3元/千次 |
DEMO
https://www.arsrna.cn/test/img.html
可以看到,HEIF对比原图,下降了80%左右的大小,而画质基本不变,并且在速度上,HEIF加载也是最快的,因为只有7.8kb
可以看到,压缩前后图片画质基本没有区别,色彩空间有所压缩,但是图片大幅下降了大小
兼容性
因为AVIF是一种较新的类似AV1格式,只有在较新的浏览器才可以浏览,所以在这里建议使用HEIF,各个图片的兼容性如下(亲测):
格式 | Android 12 | iOS15.4 | Windows11 | 压缩 |
---|---|---|---|---|
PNG | √ | √ | √ | 无 |
JPG | √ | √ | √ | 无 |
AVIF | × | × | 需要扩展 | ↓50 % |
HEIF | √ | √ | 需要扩展 | ↓30 % |
TPG | 仅qq浏览器 | 仅qq浏览器 | 仅qq浏览器 | ↓50 % |
WebP | √ | √ | √ | ↓20 % |
相关基础配置
对象存储设置开通
首先前往数据万象CI产品控制台开通 概览 - 数据万象 - 控制台 (tencent.com)
在对象存储开通高级压缩
存量数据处理
控制台处理
在对象存储数据工作流-公共配置中,设创建模板
设置名称,参数
不缩略,输出格式AVIF或者HEIF
保存以后在 任务 处创建图片压缩任务
设置所有参数,输出文件名按需设置
完成之后确定即可开始进程
此方式优点:设置简单
缺点:批量数据很难实现处理,比较繁琐
建议开启上传的时候开启数据流处理
工作流处理
设置工作流
在对象存储工作流控制台 :数据工作流 - 对象存储 - 控制台 (tencent.com)
创建工作流,名称自定义,选择对应处理的存储桶,建议开启格式匹配-图片文件
配置工作流。输入后执行图片处理
选择刚刚设置的存储桶
然后保存
执行工作流
在工作流控制台 数据工作流 - 对象存储 - 控制台 (tencent.com)
在刚刚创建的工作流操作里,点击执行工作流
扫描任务名称自定义,扫描模式多个文件执行工作流
剩下的根据需要设置
完成之后执行工作流即可
该方式优点:一次设置,次次方便,批量的时候非常方便
缺点:第一次设置较复杂,容易导致参数过多忘记
上传数据处理
数据工作流(推荐)
在数据工作流里面打开上传触发执行即可
每次上传到任务流设置的指定路径就会执行
API
由于需要存储到存储桶里,API只能做到实时处理无法直接保存到文件,所以需要通过持续化将图片,在上传的时候要加入参数,让图片自动保存数据万象 图片持久化处理 - API 文档 - 文档中心 - 腾讯云 (tencent.com)
其中
代码语言:javascript复制rules
这个参数需要自己定义,可以在工作流详情图像处理看得到
代码语言:javascript复制imageMogr2/format/avif/interlace/1
总结
直观大小对比
这里以三张图片为例
原图/MB | HEIF/MB | AVIF/MB |
---|---|---|
7.91 | 3.2 | 1.8 |
18 | 13 | 3.2 |
30 | 14 | 6.9 |
很明显地看到,相比原图JPG或PNG格式,HEIF与AVIF大幅度压缩了不少,如果一个文件夹有100000张10M的图片,AVIF就剩下了300 G,换算到腾讯云的标准存储容量包价格,每个月存储省下了24块,流量省下了102块(中国大陆)
画质对比
这么大的压缩率,如果是传统的压缩方式,估计已经破败不堪了,但是这两种压缩方式能够尽量保留原色彩和画质,尽量无损
测试图片:
https://res.arsrna.cn/SwordArtOnline/SwordArtOnline_632059_ArSrNaRS4x.avif
优缺点对比
高级压缩 | 传统压缩 | |
---|---|---|
速度 | 云端处理,速度快 | 本地处理,根据处理设备决定 |
画质 | 近乎无损 | 有损压缩 |
压缩率 | 极高 | 一般 |
成本 | 低 | 根据处理设备决定 |
兼容性 | 中等 | 极强 |
由于AVIF,HEIF还是比较小众的图片格式,鉴于原生iOS就是HEIF的优势,在iOS平台上强烈建议使用HEIF方式,Windows平台建议Webp和AVIF。
希望不久的将来,图片空间与图片压缩算法的发展,我们的数据将会在质的提升时,控制量的剧变
相关问题
图像过大处理失败
体积限制:处理图片原图大小不超过32MB、宽高不超过30000像素且总像素不超过2.5亿像素,处理结果图宽高设置不超过9999像素;针对动图,原图宽 x 高 x 帧数不超过2.5亿像素。
如果超出限制则会导致失败,建议使用Photoshop或者其他软件将图片缩小到范围之内再进行处理
无法开始处理
请确认是否开通图像高级压缩和数据万象,同时确认是否后付费留有足够的余额
处理时间过长
一般一张图片10分钟左右肯定能完成,如果太长,请关闭任务重新开始,如果还是不行,请核实图片内容是否过于复杂,建议优化图片内容
如果还是不行,建议提交工单确认账号或系统问题
到此,教程就结束了,更多可能,需要我们一起发现
Powered by Ar-Sr-Na www.arsrna.cn