GitHubに公開されている Google製の JPEG エンコーダー「Guetzli」のWindows版のバイナリを入手し、jpgファイルをドラッグ&ドロップできるバッチファイルを組んで遊んでみました。
Guetzli で jpg を 圧縮している時の画面
▲クリックで拡大
「同等の品質でファイルサイズが20~30%ほど小さくなる」という噂通り、Guetzliを使って圧縮したjpgはかなり縮みます。
GIGAZINEさんで紹介されていた 「GoogleがJPEGエンコーダー「Guetzli」をオープンソースで公開」を読み、とても興味が湧いたのでチャレンジです。
(こういう流れでフリーソフト紹介するのは久しぶりだなあ・・・・と思って過去記事を調べてみたら、じつに7年ぶりでしたw)
ダウンロード
- GitHub - google/guetzli
- Releases · google/guetzli · GitHub
Windows用のバイナリはここから。
(guetzli_windows_x86.exe )
Guetzliについて
- Google製のJPEGエンコーダー。オープンソース
- libjpegと比較したとき、同等の品質でファイルサイズが20~30%ほど小さくなる。
- 入力可能なファイルはJPEGとPNG、出力はJPEGのみ
- ただし圧縮速度はとても遅い。
1024x768サイズの jpg 1枚の圧縮に10~30秒かかる。
あと、とても不安定 (これはWindowsバイナリ版だけかな?)
guetzli の使い道
現行バージョンでは変換が遅すぎ、かつ不安定過ぎるので、まだ通常利用には向きません。
大量アクセスのある Web サイトのヘッダ画像やcss画像など、少しでもファイルを小さくしたいケースでのみ利用するのがベストかと思います。
(記事部分の画像まですべて圧縮しようと思うと、とても骨の折れる作業になります)
さっそく使ってみる
ダウンロードした「guetzli_windows_x86.exe」と同じ階層にバッチファイルを作成する。
- 「--quality」
圧縮時の品質。省略可能。
パラメータなしよりも 85~95あたりがエラーが出にくい。
80以下にするとまともに変換できない。 - 「--verbose」
これを付与するとエンコードの進捗が表示される。
- 「test.jpg」
圧縮したいファイルの名前を入れる。
パスを書いていない場合、「guetzli_windows_x86.exe」と同じ階層にjpgファイルを置く必要がある。 - 「output.jpg」
出力されるファイルの名前
パスを書いていない場合、「guetzli_windows_x86.exe」と同じ階層にjpgファイルが出来上がる。
これでは使いにくいので、ドラッグ&ドロップできるバッチファイルを作成してみた。
ドラッグ&ドロップ 対応バッチファイル
Cドライブに「000」というフォルダを作り、そこに「guetzli_windows_x86.exe」を置いた場合の例です。
上記の場合、圧縮されたjpgは「C:\000\out_put\」に出力されます。
圧縮前の注意
現時点のバージョンではマジでエラーが出やすいです。
- エラーが出た場合、出力側のjpgはファイルサイズ0になります。
出力ファイルを上書きするようなバッチは書かないように注意しましょう。 - 「--quality」の部分を88~92あたりで複数のバッチを作っておくのが良いです。
- 複数一気にドラッグ&ドロップすると、さらにエラーが発生しやすくなります。
- guetzli はExifなどのヘッダ情報は削除してくれません。
- 極限までファイルサイズを削減したいと考える場合は、事前に「carmine」などヘッダ情報を削除できるツールを利用しておくのが良いです。
※ guetzli の圧縮は特殊なので、guetzli で圧縮した後では carmine は上手く作動しない。
- 極限までファイルサイズを削減したいと考える場合は、事前に「carmine」などヘッダ情報を削除できるツールを利用しておくのが良いです。