名前
cwebp
- 画像ファイルを WebP ファイルに圧縮する
概要
cwebp [options] input_file -o output_file.webp
説明
cwebp
は、WebP 形式を使用して画像を圧縮します。入力形式は、PNG、JPEG、TIFF、WebP、または未加工の Y'CbCr サンプルのいずれかです。注: アニメーションの PNG ファイルと WebP ファイルはサポートされていません。
オプション
基本的なオプションは次のとおりです。
-o string
- 出力 WebP ファイルの名前を指定します。省略すると、
cwebp
が実行されます 統計情報のみを報告できます。 「-」の使用出力名は「stdout」に出力するためです。 -- string
- 入力ファイルを明示的に指定します。このオプションは、入力ファイルの先頭が「-」の場合などに便利です。このオプションは
last
と指定する必要があります。 それ以降のその他のオプションは無視されます。 -h, -help
- 使用状況の概要。
-H, -longhelp
- 利用可能なすべてのオプションの概要。
-version
- バージョン番号(major.minor.revision 形式)を出力して終了します。
-lossless
- 画像を損失なくエンコードします。完全に透明な領域の画像の場合は
見えないピクセル値(R/G/B または Y/U/V)が保持されるのは、
-exact
オプションが使用されている。 -near_lossless int
- ほぼロスレスの画像前処理のレベルを指定します。このオプションでは
圧縮率を高めるが、画質への影響は最小限である
向上しますロスレス圧縮モードが自動的にトリガーされます。範囲は
0
(最大の前処理)から100
(前処理なし、 デフォルト)です。一般的な値は60
前後です。なお、-q 100
での非可逆圧縮は 良い結果が得られる場合もあります。 -q float
RGB チャンネルの圧縮係数を
0
~100
で指定します。デフォルトは75
です。非可逆圧縮の場合(デフォルト)では、ファクタが小さいほど圧縮率は小さくなります。 画質は低下します。最適な品質を実現するには、次の値を使用します。
100
。可逆圧縮の場合(
-lossless
オプションで指定)、 小要素の場合、圧縮速度は速くなりますが、生成されるファイルが大きくなります。 最大圧縮を達成するには、100
の値を使用します。-z int
lossless
圧縮モードをオンにして、レベルを 0~9 の間で指定します。レベル 0 が最も速く、レベル 9 が最も遅くなります。高速モードでは、低速モードよりもファイルサイズが大きくなります。適切なデフォルト値は-z 6
です。 このオプションは、事前定義された画質設定へのショートカットです あります。オプション-q
または-m
が後で使用されると、このオプションの効果が無効になります。-alpha_q int
アルファ圧縮の圧縮係数を
0
から の間で指定します100
。アルファの可逆圧縮は、100
の値を使用して実現されます。 値が小さいほど非可逆圧縮になります。デフォルトは100
です。-preset string
特定の種類のソース素材に合わせて、事前定義された一連のパラメータを指定します。有効な値:
default
、photo
、picture
、drawing
、icon
、text
。-preset
は他のパラメータの値(-q
を除く)を上書きするため、このオプションは引数の順序で最初に指定することをおすすめします。-m int
使用する圧縮方法を指定します。このパラメータは、エンコード速度と圧縮ファイルのサイズと品質のトレードオフを制御します。有効な値の範囲は
0
~6
です。デフォルト値は4
です。高い場合 値が使用されると、エンコーダは追加の入力データの検査に 品質向上について判断します値が小さいほど、 処理時間が速くなりますが、ファイルサイズは大きくなりますが、 適しています。-crop x_position y_position width height
左上隅の座標が(
x_position
、y_position
)で、サイズがwidth
xheight
の長方形にソースを切り抜きます。この切り抜き 領域はソースの長方形内に完全に含める必要があります。注: 切り抜きは、スケーリングの前に適用されます。-resize width height
ソースを
width
xheight
の長方形に変更します。次のいずれかに該当する場合 (両方ではなく)幅または高さのパラメータに0
が指定されている場合、値は次のようになります。 計算を行います。注: スケーリングは切り抜きの後に適用されます。-mt
可能であれば、エンコードにマルチスレッドを使用します。
-low_memory
圧縮サイズの 4 倍(通常)を保存することで、非可逆エンコードのメモリ使用量を削減します。これにより、エンコードが遅くなり、出力のサイズと歪みが若干異なります。このフラグは デフォルトでオフになっています。このフラグをオフのままにすると、 副作用がビットストリームに 現れます (強制的に
1
に設定)などの機能があります。なお、 これを使用すると、ビットストリーム サイズの詳細レポートがcwebp
によって出力されます。 選択します。
損失ありのオプション
これらのオプションは、非可逆エンコード(デフォルトでは、 。
-size int
- 圧縮出力の目標サイズ(バイト単位)を指定します。コンプレッサーは、この目標にできるだけ近づけるように、部分エンコードを複数回行います。
-size
と-psnr
の両方が使用されている場合、-size
の値が優先されます。 -psnr float
- 圧縮出力で達成しようとするターゲット PSNR(dB)を指定します。コンプレッサーは、このターゲットにできるだけ近づけるように、部分エンコードを複数回行います。
-size
と-psnr
の両方を使用すると、-size
の値が優先されます。 -pass int
- オプションで使用する二分法の間に使用するパスの最大数を設定する
-size
または-psnr
。最大値は10
、デフォルトは1
です。オプション-size
または-psnr
が使用されていて、-pass
が指定されていない場合、デフォルト値の 6 回のパスが使用されます。-pass
は指定されているが、-size
も-psnr
も指定されていない場合、ターゲット PSNR は 40 dB になります。 -af
- オートフィルタを有効にします。このアルゴリズムは最適化に多くの時間を バランスの取れた品質に到達します。
-jpeg_like
- 内部パラメータ マッピングを変更して、予想されるサイズに合わせて
JPEG 圧縮。このフラグを使用すると、通常、JPEG と同等のサイズ(同じ
-q
設定の場合)の出力ファイルが生成されますが、視覚的な歪みは少なくなります。
詳細オプション:
-f int
- ブロック解除フィルタの強度を
0
(フィルタリングなし)の間で指定します と100
(最大フィルタリング)。値を0
にすると、フィルタリングがオフになります。 値を大きくすると、画像のデコード後に適用されるフィルタリング プロセスの強度が増します。値を大きくすると、画像がより滑らかに表示されます。一般的な値は通常20
~50
の範囲です。 -sharpness int
- フィルタのシャープさを指定します(使用する場合)。範囲は
0
(最もシャープ)7
(シャープ度が最も低い)に設定します。デフォルトは0
です。 -strong
- 強力なフィルタリングを使用する(
-f
オプションでフィルタリングが使用されている場合)。強力なフィルタリングはデフォルトでオンになっています。 -nostrong
- 強力なフィルタリングを無効にし(
-f
オプションでフィルタリングが使用されている場合)、代わりにシンプルなフィルタリングを使用します。 -sharp_yuv
- より正確でシャープな RGB -> YUV 変換を使用します。このプロセスは、デフォルトの「高速」RGB から YUV への変換よりも時間がかかります。
-sns int
- 空間ノイズ シェーピングの振幅を指定します。空間ノイズ シェーピング(略称 sns)とは、画像のどの領域で比較的少ないビット数を使用するか、また、これらのビットをより適切に転送する場所を決定するために使用される、組み込みアルゴリズムの一般的な集合体を指します。指定可能な範囲は
0
(アルゴリズムはオフ)~100
(最大効果)。デフォルト値は50
です。 -segments int
- sns アルゴリズムのセグメンテーション中に使用するパーティションの数を変更します。セグメントは
1
~4
の範囲で指定してください。デフォルト値は4
です。-low_memory
が使用されていない限り、このオプションはメソッド 3 以降では効果がありません。 -partition_limit int
- 一部のマクロブロックで使用されるビット数を制限して品質を低下させます。
範囲は
0
(劣化なし、デフォルト)~100
(完全な劣化)です。通常、中程度のサイズの画像では30
~70
の値が適しています。イン VP8 形式の場合、いわゆるコントロール パーティションの上限は 512k で、 (マクロブロックが元の状態にあるか、 どのセグメントに属するか、イントラ 4x4 または イントラ 16x16 モード あります。非常に大きな画像の場合、512K でも、 16x16 マクロブロック。絶対最小値はマクロブロックあたり 4 ビットです。スキップ、 セグメント、モードの情報は、これら 4 ビットのほとんどすべてを 非常に大きな画像では問題があります。partition_limit
係数は、最もビットコストの高いモード(4x4 内)を使用する頻度を制御します。これは、512 KB の上限に達し、次のメッセージが表示された場合に役立ちます。エラーコード: 6(PARTITION0_OVERFLOW: パーティション #0 が大きすぎて 512 KB に収まらない)。次を使用する場合:-partition_limit
では 512k の制約を満たすには不十分であるため、 セグメントを少なくして、マクロブロックあたりのヘッダービット数を増やします。詳しくは、-segments
オプション。-m
オプションと-q
オプションは、エンコーダの決定とこの上限に達する能力にも影響します。
ロギングのオプション
出力レベルは、以下のオプションで設定します。
-v
- 追加情報を出力します(特にエンコード時間)。
-print_psnr
- 平均 PSNR(ピーク信号対雑音比)を計算してレポートします。
-print_ssim
- 平均 SSIM(構造的類似性の指標。参照: https://en.wikipedia.org/wiki/SSIM)
-print_lsim
- ローカル類似性指標(コロッケーションされたピクセル近傍の最小エラーの合計)を計算して報告します。
-progress
- エンコードの進行状況をパーセンテージで報告します。
-quiet
- 何も印刷しないでください。
-short
- テスト目的で簡単な情報(出力ファイルサイズと PSNR)のみを出力します。
-map int
- エンコード情報の追加の ASCII マップを出力します。有効なマップ値の範囲は
1
~6
です。これはデバッグを支援することのみを目的としています。
その他のオプション
より高度なオプションは次のとおりです。
-s width height
- 入力ファイルが実際に ITU-R BT.601 勧告に従い、4:2:0 リニア形式の未加工の Y'CbCr サンプルで構成されていることを指定します。輝度プレーンのサイズは
width
xheight
です。 -pre int
- 前処理ステップを指定する。値を
2
にすると、トリガーされます。 RGBA から YUVA への変換時の品質依存擬似ランダム ディザリング (非可逆圧縮のみ)。 -alpha_filter string
- アルファプレーンの予測フィルタリング方法を指定します。次のいずれか
none
、fast
、またはbest
(複雑で遅い順)。 デフォルトはfast
です。内部的には、4 つの予測(なし、水平、垂直、グラデーション)を使用してアルファ フィルタリングが行われます。best
各モードが順番に試行され、出力レベルが小さい方の 指定します。fast
モードでは、何も記述せずに事前推測を試行します。 すべてのモードをテストします -alpha_method int
- アルファ圧縮に使用するアルゴリズム(
0
または1
)を指定します。アルゴリズム0
は圧縮が行われないことを示し、1
は圧縮に WebP 可逆形式を使用します。 デフォルトは1
です。 -exact
- 透明領域の RGB 値を保持します。デフォルトでは圧縮性を高めるためにオフになっています。
-blend_alpha int
- このオプションでは、アルファ チャンネル(存在する場合)とソースが統合され、
背景色。16 進数で 0xrrggbb を指定します。アルファ版
チャネルは後で不透明な値
255
にリセットされます。 -noalpha
- このオプションを使用すると、アルファ版チャンネルは破棄されます。
-hint string
- 入力画像のタイプに関するヒントを指定します。有効な値は
photo
、picture
、graph
です。 -metadata string
入力から出力にコピーするメタデータのカンマ区切りのリスト(存在する場合)。有効な値:
all
、none
、exif
、icc
、xmp
。デフォルトはnone
です。各入力形式でサポートされている組み合わせは異なります。
-noasm
すべてのアセンブリの最適化を無効にします。
バグ
すべてのバグは、Issue Tracker(https://issues.webmproject.org)で報告してください。
パッチを歓迎します。開始するには、こちらのページ(https://www.webmproject.org/code/contribute/submitting-patches/)をご覧ください。
例
cwebp -q 50 -lossless picture.png -o picture_lossless.webp
cwebp -q 70 picture_with_alpha.png -o picture_with_alpha.webp
cwebp -sns 70 -f 50 -size 60000 picture.png -o picture.webp
cwebp -o picture.webp -- ---picture.png
著者
cwebp
は libwebp
の一部で、WebP チームが作成したものです。
最新のソースツリーは次の URL から入手できます。
https://chromium.googlesource.com/webm/libwebp/
このマニュアル ページは Debian プロジェクト用に作成されました(他のプロジェクトでも使用される場合があります)。