ウェブサイト検索

Linuxでの画像をAVIFに変換する方法、JPG、PNG、およびWebP形式を含む


AVIF(AV1画像ファイル形式)は、画像品質を犠牲にすることなく優れた圧縮能力を持つため、ウェブ開発者や写真家にとって好まれる選択肢として人気を集めています。このガイドでは、Linuxで画像をAVIF形式に変換するさまざまな方法を探り、この高度な画像形式の利点を活用できるようにします。

このチュートリアルでは、あなたは学びます:

  • 画像をAVIFに変換するためのさまざまなツールをインストールして使用する方法
  • コマンドラインツールとグラフィカルアプリケーションを使用して画像を変換する手順

LinuxにおけるAVIF画像変換の効率的な方法

AVIFへの柔軟な画像変換

画像をAVIF形式に変換するには、以下の例で「image.png」を希望する画像ファイルに置き換えてください。ファイル形式は問いません(例:「image.jpg」、「image.bmp」、「image.gif」など)。

画像をAVIFに変換することで、高品質なビジュアルを維持しながらファイルサイズを大幅に削減できます。Linuxシステムでこれを実現するためのいくつかの方法を紹介します。

あなたは知っていましたか?
AVIF(AV1画像ファイル形式)は、素晴らしい圧縮効率を保ちながら高品質の画像を提供するために設計された最先端の画像フォーマットです。AV1ビデオコーデック技術を活用し、優れた不可逆圧縮および可逆圧縮を実現しており、JPEGやPNG、さらにはWebPのような既存のフォーマットに強力に対抗しています。特に通信帯域幅や読み込み時間が重要なウェブ環境において、その競争力は際立っています。AVIFは広範な色域、高ダイナミックレンジ(HDR)、およびプログレッシブレンダリングをサポートしており、ビジュアル体験を向上させ、画像が美しく詳細でありながら効率的に配信される未来を約束します。

  1. libavif-binを使用した変換: まず、libavif-binパッケージをインストールしてください。

    sudo apt install libavif-bin
    avifenc image.png image_avifenc.avif
    

    出力をより制御するために:

    avifenc --min 30 --max 63 --speed 10 --yuv 420 -d 8 --codec aom image.png image_avifenc2.avif

    上記のコマンドの各部分が何をするかの内訳は以下の通りです:

    avifenc は、画像をAVIF形式にエンコードするために使用されるコマンドラインユーティリティです。これは、AVIF画像を扱うためのツールを提供するlibavifパッケージの一部です。

    –min 30 はAV1コーデックの最小量子化器を設定します。量子化器は圧縮レベルを制御し、値が低いほど品質が高く、ファイルサイズが大きくなります。最小量子化器30は、ファイルサイズと品質のバランスを取ります。

    –max 63は、コーデックの最大量子化器を定義します。この設定は圧縮量に上限を設け、品質が特定のしきい値を下回らないようにします。最大値の63は、大きな圧縮を可能にし、品質の一部を犠牲にしつつファイルサイズを減少させるのに有益です。

    –speed 10はエンコード速度を調整します。速度パラメーターは0(最も遅い)から10(最も速い)までの範囲で、エンコード時間と出力ファイルの品質およびサイズに影響を与えます。速度10では、エンコードプロセスがより迅速に完了するよう最適化されますが、最終的な画像品質と圧縮効率がわずかに妥協される可能性があります。

    –yuv 420 はクロマサブサンプリングフォーマットを指定します。YUV 4:2:0は、ファイルサイズを減少させるために画像の色情報を削減し、認知される品質に大きく影響を与えずに行うクロマサブサンプリングの一種です。この設定はデジタルビデオや写真圧縮で一般的です。

    -d 8 は、色チャンネルのビット深度を設定します。チャンネルあたり8ビットの深度は標準であり、広範囲の色をサポートし、合計で1670万色まで使用できます。これは通常、色の忠実度とファイルサイズのバランスを考慮して、ほとんどのアプリケーションに対して十分です。

    –codec aomは、Alliance for Open Media(AOM)が提供するAV1コーデックを選択します。このコーデックは、画像をAVIF形式に圧縮およびエンコードする実際の処理を担当しています。これは、さまざまなビットレートでの高効率と品質で知られています。

    image.png は変換したいソース画像ファイルです。このコマンドは柔軟で、PNG、JPG、JPEGなどの複数の入力形式をサポートしています。

    image_avifenc2.avifはAVIF形式の出力ファイルの名前です。これは変換した画像が保存され、AVIF形式をサポートするアプリケーションで使用できるようになります。

  2. この方法は、画像を変換するためにAVIFエンコーディングライブラリを直接利用します。高度なオプションにより、エンコーディング設定のカスタマイズが可能です。

  3. ffmpegで変換する: システムにffmpegがインストールされていることを確認してください。

    sudo apt install ffmpeg

    今、あなたは画像をAVIFに変換する準備ができました。

    ffmpeg -i image.png -c:v libaom-av1 -crf 30 -pix_fmt yuv420p image_ffmpeg.avif

    このコマンドは、AVIF画像を作成するためにffmpegの広範なエンコード機能を活用しようとしているユーザーにとって特に便利です。以下は、コマンドの各コンポーネントの説明です:

    ffmpegはffmpegソフトウェアを呼び出すコマンドであり、包括的なマルチメディア処理ツールです。これは、ビデオと音声の変換、処理、ストリーミング作業に広く使用されています。

    -i input.pngは入力ファイルを指定します。この場合、input.pngはAVIFに変換したい画像ファイルの名前です。この例ではPNGファイルを使用していますが、ffmpegはさまざまな画像および動画フォーマットを入力として処理できます。

    -c:v libaom-av1は、ビデオ(またはこの場合、画像)変換に使用されるコーデックを示します。libaom-av1は、オープンメディアの連合によって提供されるオープンソースのAV1コーデックです。このコーデックは、画像やビデオをそれぞれAVIFまたはAV1形式にエンコードする際の効率性から選ばれており、高い圧縮効率と品質を提供します。

    -crf 30は定数レートファクター(CRF)値を30に設定し、出力ファイルの品質を制御します。CRFは圧縮レベルと品質のバランスを取るパラメーターであり、値が低いほど品質が良く(ファイルサイズは大きくなります)、値が高いほど圧縮が強くなります(ただし、品質は低下します)。30のCRFは、画像品質とファイルサイズの妥協としてよく使用されます。

    -pix_fmt yuv420pは、出力ファイルに使用されるピクセルフォーマットを定義します。yuv420pは、クロマサブサンプリングが4:2:0のYUVカラースペースを指定します。この設定はデジタル画像や動画で一般的で、輝度よりも低い解像度で色情報をサンプリングすることでファイルサイズを削減します。これは、品質と圧縮効率のバランスを取った広くサポートされているフォーマットです。

    image_ffmpeg.avifは出力ファイルの名前です。このコマンドの部分では、変換プロセスから得られたファイルをimage_ffmpeg.avifとして保存し、AVIF形式を採用することを指定しています。AVIF拡張子の使用により、ffmpegは出力をAVIF形式でエンコードすることを示し、以前に指定したコーデックと設定を利用します。

  4. ffmpegは、AVIFを含む幅広いフォーマットをサポートする強力なツールです。上記のコマンドは、特定のコーデック設定を使用して画像をAVIFに変換します。

  5. ImageMagickで変換する: まず、ImageMagickをインストールしてください。

    sudo apt install imagemagick

    次に、imagemagickを使用してAVIFに変換します

    convert image.png image_imagemagick.avif

    あるいは、画像の品質を下げながらファイルサイズをさらに削減することもできます:

    convert image.png -quality 20 -define avif:speed=10 image_imagemagick2.avif
    

    上記のコマンドは、画像の変換、編集、処理に使用される多機能コマンドラインツールであるImageMagickを活用して、AVIF画像を作成します。このコマンドは、ユーザーが既存の画像をAVIF形式に変換するための簡単な方法を提供し、品質とエンコーディング速度のバランスを取ります。以下は、コマンドの構成要素の探求です:

    convert は、ImageMagickで画像の変換と処理に使用される主要なコマンドです。さまざまな形式の画像を読み込み、変換し、書き込みます。

    image.pngは変換のための入力ファイルを指定します。この例では、PNG画像ですが、ImageMagickのconvertコマンドは幅広い画像フォーマットを入力として処理できます。

    -quality 20は出力画像の品質レベルを設定します。ImageMagickでは、-qualityオプションは一般的に出力ファイルの圧縮レベルを制御します。AVIF画像の場合、値が低いほど圧縮が高くなり、ファイルサイズが小さくなりますが、画像の品質が若干失われることを意味します。20の品質設定はかなり低く、画像が大幅に圧縮されることを示しており、ファイルサイズを最小限に抑えることが高い画像忠実度を維持することよりも優先されるシナリオに便利です。

    -define avif:speed=10 は、特定のエンコーディングパラメータをAVIFエンコーダに渡すImageMagickのオプションです。ここで、avif:speed=10 はAVIF変換プロセスのエンコーディング速度を調整します。速度の値は、画像の品質と圧縮効率を優先する遅い設定から、いくつかの品質を犠牲にしてエンコーディング時間を短縮する速い設定までさまざまです。速度設定10はスケールの速い側に位置しており、変換は極端な品質と圧縮よりも速度を優先することを示しています。

    image_imagemagick2.avifは出力ファイルの名前を示します。このコマンドの部分は、変換された画像をこの名前で保存し、AVIFフォーマットを使用することを示しています。.avif拡張子の使用は、出力ファイルがAVIFフォーマットでエンコードされ、指定された品質と速度の設定から利益を得ることを示しています。

    このコマンドは、ImageMagickを使用して画像をAVIF形式に変換する方法を示しており、ユーザーが変換プロセスの品質と速度を制御できるようにしています。これは、画像の圧縮効率と画質の利点を活かして、ウェブまたはストレージの最適化を目指すユーザーにとって強力なオプションです。

  6. ImageMagickは画像を変換するための簡単なコマンドを提供しています。これは多用途で、AVIFを含む多数のフォーマットに対応しています。

  7. GIMPでの変換: グラフィカルインターフェースを好むユーザーのために、GIMPはプラグインを介してAVIFをサポートする無料でオープンソースの画像編集ソフトウェアです。

    1. Open GIMP and load your image.
    2. Click File > Export As.
    3. Choose AVIF from the file format dropdown.
    4. Adjust the settings as desired.
    5. Click Export to save your AVIF image.
  8. この方法は、コマンドラインを使用せずに画像を視覚的に調整し変換したいユーザーに最適です。

