web-dev-qa-db-ja.com

Google Page Speed InsightsのJPEG画像を圧縮する方法

この質問がここに収まることを願っています。私はStackoverflowで尋ねましたが、Server Faultで尋ねる提案で閉じられた同様の質問があり、Server Faultはここで尋ねる提案で私の質問を閉じました(これは非常にイライラします):

https://stackoverflow.com/questions/41313719/google-pagespeed-insights-optimize-images-running-new-image-compression

(ユーザーがアップロードした)画像を自動的に圧縮する必要があるので、 Google Page Speed Insights は画像サイズについてもう文句を言いません。 Apache/NginxでGoogle Page Speed Modを使用することはオプションではありません。

公式の画像圧縮FAQをここで見ました: https://developers.google.com/speed/docs/insights/OptimizeImages

彼らは、jpegイメージに対してjpegtranとjpegoptimを提案しています。さまざまな設定で両方を試してみましたが、画像はそれ以上圧縮されず、実際には画像が大きくなりました。

次に、Google自体の新しいjpegエンコーダーであるGuetzliを試しました: https://github.com/google/guetzli

このdidは以前よりはるかに画像を圧縮しますが、Page Speed Insightsstill画像が大きすぎると文句を言います。

では、(Linuxマシン上で)Jpegs(何百もの)を自動的に圧縮して、Google Page Speed Insightsがもう文句を言わないようにするにはどうすればよいですか?

編集:明確にするために:Google Insightsでは、最適化された画像をダウンロードできますが、実際に作成できるものよりもはるかに小さくなっています。 Google Insightsからダウンロードできる画像と同じサイズになるように画像を圧縮するには(わずかな品質の低下は問題ありません)。 Google Insightを使用してそれらを圧縮するサイトには何百もの画像があるため、すべては実際的ではありません。

Google Insightと同様に圧縮するLinux用のコマンドラインツールはありますか?

(2011年以降のstackoverflowには保護された質問がありますが、答えはもう機能しません: https://stackoverflow.com/questions/5451597/how-does-googles-page-speed-lossless-image-compression- work?rq = 1

1
Fels

ロスレスVS通常の圧縮

ワイヤーが混在しているように見えますが、Googleの洞察はJPEGエンコーダーではなくロスレス圧縮を指します。 jpegoptim、jpegtran、jpegrescan、mozjpeg1、mozjpeg2などはすべてロスレス圧縮ツールであり、GuetzliなどのJPEGエンコーダーではありません。

これは、すでに圧縮されているファイルを取得し、隠されたMETA情報など、必要のないものを削除することでファイルをさらに小さくすることを意味します。

ファイルを2回圧縮すると効果的です。一般に、PhotoshopなどのほとんどのイメージングソフトウェアでJPEG圧縮を使用すると、ロスレスアプリケーションを使用して再度圧縮するだけで済みます。


キャッシュの問題

Jpegtranを試してみたが、Googleの洞察がまだわからない場合、古いバージョンのイメージをまだ配信しているサーバー側のキャッシュが原因である可能性があります。これは、コンテンツ配信ネットワークおよびリバースHTTPプロキシで一般的です。

Aws s3、vanish、CloudFlare、または同様のサービスを使用している場合、テストの前にキャッシュをパージする必要があります。


ロスレス圧縮、異なる結果

ロスレス圧縮は、使用するソフトウェアに応じて画像ごとに異なることがよくあります。画像によっては、あるツールでは圧縮率が高くなりますが、次のツールでは圧縮率が低下する場合があります。

多くの人は、複数の可逆圧縮でファイルを実行するスクリプトまたはアプリケーションを使用し、最良の結果を見つけます。これは、結果が実際に5〜50 kb以上異なる場合があるため、JPEGよりもPNGで特に役立ちます。

可逆圧縮アプリケーションでは、結果はアプリケーションではなく画像によって異なるため、多くの場合、可逆圧縮の配列を使用して最適なサイズを選択する必要があります。

ありがたいことに、独自のスクリプトを作成し、異なる圧縮を使用してイメージを1つずつ実行することなく、これを行うのに役立つアプリケーションがオンラインにあります。Windowsユーザーの場合は、 FileOptimizer =。

3
Simon Hayter

Gimpソフトウェアと、バッチ最適化を可能にするプラグインを使用します。圧縮の割合は、特にバッチでは扱いにくい部分です。バッチを実行する前に、少なくとも1つのイメージをテストします。

1
DraganAscii