使用Squoosh搭建本地批量导出webp图片

833 阅读1分钟

1.下载安装NodeJS,Squoosh对NodeJS的版本是有要求的,推荐使用Node-v16.20.0;,其他NodeJS版本会有问题;

2.使用NodeJS全局安装squoosh/cli, 终端执行:sudo npm i -g @squoosh/cli;

3.将下面的代码保存成shell文件;

4.在终端执行文件即可

根据需要去修改webp相关的参数设置,比如原图片的格式,脚本中给出了支持jpg、png、webp。修改导出webp的qulity等 qulity推荐使用75.

脚本中的input_folder:是原图片保存的路径

脚本中的output_folder:是webp原图片保存的路径


#!/bin/bash
input_folder="/Users/thx/Desktop/input"
output_folder="/Users/thx/Desktop/output"

mkdir -p "$output_folder"

for file in "$input_folder"/*.{jpg,png,webp}; do
  echo "Compressing $file..."
  base_filename=$(basename "$file")
  squoosh-cli --webp '{"quality":75,"target_size":0,"target_PSNR":0,"method":4,"sns_strength":50,"filter_strength":60,"filter_sharpness":0,"filter_type":1,"partitions":0,"segments":4,"pass":1,"show_compressed":0,"preprocessing":0,"autofilter":0,"partition_limit":0,"alpha_compression":1,"alpha_filtering":1,"alpha_quality":100,"lossless":0,"exact":0,"image_hint":0,"emulate_jpeg_size":0,"thread_level":0,"low_memory":0,"near_lossless":100,"tile_cols":0,"tile_rows":0,"af":0,"arnr_max_frames":0,"arnr_strength":3,"arnr_type":3,"sharp_yuv":0,"x":null,"y":null}' -d "$output_folder" "$file"
done