CWebP

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) bis 100 (keine Vorverarbeitung, Standardeinstellung). Der typische Wert liegt bei 60. 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 und 100 an. Die Standardeinstellung ist 75.

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 von 100 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 und 100 an. Eine verlustfreie Komprimierung von Alpha wird mit einem Wert von 100 erreicht, während niedrigere Werte zu einer verlustbehafteten Komprimierung führen. Der Standardwert ist 100.

-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 bis 6. Der Standardwert ist 4. 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öße width x height 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 x height. 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 von cwebp 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 ist 10, der Standardwert ist 1. 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) und 100 (maximale Filterung) an. Bei einem Wert von 0 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 zwischen 20 und 50.
-sharpness int
Geben Sie die Schärfe des Filters an, sofern verwendet. Der Bereich liegt zwischen 0 (scharf) und 7 (am wenigsten scharf). Der Standardwert ist 0.
-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) bis 100 (maximale Auswirkung). Der Standardwert ist 50.
-segments int
Ändern Sie die Anzahl der Partitionen, die während der Segmentierung des sns-Algorithmus verwendet werden sollen. Segmente müssen zwischen 1 und 4 liegen. Der Standardwert ist 4. 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) bis 100 (vollständige Beeinträchtigung). Nützliche Werte liegen bei mittelgroßen Bildern normalerweise um 30 bis 70. 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 Faktor partition_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 bis 6. 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 x height.
-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 oder best, wobei die Reihenfolge immer komplexer und langsamer wird. Standardwert ist fast. Die Alphafilterung erfolgt intern anhand von vier möglichen Vervollständigungen (keine, horizontal, vertikal, Gradient). Im Modus best wird jeder Modus nacheinander ausprobiert und der Modus mit der kleineren Größe wird ausgewählt. Der Modus fast 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 oder 1. Der Algorithmus 0 gibt keine Komprimierung an und 1 verwendet das verlustfreie WebP-Format für die Komprimierung. Der Standardwert ist 1.
-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 oder graph.
-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 ist none.

Beachten Sie, dass nicht jedes Eingabeformat alle Kombinationen unterstützt.

-noasm

Deaktivieren Sie alle Assembly-Optimierungen.

Fehler

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.