WebP を試す
iOS14 でWebP に対応との情報を見かけたのでこれを機にとりあえずエンコードして試してみることにした。
エンコード環境の作成
docker コンテナ内にImageMagick をインストールして、使うことにする。
Dockerfile を作成する。 簡易的なテストのためのものなので、とりあえずapt でインストールしてみた。
FROM ubuntu:20.04 RUN apt-get -y update && \ apt-get -y install imagemagick && \ apt-get clean && \ rm -rf /var/lib/apt/lists/*
続いてdocker image をビルドして、convert コマンドを実行してみる。
# docker image をビルド $ docker build -t imagemagick . # 動作確認 $ docker run -it imagemagick convert --version Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org Copyright: © 1999-2019 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Cipher DPC Modules OpenMP Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib
ここまでで準備は完了。
エンコード
エンコード対象の画像を /path/to/images/1.jpg
とする。
特にパラメータを指定せずエンコードしてみる。
$ docker run -v /path/to/images:/images --rm -it imagemagick convert /images/1.jpg /images/1.webp
これでエンコードできた。 画像を並べて比較してみたところ、色味や粗さなど自分の肉眼では判別できないほど違いが分からなかった。
エンコード結果の確認
ファイルサイズはかなり違いがある。 とはいえ、これはパラメータ次第だと思われるので、大した参考にはならなさそう。
$ docker run -v /path/to/images:/images --rm -it imagemagick ls -l /images total 6184 -rwx------ 1 root root 4101341 Oct 22 2019 1.jpg -rw-r--r-- 1 root root 1908796 Sep 24 14:43 1.webp
ImageMagick に同梱されているidentify コマンドで画像の詳細をチェックできる。
$ docker run -v /path/to/images:/images --rm -it imagemagick identify -verbose /images/1.jpg $ docker run -v /path/to/images:/images --rm -it imagemagick identify -verbose /images/1.webp
パラメータに関してはImageMagick と WebP がよくまとまっていた。 こちらの記事で概要を掴んで、Google の仕様書を読み込んでいくと詳細まで把握することができそう。