結果

結論

Linuxで画像をAVIFに変換するのは簡単です。さまざまなツールが異なる好みに応じて提供されているため、コマンドラインユーティリティからグラフィカルアプリケーションまで選択できます。自動化やスクリプトを重視するのか、手動操作やビジュアルインターフェースを重視するのかにかかわらず、LinuxはワークフローにAVIFを組み込むための強力なソリューションを提供しており、画像品質を損なうことなく帯域幅とストレージを効率的に利用できます。

Linux上で画像をAVIFに変換することに関するよくある質問

1. AVIFとは何ですか?なぜJPEGやPNGのようなフォーマットより優れていると考えられているのですか?

AVIF、またはAV1画像ファイル形式は、非常に効率的な圧縮を実現するためにAV1ビデオコーデックを利用した新しい画像形式です。JPEGやPNGと比べて圧縮性能が大幅に向上しており、画像の品質を損なうことなくファイルサイズが小さくなるため、ウェブやストレージの目的において優れています。

2. GIFをAVIF形式に変換できますか?

はい、LinuxでffmpegやImageMagickのようなツールを使用してGIFをAVIF形式に変換することができます。これにより、ファイルサイズを減らしながら、画像品質を維持または改善することができます。

3. 画像をAVIFに変換する際に品質の損失はありますか?

