分享个批量压缩照片(以保存)shell。那么,有无能像 squoosh 那样可以即时对比压缩前后效果(批量)的软件?

2022-02-19 14:08:45 +08:00
 garywill

具体提问前,首先分享个我自己的用来批量压缩的 shell

它能将文件夹(递归)下的 jpg 文件找出来并批量压缩,输出到另一个位置,并保持原本的子目录结构

https://gist.github.com/garywill/f9e0bd988d80f5cc915e822233f0b352

上面的核心就是用 imagemagick 来convert -quality 40。 (我不是照片发烧友,只是存储生活照片,不考虑以后印海报什么的。

自己发现,imagemagick 的 quality 设在 40 ,便满足(对我这样的来说):

  1. 大大地减少了体积
  2. 眼睛感觉不到损失

批量压缩达到了。只是不方便压缩完成后对比照片效果。

而,Google 开源了一个 web 工具( squoosh.app ),能够压缩照片并:

  1. 以鼠标左右拉动直接对比前后
  2. 随时任意放大缩小、平移,查看每一处前后效果

Google 这个工具就只是不能批量

2597 次点击
所在节点    奇思妙想
23 条回复
gstqc
2022-02-19 14:17:13 +08:00
用 40 的质量不如转换成 heic
Kaciras
2022-02-19 14:17:32 +08:00
对比的话不妨试试俺的工具 https://ic-analyzer.kaciras.com/

不过同样不能批量,主要是批量的话性能太差
wudicgi
2022-02-19 14:30:01 +08:00
更建议买硬盘,照片和视频比起来几乎不占什么存储空间
MacDows
2022-02-19 14:41:00 +08:00
那个工具可以批量的
1OF7G
2022-02-19 15:37:50 +08:00
squoosh.app 这个,页面 edit 菜单旁边有个 命令行 icon ,可以把当前 GUI 参数拷贝为命令行的。

命令行程序是:npx @squoosh/cli
also24
2022-02-19 15:46:42 +08:00
如果指的是 "批量压缩" 后 "单独对比",那 ppduck 是可以的

https://ppduck.com/
duke807
2022-02-19 15:53:50 +08:00
@gstqc 看了一下,是蘋果用來圍困用戶的東西,沒興趣
gstqc
2022-02-19 16:30:03 +08:00
whileFalse
2022-02-19 16:37:23 +08:00
@gstqc @duke807 要不用 WebP 或者 AVIF 吧。前者在现代浏览器上的支持度不错,后者压缩效率更好但明显慢很多
Kagari
2022-02-19 16:52:49 +08:00
可以用 jpeg xl,-d 0.5 ,自动用 butteraugli 测量,省了自己对比

-d maxError, --distance=maxError
Max. butteraugli distance, lower = higher quality. Range: 0 .. 25.
0.0 = mathematically lossless. Default for already-lossy input (JPEG/GIF).
1.0 = visually lossless. Default for other input.
Recommended range: 0.5 .. 3.0.
但是现在 JXL 现在才到 v0.6 ,与此同时 AVIF 已经 v0.9 了
whileFalse
2022-02-19 17:39:56 +08:00
@Kagari jxl 和 avif 的压缩率比起来如何?
Kagari
2022-02-19 17:53:07 +08:00
@whileFalse #11 高 bpp jxl ,低 bpp avif
duke807
2022-02-19 18:06:57 +08:00
@gstqc 我首先就看了 wiki ,然後看了這個知乎:
https://www.zhihu.com/question/266966789
有個有個匿名言論我比較認同:
"为了耍流氓,逼你买苹果设备,让你入了坑就出不来。"

未來的視頻和圖片編碼是 av1 ,無版權費用,軟硬件大廠們達成共識的選擇。

你現在推薦大家用一個有版權費複雜,且不被主流支持的圖片格式,難道不是有問題嗎?
gstqc
2022-02-19 18:18:44 +08:00
@duke807 有版权费的东西多去了,你手机里的 hevc 就有版权费
我很讨厌苹果,但没想到这锅也能扣苹果头上

你爱用啥用啥,关我屁事
garywill
2022-02-19 18:30:23 +08:00
补充一下,想要的 [批量] ,是 [批量压缩] ,并且然后能 [批量视觉直接对比] ,快速换图不用一张张 load 。

@Kagari 大佬专业。 关于 butteraugli 我搜了一下是个 cli 工具,应该有用( butteraugli 算比较环节中的一个工具,还不是一个 [GUI 的批量比较工具] )
但 butteraugli 只能自己编译吗?

另外,我把批量压缩视频的 shell 也放到 gist 那里了。就是
ffmpeg -c:v libx265 -c:a aac -preset veryslow
大佬们也顺便评论下吧。批量压缩视频有了,批量比较视频前后有无?
Kagari
2022-02-19 18:38:08 +08:00
heic 在苹果平台以外的兼容性很差
但是按照发展,avif 也可以塞到 heic 里面
谁也说不好取代 jpeg 的是哪个格式

@garywill
视频直接走 ffmpeg 的 psnr 和 ssim ,这个应该是优选了
肉眼对比损失是最好的。jxl 格式在-d 时,会自动根据 butteraugli 控制质量
https://github.com/libjxl/libjxl/releases
jim9606
2022-02-19 19:08:50 +08:00
@duke807
话不能这么说,HEIC 图片的通用性还是比 HEVC 视频强一些的,Win 和 Android 基本都支持。至少 Win10 的 HEIC 解码器不需要花钱买。
AVIF 目前的情况是 apple 和 edge 不支持(后者以后应该会支持),而且软解巨慢无比,硬解没铺开前我对这个并不乐观。
yukiww233
2022-02-19 19:10:22 +08:00
old9
2022-02-19 21:16:34 +08:00
不理解,想不出来“批量视觉直接对比”的 UI 交互应该是什么样的
3dwelcome
2022-02-19 21:58:15 +08:00
@Kaciras 可以把 wasm 换成 webgpu GLSL 显卡直压图片,批处理性能就没问题了。

显卡就是专门干图片方面的,哪怕压个 BC5 ,也比 CPU 快太多。

而 wasm 就纯粹是 CPU 计算压缩。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/835023

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX