WebpとAVIFをWindowsでローカルに使ってみる

WebpとAVIFをWindowsでローカルに使ってみる

ブラウザツールはいろいろあるのだが、ローカルでやるのがやはり便利なのでその方法を模索する。

sharpで画像を一括圧縮、WebP・AVIF変換する - Web production note
画像変換ライブラリsharpを用いて、画像をまとめて圧縮や変換(Webp・AVIF・JPG・PNG)できる方法をまとめました。

非公式なコマンドラインツールなどもあるが、開発が最新のバージョンに追随していなかったりするので、おとなしく公式実装を使うのがよさそう。

PNGやJPEG画像をAVIFフォーマットへ変換してくれるコマンドラインツール「cavif」がリリース。
PNGやJPEG画像をAVIFフォーマットへ変換してくれるコマンドラインツール「cavif」がリリースされています。詳細は以下から。

Webp

WebpはGoogleが作ったナウい画像形式。古臭いJPEGに比べて画質を保ったまま小さくできるのがウリ。

WebpのダウンロードはGoogle公式ページの「Windows版をダウンロード」から。

WebP のダウンロードとインストール | Google for Developers

libwebp-1.6.0-windows-x64 のようなフォルダーがダウンロードされるハズ。その中にある bin フォルダー以下に cweb.exe などの各種ツールが入っているので、 適当に C:\\program files\\libwebp-1.6.0-windows-x64\\bin\\ のように配置して、環境変数にパスを登録しておく。

使い方

公式サイトに詳しく説明がある。

cwebp | WebP | Google for Developers

WebpにはLossyとLosslessの圧縮モードがある。

非可逆圧縮

Lossyならこれ。

cwebp input_file -o output_file.webp

基本的にはこれでOK。引数などのパラメータはデフォルトが結構考えられてセットされているので、下手にいじらないほうがいいのかもなあという結論。

可逆圧縮

PNGやTiffのような可逆圧縮の代替として使いたいならLossless圧縮。

cwebp -lossless input_file -o output_file.webp

圧縮モードの指定を -z int 引数で行える。1から9まで指定ができる。デフォルトは6だが私は基本的に9を指定してる。オプション -q または -m が後で使用されると、このオプションの効果が無効になります。

AVIF

AVIFのお勉強サイトをGoogleが公開しているので、参考にする。

AVIF 画像の配信 | Google Codelabs

avifencを導入する

Releases · AOMediaCodec/libavif
libavif - Library for encoding and decoding .avif files - AOMediaCodec/libavif

ここから最新のリリースビルドをダウンロードする。

windows-artifacts.zip をダウンロードすればよい。

適当に C:\\Program Files\\windows-artifacts のように配置して、環境変数にパスを登録しておく。

使い方

たぶん、avifはLossyしかないハズ。

avifenc happy_dog.jpg example.avif

基本的にこのコマンドでOK。

カレントディレクトリ以下の全JPEG/PNG画像ファイルをWebpあるいはAVIFに変換する

Powershellワンライナーに。

画像ファイルを新しい形式に変換して、置換する。

💡
元ファイルは削除されるので、注意。

注意点

  • デフォルト品質を使用(avifencとcwebpのデフォルト設定)
  • 必ずバックアップを取ってからテスト実行してください
  • まずはWhatIfや小さなフォルダーでテストすることをお勧めします

AVIF Lossy

Get-ChildItem -Recurse -Include *.jpg,*.jpeg,*.png | ForEach-Object { $out = $_.FullName -replace '\\.(jpg|jpeg|png)$','.avif'; avifenc $_.FullName $out; if($LASTEXITCODE -eq 0) { Remove-Item $_.FullName } }

WebP Lossy (デフォルト品質)

Get-ChildItem -Recurse -Include *.jpg,*.jpeg,*.png | ForEach-Object { $out = $_.FullName -replace '\\.(jpg|jpeg|png)$','.webp'; cwebp $_.FullName -o $out; if($LASTEXITCODE -eq 0) { Remove-Item $_.FullName } }

WebP Lossless

Get-ChildItem -Recurse -Include *.jpg,*.jpeg,*.png | ForEach-Object { $out = $_.FullName -replace '\\.(jpg|jpeg|png)$','.webp'; cwebp -lossless $_.FullName -o $out; if($LASTEXITCODE -eq 0) { Remove-Item $_.FullName } }