画像をAVIFに変換する際、目に見える品質の損失はほとんどないか、全くないことが期待できます。AVIFの圧縮アルゴリズムは、ファイルサイズが小さくても高い画像忠実度を維持するように設計されています。

4. 複数の画像を一括してAVIFに変換するにはどうすればよいですか?

ffmpeg や ImageMagick のようなコマンドラインツールを使用して、スクリプトを作成することでディレクトリ内の複数のファイルを処理し、一括変換することで効率を高め、時間を節約できます。

5. AVIF 画像をサポートしていないウェブブラウザはありますか?

現在、多くの最新のウェブブラウザはAVIF画像をサポートしています。これにはChrome、Firefox、Edgeが含まれます。しかし、古いブラウザやバージョンの中には、まだAVIF形式をサポートしていないものもあります。

6. ウェブ用に画像をAVIFに変換するためのベスト設定は何ですか?

ウェブ用では、ファイルサイズと品質のバランスを取ることが重要です。適度な品質設定(例えば、ImageMagickでの-quality 50)とデフォルトのエンコーディング速度を使用すると、ウェブ画像の良好なバランスを提供します。

7. AVIF は透明性を扱えますか?

はい、AVIFは透過性をサポートしており、アルファチャンネルを必要とする画像を含む様々なタイプの画像に対して多用途なフォーマットです。

8. AVIFは圧縮と品質の面でWebPとどのように比較されますか?

AVIFは一般的に、特に低ビットレートでWebPよりも優れた圧縮と品質を提供します。これにより、AVIFはウェブ上の高品質な画像により適しています。

9. LinuxでAVIF画像を表示するために利用できるツールは何ですか?

Linux上のいくつかの画像ビューアやブラウザは、GNOME画像ビューア(Eye of GNOME)やFirefox、ChromeなどのブラウザのようにAVIFをサポートしています。

10. AVIFに変換する際に最高の品質を確保するにはどうすればよいですか?

最高の品質を確保するために、最低の圧縮設定(最高品質値)を使用し、色深度やクロマサブサンプリング設定を指定するなど、AVIFの高度なオプションを活用してください。

11. AVIF画像を元のフォーマットに戻すことは可能ですか?

AVIF画像をPNGやJPEGなどの他のフォーマットに戻すことはできますが、圧縮とエンコーディングプロセスのため、この変換が元のファイルを完全に復元するわけではないことに注意が必要です。

関連記事: