コマンドラインを使用した WebP 画像の作成

Katie Hempenius 氏
Katie Hempenius

webp コマンドライン ツールはすでにインストールされているので、すぐに使い始めることができます。このツールは、JPG、PNG、TIFF の画像を WebP に変換します。

画像を WebP に変換する

  1. [Remix to Edit] をクリックしてプロジェクトを編集可能にします。
  2. [ターミナル] をクリックします(注: [ターミナル] ボタンが表示されない場合は、全画面表示オプションを使用する必要があります)。
  3. 以下のコマンドを入力します。
cwebp -q 50 images/flower1.jpg -o images/flower1.webp

このコマンドは、images/flower1.jpg ファイルを 50 の品質(0 が最低、100 が最高)で変換し、images/flower1.webp として保存します。

これを行うと、コンソールに次のような画面が表示されます。

Saving file 'images/flower1.webp'
File:      images/flower1.jpg
Dimension: 504 x 378
Output:    29538 bytes Y-U-V-All-PSNR 34.57 36.57 36.12   35.09 dB
           (1.24 bpp)
block count:  intra4:        750  (97.66%)
              intra16:        18  (2.34%)
              skipped:         0  (0.00%)
bytes used:  header:            116  (0.4%)
             mode-partition:   4014  (13.6%)
 Residuals bytes  |segment 1|segment 2|segment 3|segment 4|  total
    macroblocks:  |      22%|      26%|      36%|      17%|     768
      quantizer:  |      52 |      42 |      33 |      24 |
   filter level:  |      16 |       9 |       6 |      26 |

画像を WebP に変換しました。

ただし、このように一度に 1 つのイメージに対して cwebp コマンドを実行すると、多くのイメージを変換するには時間がかかります。必要な場合は、代わりにスクリプトを使用できます。

  • コンソールで次のスクリプトを実行します(バッククォートを忘れないでください)。
`for file in images/*; do cwebp -q 50 "$file" -o "${file%.*}.webp"; done`

このスクリプトは、images/ ディレクトリ内のすべてのファイルを 50 の品質で変換し、新しいファイル(同じファイル名だがファイル拡張子は .webp)として同じディレクトリに保存します。

✔️ チェックイン

これで、images/ ディレクトリに 6 つのファイルが作成されます。

flower1.jpg
flower1.webp
flower2.jpg
flower2.webp
flower3.png
flower3.webp

次に、この Glitch を更新して、WebP に対応しているブラウザに WebP 画像を提供します。

<picture> タグを使用して WebP 画像を追加する

<picture> タグを使用すると、古いブラウザのサポートを維持しながら、新しいブラウザに WebP を配信できます。

  • index.html で、<img src="images/flower1.jpg"/> を次の HTML に置き換えます。
<picture>
  <source type="image/webp" srcset="images/flower1.webp">
  <source type="image/jpeg" srcset="images/flower1.jpg">
  <img src="images/flower1.jpg">
</picture>
  • 次に、flower2.jpgflower3.png<img> タグを <picture> タグに置き換えます。

✔️ チェックイン

完了すると、index.html<picture> タグは次のようになります。

<picture>
  <source type="image/webp" srcset="images/flower1.webp">
  <source type="image/jpeg" srcset="images/flower1.jpg">
  <img src="images/flower1.jpg">
</picture>
<picture>
  <source type="image/webp" srcset="images/flower2.webp">
  <source type="image/jpeg" srcset="images/flower2.jpg">
  <img src="images/flower2.jpg">
</picture>
<picture>
  <source type="image/webp" srcset="images/flower3.webp">
  <source type="image/png" srcset="images/flower3.png">
  <img src="images/flower3.png">
</picture>

次に、Lighthouse を使用して、WebP 画像がサイトに正しく実装されていることを確認します。

Lighthouse を使用して WebP の使用状況を確認する

Lighthouse の次世代形式での画像の配信のパフォーマンス監査では、サイトのすべての画像が WebP などの次世代形式を使用しているかどうかを確認できます。

  1. サイトをプレビューするには、[アプリを表示] を押してから、全画面表示 全画面表示 を押します。
  2. Ctrl+Shift+J キー(Mac の場合は Command+Option+J キー)を押して DevTools を開きます。
  3. [Lighthouse] タブをクリックします。
  4. [カテゴリ] リストで [パフォーマンス] チェックボックスがオンになっていることを確認します。
  5. [Generate report] ボタンをクリックします。
  6. 画像を次世代形式で提供する」の監査に合格していることを確認します。

Lighthouse での「次世代形式での画像の配信」の監査に合格する

Success! これで、サイトで WebP 画像が配信されるようになりました。