Name
cwebp
: Bilddatei in eine WebP-Datei komprimieren
Zusammenfassung
cwebp [options] input_file -o output_file.webp
Beschreibung
cwebp
komprimiert ein Bild im WebP-Format. Das Eingabeformat kann entweder PNG, JPEG, TIFF, WebP oder unbearbeitete Y&C3Cr-Beispiele sein.
Hinweis: Animierte PNG- und WebP-Dateien werden nicht unterstützt.
Optionen
Grundlegende Optionen:
-o string
- Geben Sie den Namen der WebP-Ausgabedatei an. Ohne Angabe führt
cwebp
eine Komprimierung durch, meldet aber nur Statistiken. Mit „&“ wird als Ausgabename die Ausgabe an „'stdout'“ weitergeleitet. -- string
- Geben Sie die Eingabedatei an. Diese Option ist nützlich, wenn die Eingabedatei beispielsweise mit einem '-' beginnt. Diese Option muss
last
enthalten. Alle nachfolgenden Optionen werden ignoriert. -h, -help
- Eine kurze Nutzungsübersicht.
-H, -longhelp
- Eine Zusammenfassung aller möglichen Optionen.
-version
- Drucken Sie die Versionsnummer (als Hauptversion.Nebenversion) und beenden Sie den Vorgang.
-lossless
- Codieren Sie das Bild ohne Verlust. Bei Bildern mit vollständig transparentem Bereich werden die unsichtbaren Pixelwerte (R/G/B oder Y/U/V) nur beibehalten, wenn die Option
-exact
verwendet wird. -near_lossless int
- Angeben, wie die Bildverarbeitung nahezu verlustfrei sein soll Mit dieser Option werden die Pixelwerte angepasst, um die Komprimierung zu vereinfachen. Dies hat jedoch nur geringe Auswirkungen auf die Bildqualität. Der verlustfreie Komprimierungsmodus wird automatisch ausgelöst.
Der Bereich reicht von
0
(maximale Vorverarbeitung) bis100
(keine Vorverarbeitung, Standardeinstellung). Der typische Wert liegt bei60
. Beachten Sie, dass verlustbehaftete Vorgänge mit-q 100
manchmal bessere Ergebnisse liefern können. -q float
Geben Sie den Komprimierungsfaktor für RGB-Kanäle zwischen
0
und100
an. Die Standardeinstellung ist75
.Bei einer verlustbehafteten Komprimierung erzeugt ein kleiner Faktor eine kleinere Datei mit geringerer Qualität. Die beste Qualität wird mit einem Wert von
100
erzielt.Bei einer verlustfreien Komprimierung (durch die Option
-lossless
angegeben) ermöglicht ein kleiner Faktor eine schnellere Komprimierung, erzeugt aber eine größere Datei. Die maximale Komprimierung wird mit einem Wert von100
erreicht.-z int
Aktivieren Sie den Komprimierungsmodus
lossless
und legen Sie die angegebene Stufe zwischen 0 und 9 fest. Stufe 0 ist dabei die schnellste, 9 ist die langsamste. Im Schnellmodus ist die Datei größer als langsamer. Ein guter Standardwert ist-z 6
. Diese Option ist ein Kurzbefehl für einige vordefinierte Einstellungen für Qualität und Methode. Wenn die Optionen-q
oder-m
anschließend verwendet werden, wird die Wirkung dieser Option ungültig.-alpha_q int
Geben Sie den Komprimierungsfaktor für die Alphakomprimierung zwischen
0
und100
an. Eine verlustfreie Komprimierung von Alpha wird mit einem Wert von100
erreicht, während niedrigere Werte zu einer verlustbehafteten Komprimierung führen. Der Standardwert ist100
.-preset string
Geben Sie einen Satz vordefinierter Parameter an, die für einen bestimmten Typ von Quellmaterial geeignet sind. Mögliche Werte sind:
default
,photo
,picture
,drawing
,icon
,text
.Da
-preset
die anderen Parameter (mit Ausnahme des-q
-Parameters) überschreibt, sollte diese Option vorzugsweise in der Reihenfolge der Argumente zuerst angezeigt werden.-m int
Geben Sie die zu verwendende Komprimierungsmethode an. Dieser Parameter steuert den Kompromiss zwischen Codierungsgeschwindigkeit und Größe und Qualität der komprimierten Datei. Die möglichen Werte reichen von
0
bis6
. Der Standardwert ist4
. Wenn höhere Werte verwendet werden, hat der Encoder mehr Zeit dafür, zusätzliche Codierungsmöglichkeiten zu prüfen, und entscheidet über den Qualitätsgewinn. Ein geringerer Wert kann zu einer schnelleren Verarbeitungszeit führen, allerdings mit einer größeren Dateigröße und einer geringeren Komprimierungsqualität.-crop x_position y_position width height
Schneiden Sie die Quelle auf ein Rechteck mit den oberen linken Ecken in den Koordinaten (
x_position
,y_position
) und der Größewidth
xheight
zu. Dieser Zuschneidebereich muss vollständig im Quellrechteck enthalten sein. Hinweis: Der Zuschnitt wird vor der Skalierung angewendet.-resize width height
Ändern Sie die Größe der Quelle in ein Rechteck der Größe
width
xheight
. Wenn entweder der Parameter für die Breite oder die Höhe (nicht beides)0
ist, wird der Wert berechnet, ohne das Seitenverhältnis beizubehalten. Hinweis: Die Skalierung wird nach dem Zuschneiden angewendet.-mt
Verwenden Sie wenn möglich Multi-Threading für die Codierung.
-low_memory
Reduzieren Sie die Arbeitsspeichernutzung der verlustbehafteten Codierung, indem Sie in der Regel die vierfache Größe der komprimierten Datei speichern. Dadurch wird die Codierung langsamer und die Ausgabe unterscheidet sich in Größe und Verzerrung. Dieses Flag gilt nur für die Methoden 3 und höher und ist standardmäßig deaktiviert. Wenn dieses Flag deaktiviert ist, hat dies einige Nebenwirkungen auf den Bitstream. Dadurch werden bestimmte Bitstream-Funktionen wie die Anzahl der Partitionen (erzwungen auf
1
) erzwungen. Wenn Sie diese Option verwenden, wird ein ausführlicher Bericht zur Bitstreamgröße voncwebp
ausgegeben.
Verlustbehaftete Optionen
Diese Optionen sind nur wirksam, wenn eine verlustbehaftete Codierung erfolgt (Standard, mit oder ohne Alpha).
-size int
- Geben Sie eine Zielgröße (in Byte) für die komprimierte Ausgabe an. Der Kompressor führt mehrere Teile der Teilcodierung durch, um diesem Ziel so nah wie möglich zu kommen. Wenn sowohl
-size
als auch-psnr
verwendet werden, hat der Wert-size
Vorrang. -psnr float
- Geben Sie einen Ziel-PSNR (in dB) an, um die komprimierte Ausgabe zu erreichen.
Der Kompressor führt mehrere Teilcodierungen durch, um diesem Ziel möglichst nah zu kommen. Wenn sowohl
-size
als auch-psnr
verwendet werden, hat der Wert-size
Vorrang. -pass int
- Legen Sie eine maximale Anzahl von Karten/Tickets fest, die während der Diotomie verwendet werden sollen, die von den Optionen
-size
oder-psnr
verwendet wird. Der Höchstwert ist10
, der Standardwert ist1
. Wenn die Optionen-size
oder-psnr
verwendet wurden, aber-pass
nicht angegeben wurde, wird der Standardwert von Karten/Tickets verwendet. -af
- Der automatische Filter wird aktiviert. Dieser Algorithmus benötigt mehr Zeit für die Optimierung der Filterstärke, um eine ausgewogene Qualität zu erreichen.
-jpeg_like
- Ändern Sie die interne Parameterzuordnung, um die erwartete Größe der JPEG-Komprimierung zu erreichen. Dieses Flag erzeugt normalerweise eine Ausgabedatei, deren Größe der des JPEG-Äquivalents entspricht (für dieselbe
-q
-Einstellung), allerdings mit weniger visueller Verzerrung.
Erweiterte Optionen:
-f int
- Geben Sie die Stärke des Deblocking-Filters zwischen
0
(keine Filterung) und100
(maximale Filterung) an. Bei einem Wert von0
werden alle Filter deaktiviert. Ein höherer Wert erhöht die Stärke des Filtervorgangs nach der Decodierung des Bildes. Je höher der Wert ist, desto flüssiger erscheint das Bild. Übliche Werte liegen normalerweise zwischen20
und50
. -sharpness int
- Geben Sie die Schärfe des Filters an, sofern verwendet. Der Bereich liegt zwischen
0
(scharf) und7
(am wenigsten scharf). Der Standardwert ist0
. -strong
- Verwenden Sie starke Filter (wenn die Filterung mithilfe der Option
-f
verwendet wird). Die strikte Filterung ist standardmäßig aktiviert. -nostrong
- Deaktivieren Sie die strikte Filterung (wenn die Filterung dank der Option
-f
verwendet wird), und verwenden Sie stattdessen die einfache Filterung. -sharp_yuv
- Verwenden Sie bei Bedarf eine genauere RGB->YUV-Konvertierung. Beachten Sie, dass dieser Vorgang langsamer als die standardmäßige Konvertierung für RGB- und gt-YUV ist.
-sns int
- Geben Sie die Amplitude der räumlichen Rauschformung an. Die Verwendung einer räumlichen Rauschformung (kurz für sns) bezieht sich auf eine allgemeine Sammlung von integrierten Algorithmen, mit denen entschieden wird, welcher Bildbereich relativ weniger Bits verwenden soll und wo diese Elemente besser übertragen werden sollen. Der mögliche Bereich reicht von
0
(Algorithmus ist deaktiviert) bis100
(maximale Auswirkung). Der Standardwert ist50
. -segments int
- Ändern Sie die Anzahl der Partitionen, die während der Segmentierung des sns-Algorithmus verwendet werden sollen. Segmente müssen zwischen
1
und4
liegen. Der Standardwert ist4
. Diese Option hat keine Auswirkungen auf Methoden 3 und höher, es sei denn,-low_memory
wird verwendet. -partition_limit int
- Verringert die Qualität, indem die Anzahl der von einigen Makroblocks verwendeten Bits begrenzt wird.
Der Bereich ist
0
(keine Beeinträchtigung, Standardeinstellung) bis100
(vollständige Beeinträchtigung). Nützliche Werte liegen bei mittelgroßen Bildern normalerweise um30
bis70
. Im VP8-Format hat die sogenannte Steuerpartition ein Limit von 512.000 und wird zum Speichern der folgenden Informationen verwendet: ob der Makroblock übersprungen wird, zu welchem Segment es gehört, ob es als Intra-4x4- oder Intra-16x16-Modus codiert ist, und schließlich die Vorhersagemodi, die für jeden der Unterblöcke verwendet werden sollen. Bei einem sehr großen Bild bleibt 512.000 Platz für einige Bits pro 16 x 16 Makroblock. Das absolute Minimum beträgt 4 Bit pro Makroblock. Informationen zum Überspringen, Segmentieren und Modus können fast alle diese 4 Bits verbrauchen, obwohl dies unwahrscheinlich ist. Das ist bei sehr großen Bildern problematisch. Der Faktorpartition_limit
bestimmt, wie oft der teuerste Modus (Intra-4x4) verwendet wird. Dies ist nützlich, wenn das Limit von 512.000 erreicht ist und die folgende Meldung angezeigt wird: Fehlercode: 6. (Partition0_OVERFLOW: Partition 0 ist zu groß für 512.000). Wenn die Verwendung von-partition_limit
nicht ausreicht, um die 512.000-Einschränkung zu erfüllen, sollten Sie weniger Segmente verwenden, um mehr Header-Bits pro Makroblock zu sparen. Siehe Option-segments
.
Logging-Optionen
Mit diesen Optionen wird die Ausgabeebene festgelegt:
-v
- Zusätzliche Informationen drucken (insbesondere die Codierungszeit)
-print_psnr
- Die durchschnittliche PSNR berechnen (Verhältnis von Spitzensignal zu Geräusch)
-print_ssim
- Berechnen und melden Sie den durchschnittlichen SSIM (Messwert für die Ähnlichkeit der Struktur, siehe https://en.wikipedia.org/wiki/SSIM für weitere Informationen).
-print_lsim
- Den Messwert „Lokale Ähnlichkeit“ berechnen und melden (Summe des kleinsten Fehlers unter den nebeneinanderliegenden Pixelnachbarn)
-progress
- Bericht zum Codierungsfortschritt in Prozent
-quiet
- Drucken Sie nichts aus.
-short
- Drucken Sie nur kurze Informationen (Ausgabedateigröße und PSNR) zu Testzwecken aus.
-map int
- Zusätzliche ASCII-Zuordnung der Codierungsinformationen ausgeben. Mögliche Kartenwerte reichen von
1
bis6
. Dies dient lediglich der Fehlerbehebung.
Zusätzliche Optionen
Erweiterte Optionen:
-s width height
- Geben Sie an, dass die Eingabedatei tatsächlich aus unbearbeiteten Y&C3Cr-Beispielen gemäß der ITU-R-BT.601-Empfehlung im linearen Format 4:2:0 besteht. Die Luma-Ebene hat die Größe
width
xheight
. -pre int
- Geben Sie einige Schritte zur Vorverarbeitung an. Die Verwendung eines Werts von
2
löst eine qualitätsabhängige Pseudozufalls-Dithering während der RGBA->YUVA-Konvertierung (nur verlustbehaftete Komprimierung) aus. -alpha_filter string
- Geben Sie die Filtermethode für die Vorhersage für die Alphaebene an. Entweder
none
,fast
oderbest
, wobei die Reihenfolge immer komplexer und langsamer wird. Standardwert istfast
. Die Alphafilterung erfolgt intern anhand von vier möglichen Vervollständigungen (keine, horizontal, vertikal, Gradient). Im Modusbest
wird jeder Modus nacheinander ausprobiert und der Modus mit der kleineren Größe wird ausgewählt. Der Modusfast
versucht lediglich, eine Priorisierung zu bilden, ohne alle Modi zu testen. -alpha_method int
- Geben Sie den für die Alphakomprimierung verwendeten Algorithmus an:
0
oder1
. Der Algorithmus0
gibt keine Komprimierung an und1
verwendet das verlustfreie WebP-Format für die Komprimierung. Der Standardwert ist1
. -exact
- RGB-Werte in einem transparenten Bereich beibehalten Die Standardeinstellung ist „Aus“. Dadurch soll die Komprimierung verbessert werden.
-blend_alpha int
- Bei dieser Option wird der Alphakanal (falls vorhanden) mit der Quelle zusammengeführt. Dabei wird die Hintergrundfarbe als Hexadezimalwert als 0xrrggbb verwendet. Der Alphakanal wird anschließend auf den undurchsichtigen Wert
255
zurückgesetzt. -noalpha
- Wenn Sie diese Option verwenden, wird der Alphakanal verworfen.
-hint string
- Geben Sie einen Hinweis zum Eingabebildtyp an. Mögliche Werte sind:
photo
,picture
odergraph
. -metadata string
Eine durch Kommas getrennte Liste der Metadaten, die aus der Eingabe in die Ausgabe kopiert werden sollen, sofern vorhanden. Gültige Werte:
all
,none
,exif
,icc
,xmp
. Die Standardeinstellung istnone
.Beachten Sie, dass nicht jedes Eingabeformat alle Kombinationen unterstützt.
-noasm
Deaktivieren Sie alle Assembly-Optimierungen.
Fehler
Bitte melde alle Programmfehler der Problemverfolgung: https://bugs.chromium.org/p/webp
Patches willkommen! Weitere Informationen finden Sie auf dieser Seite: https://www.webmproject.org/code/contribute/submit-patches/
Beispiele
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
Autoren
cwebp
gehört zu libwebp
und wurde vom WebP-Team verfasst.
Die neueste Quellstruktur ist unter https://chromium.googlesource.com/webm/libwebp/ verfügbar.
Diese manuelle Seite wurde für das Debian-Projekt geschrieben und kann von anderen verwendet werden.