🚀

PNGからAVIFにコンバートする

2023/08/28に公開

これはAVIFについて調べたことのメモです.詳しいことはよくわかっていませんので,誤った内容がある可能性があります.また,2023年8月時点での内容です.

avifencの準備

https://codelabs.developers.google.com/codelabs/avif#2
こういうのを見つけてビルドしようとしてみましたが上手くいかず,調べているうちにそれっぽいのを見つけたのでそれを使うことにします.
https://github.com/AOMediaCodec/libavif#prebuilt-library-windows
ここにある,AppVeyorのを使うことにしました.
https://ci.appveyor.com/project/louquillio/libavif/build/artifacts
任意の場所に展開してパスを通しておきます.

使い方

以下のページを参考にしました.
https://web.dev/compress-images-avif/#understanding-the-avifenc-command-line-parameters
私の今回の目的では以下のような指定をしました.

avifenc .\input.png .\output.avif --min 0 --max 63 -a end-usage=q -a cq-level=30 -a tune=ssim --jobs 20

基本的には推奨に近い設定にしています.

項目 内容
.\input.png 入力ファイル
.\output.avif 出力ファイル
-a cq-level=30 品質 (0に近いほど高品質)
--jobs 20 処理するスレッドの数

ターミナルで実行して,正常に動作することを確認します.目的に合った品質やファイルサイズになるようにパラメータを調整します.

次回

これを使って,画像を変換するための手軽なアプリを作ろうと思います.

Discussion