继上一文介绍了我“利用 Mac 快速操作实现图片批量转换为 WebP 格式”捣腾成功后,希望通过同样的方法实现利用 Mac 快速操作实现图片批量转换为 AVIF 格式,捣腾结果分享如下。
为什么使用 AVIF 格式?
AVIF 是一种基于AV1 视频格式的现代图片格式,实现卓越的压缩效率,同时保持高图像质量。AVIF 通常比WebP、JPEG、PNG 和 GIF 具有更好的压缩效果,并且旨在取代它们。AVIF 对宽色域、高动态范围 (HDR) 和渐进式渲染的支持增强了视觉体验,预示着图像细节精美且高效交付的未来。号称 Web 开发人员和摄影师的首选。据统计,AVIF 全球使用情况为 92.95%,除 IE 浏览器、Opera Mini、QQ 浏览器、KaiOS 浏览器外都已支持,WordPress 6.5+ 已支持 AVIF 格式。
通过 AVIF 格式其开发组织“开放媒体联盟”(AOMedia),顺藤摸瓜在其 Github 账号上找到了 libavif 这个用于编码和解码 AVIF 格式的库和使用文档。
我的操作步骤如下:
一、安装 Homebrew
这部分就不重复介绍了,见“利用 Mac 快速操作实现图片批量转换为 WebP 格式”一文。
二、使用 Homebrew 命令安装 libavif 包
在终端中运行一下命令:
brew install libavif
回车直至安装完成。注意是否有出错或文件无授权的提示,按需对文件夹进行可操作授权。注意 libavif 包的安装路径,后面需要用到。
三、添加 Mac 快速操作 Workflow
2、在工作流的顶部,它显示“工作流程收到当前”,选择“图像文件”,然后在“位于”下选择“访达.app”;
3、接下来,在“自动操作”的左侧面板,在“资源库”下选择“实用工具”,然后将“运行 Shell 脚本”,拖放到右侧工作流程面板中;
4、对于“运行 Shell 脚本”,“Shell”选择“/bin/zsh”,“传递输入”选择“作为自变量”。
把以下代码片段粘贴到下面文本框中:
for f in "$@" do fname="${f%.*}.avif" /usr/local/Cellar/libavif/1.1.1/bin/avifenc -s 10 -q 85 "$f" "${f%.*}.avif" done
然后在“文件”菜单选择“储存”,保存文件名为“转换为 AVIF”,保存到默认地址即可。
注意:
1)libavif 的路径是为通过 Homebrew 安装的 libavif 设置的,如果您手动安装了 libavif,那么它可能在 /usr/bin 中,您需要相应地调整路径(我的最终路径是 /usr/local/Cellar/libavif/1.1.1/bin/avifenc );
2)-q 质量标志当前设置为 85,默认为 60,但您可以将其设置为 1-100 之间的任何值(越高将产生更高质量的图像,但压缩较少);-s 代表速度,默认为6;默认不删除照片 exif 信息,需删除则加上 --ignore-exif 参数。
5、选择你需要转换格式的图片,可多选,右键菜单的“快速操作”中选择“转换为 AVIF”选项,图片将在当前文件夹中自动生成 AVIF 格式文件。
至此,教程结束。
下图为 WebP 和 AVIF 格式压缩率都设置为 85 所得到的压缩结果,结果是 WebP 的文件更小一些,有点困惑。不知道是不是我设置的压缩率太高了,libavif 官方默认值是 60。本文方法大致如上,至于多少压缩率更好,大家自己摸索吧。
另外,我通过 AVIFQuickLook 插件,已经实现了在老苹果中直接预览 AVIF 格式。使用 Brew 进行安装,命令如下:
brew install avifquicklook
如有误,或有更好的方案,欢迎指正和交流。
本文有 2 条评论
utool附带的图片处理插件有这些功能,而且非常方便。
看过 utools,就是大拼凑,还收费,劝退了,哈哈