なんか忘れそうだったから書き残しておきます。
参考:
https://qiita.com/tomokei5634/items/64b0f0b2246987936c6f
jpgからwebpへの変換はcwebpを使います。まずcwebpをインストール。brewは事前にインストールしているものとする。
brew install webp
ターミナル上で作業フォルダまで移動して
cwebp -lossless -metadata icc -sharp_yuv 00X.jpg -o 00X.webp
大体これでOK。たまにwebpにすると元のjpgより画像データが大きくなることがあるのでそういう時は
cwebp -q 99 -metadata icc -sharp_yuv 00X.jpg -o 00X.webp
こう。大体品質99でめちゃくちゃ軽くなる。ターミナルを挟まなくても変換してくれるサイトとかあるんだけどカラープロファイルを保持してwebp化してくれるやつが見つからなかったのでこれでやってる。毎回無駄にP3で出力してるから…。
上のコマンドだと1個ずつしか変換できなくてファイル数が多いと時間がかかりすぎるのでシェルスクリプトを組む。ファイル名の変換が上手くいかなかったので上のサイトを参考に若干改造した。
作業フォルダ以下全部.sh
#!/bin/sh
Files=$(find . -type f -iname '*'.jpg)
for File in $Files
do
echo $File
cwebp -lossless -metadata icc -sharp_yuv -o ${File%.jpg}".webp" -progress -short $File
printf "\n----------------\n\n"
done
これは作業フォルダ以下のフォルダに入ってるjpgも全てwebpに変換してしまうので作業フォルダ内のjpgだけ変換したい場合は
作業フォルダ内のみ.sh
#!/bin/sh
Files=$(find . -maxdepth 1 -type f -iname '*'.jpg)
for File in $Files
do
echo $File
cwebp -lossless -metadata icc -sharp_yuv -o ${File%.jpg}".webp" -progress -short $File
printf "\n----------------\n\n"
done
という感じ。シェルスクリプトは作業したいディレクトリに飛んでから実行する。Windowsでシェルスクリプトが使えるかは知らない…。今なら使えるのかな。