動作説明

  • Get-ChildItem -Recurse -Include *.jpg,*.jpeg,*.png: カレントフォルダー以下の全画像を再帰的に取得
  • 拡張子を.avifまたは.webpに置換
  • 変換コマンド実行
  • $LASTEXITCODE -eq 0で成功確認後、元ファイルを削除

Read more

ストロボの出力表記

ストロボの出力表記には、主に分数表記と数値表記の2種類がある。それぞれの仕組みと、実際の撮影での使い勝手の違いを整理する。 分数表記 出力をフルパワーに対する比率で表す方式。1/1がフルパワーで、以降1/2、1/4、1/8と続く。 1/1 → 1/2 → 1/4 → 1/8 → 1/16 → 1/32 → 1/64 → 1/128 隣り合うステップ間が1段(1 stop)に対応し、光量がちょうど半分になる。中間値は機種によって1/3段刻みや1/10段刻みで調整できる(例: 1/16+0.3、1/16+0.7)。 分数がそのまま最大出力に対する割合を示すため、「今フルパワーの何分の1で発光しているか」が一目でわかる。

By Sakashita Yasunobu

ナウいパスワード要件

2025年8月、米国国立標準技術研究所(NIST)は認証ガイドライン SP 800-63B Revision 4 を正式公開した。このガイドラインは米国連邦政府機関向けの技術要件だが、世界中のWebサービスやセキュリティ基準に広く影響を与えている。日本でも総務省やIPAがこのガイドラインを参照しており、一般ユーザーにとっても「正しいパスワードの作り方」を知る上で最も信頼性の高い情報源といえる。 本記事では、NIST SP 800-63B-4の原文に基づき、パスワードに関する要件を整理する。各セクション末尾の緑・黄色のボックスは、そこから導かれる一般ユーザー向けの実践ポイントである。 出典 本記事の内容は、以下の公式資料に基づく。 * NIST SP 800-63B-4(2025年8月1日発効、本記事参照版: 2025年8月26日更新): Digital Identity Guidelines: Authentication and Lifecycle Management * 総務省「国民のためのサイバーセキュリティサイト」: 安全なパスワードの設定・管理 * IPA

By Sakashita Yasunobu

おそらく人生でもっとも暇な時を過ごす君たちへ

大学受験を終えた高校生。就活を早々と終えた大学生。 何年ものあいだ、勉強や準備に打ち込んできたのだろう。結果がどうであったにせよ、まずはお疲れ様だ。 これから過ごす時間は、おそらく君たちにとって素晴らしい、かけがえのない時間になる。もちろん、そうなるように日々を過ごしていくのは君たち自身だけれど、それでも「やっぱり違った」というなら、そのときは一言文句を言ってくれて構わない。 まだ後期の試験を控えている人、来年に向けてもう一年頑張らなければいけない人もいるだろう。心から応援している。 たぶん人生の前半で、今がもっとも暇で、もっとも目的がなく、もっとも圧力がない。あらゆる意味でもっとも解放された自由な時間だ。人生全体を見渡しても、こうした時間はそう何度も訪れるものではない。 で、大事なのは、この時間をどう使うかだ。 おすすめは美術館に行くことである 唐突だと思う。 普段から美術館に足を運ぶ趣味をお持ちの方には、釈迦に説法だろう。そういう方にはぜひ、お気に入りの過ごし方を教えていただけると嬉しい。 さて、美術と聞くと、なんだか遠い世界のように感じないだろうか。 現代ア

By Sakashita Yasunobu

NLLB-200をLoRAで日英翻訳に特化させた話

はじめに 言語処理100本ノック 2025 (Rev 1)は、東北大学の乾・鈴木研究室が公開している自然言語処理(NLP)の演習問題集である。UNIXコマンドによるテキスト処理、正規表現、形態素解析、単語ベクトル、ニューラル機械翻訳など、全100問を通じてNLPの基礎から応用までを体系的に学ぶことができる。 言語処理100本ノック言語処理100本ノックは、実用的でワクワクするような課題に取り組みながら、自然言語処理、大規模言語モデル、プログラミング、研究のスキルを楽しく習得することを目指した問題集です。言語処理100本ノック 2025 本記事では、第10章の課題であるニューラル機械翻訳モデルの構築について、実装の詳細と得られた知見を記録する。 💡事前学習済み翻訳モデル NLLB-200 に LoRA(Low-Rank Adaptation)を適用し、KFTTデータでファインチューニング。Google Colab(A100 GPU)で約3.5時間の学習により、テストデータで BLEU 22.09 を達成した。 課題「自分だけの翻訳エンジンを作る」 KFTTデータセット

By Sakashita Yasunobu