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. Mögliche Eingabeformate:
PNG-, JPEG-, TIFF-, WebP- oder Y'CbCr-Rohdaten.
Hinweis: Animierte PNG- und WebP-Dateien werden nicht unterstützt.
Optionen
Die grundlegenden Optionen sind:
-o string
- Geben Sie den Namen der Ausgabe-WebP-Datei an. Wenn keine Angabe gemacht wird, führt
cwebp
aus Komprimierung, aber es werden nur Statistiken gemeldet. „-“ verwenden da der Ausgabename die Ausgabe an „stdout“ weiterleitet. -- string
- Geben Sie die Eingabedatei explizit an. Diese Option ist nützlich, wenn die Eingabedatei beispielsweise mit einem Bindestrich beginnt. Diese Option muss
last
erscheinen. Alle anderen Optionen werden ignoriert. -h, -help
- Eine kurze Zusammenfassung der Nutzung.
-H, -longhelp
- Zusammenfassung aller möglichen Optionen
-version
- Drucken Sie die Versionsnummer als „major.minor.revision“ aus und beenden Sie den Vorgang.
-lossless
- Codieren Sie das Bild ohne Verlust. Bei Bildern mit vollständig transparenten Bereichen werden die unsichtbaren Pixelwerte (R/G/B oder Y/U/V) nur bei Verwendung der Option
-exact
beibehalten. -near_lossless int
- Geben Sie den Grad der nahezu verlustfreien Bildvorverarbeitung an. Bei dieser Option werden Pixelwerte angepasst, um die Komprimierbarkeit zu verbessern. Die visuelle Qualität wird dadurch nur minimal beeinträchtigt. Der verlustfreie Komprimierungsmodus wird automatisch ausgelöst.
Der Bereich reicht von
0
(maximale Vorverarbeitung) bis100
(keine Vorverarbeitung, Standard). Der typische Wert liegt bei etwa60
. Hinweis: Mit der Option „verlustbehaftet“ und-q 100
lassen sich manchmal bessere Ergebnisse erzielen. -q float
Gib den Komprimierungsfaktor für RGB-Kanäle zwischen
0
und100
an. Die Standardeinstellung ist75
.Bei einer verlustbehafteten Komprimierung (Standardeinstellung) erzeugt ein geringer Faktor mit geringerer Qualität. Die beste Qualität wird mit dem Wert
100
erreicht.Bei einer verlustfreien Komprimierung (durch die Option
-lossless
angegeben) wird ein Der kleine Faktor ermöglicht eine höhere Komprimierungsgeschwindigkeit, erzeugt aber eine größere Datei. Die maximale Komprimierung wird mit einem Wert von100
erreicht.-z int
Aktivieren Sie den
lossless
-Komprimierungsmodus mit der angegebenen Stufe zwischen 0 und 9. Stufe 0 ist die schnellste, Stufe 9 die langsamste. Im Schnellmodus ist die Dateigröße größer als bei langsameren Modi. Ein guter Standardwert ist-z 6
. Diese Option ist ein Kurzbefehl für einige vordefinierte Qualitätseinstellungen und Methode. Wenn die Optionen-q
oder-m
später verwendet werden, gilt Folgendes: die Wirkung dieser Option ungültig machen.-alpha_q int
Komprimierungsfaktor für Alpha-Komprimierung zwischen
0
und100
. Die verlustfreie Komprimierung von Alpha wird mit dem Wert100
, während die niedrigeren Werte zu einer verlustbehafteten Komprimierung führen. Der Standardwert ist100
.-preset string
Geben Sie einen Satz vordefinierter Parameter an, die auf einen bestimmten Typ von und Quellmaterial. Mögliche Werte sind:
default
,photo
,picture
,drawing
,icon
,text
.Da
-preset
die anderen Parameter überschreibt, (außer den-q
-Werten) angezeigt wird, sollte diese Option vorzugsweise an erster Stelle in der Reihenfolge Argumente.-m int
Geben Sie die zu verwendende Komprimierungsmethode an. Mit diesem Parameter wird der Kompromiss zwischen der Codierungsgeschwindigkeit und der Größe und Qualität der komprimierten Datei gesteuert. Mögliche Werte reichen von
0
bis6
. Der Standardwert ist4
. Bei höheren Werten prüft der Encoder mehr Zeit für zusätzliche Codierungsoptionen und entscheidet sich für den Qualitätsgewinn. Ein niedrigerer Wert kann schnellere Verarbeitungszeiten zulasten einer größeren Dateigröße und niedrigere Komprimierungsqualität.-crop x_position y_position width height
Zuschneiden Sie die Quelle auf ein Rechteck mit der oberen linken Ecke bei den Koordinaten (
x_position
,y_position
) und der Größewidth
×height
. Dieser Zuschnitt -Bereich muss vollständig im Quellrechteck enthalten sein. Hinweis: Das Zuschneiden wird vor der Skalierung angewendet.-resize width height
Ändern Sie die Größe der Quelle in ein Rechteck mit der Größe
width
xheight
. Wenn einer der Parameter „Breite“ oder „Höhe“0
ist (aber nicht beide), wird der Wert unter Beibehaltung des Seitenverhältnisses berechnet. Hinweis: Die Skalierung wird nach dem Zuschneiden angewendet.-mt
Verwenden Sie nach Möglichkeit Multithreading für die Codierung.
-low_memory
Reduzieren Sie die Arbeitsspeichernutzung bei der verlustbehafteten Codierung, indem Sie in der Regel viermal die komprimierte Größe speichern. Dadurch wird die Codierung langsamer und die Ausgabe unterscheidet sich geringfügig in Größe und Verzerrung. Dieses Flag gilt nur für und höher und ist standardmäßig deaktiviert. Hinweis: Wenn Sie dieses Flag deaktiviert lassen, hat einige Nebenwirkungen auf den Bitstream: Er erzwingt Funktionen wie die Anzahl der Partitionen (erzwungen auf
1
). Beachten Sie, dass ein wird der detaillierte Bericht zur Bitstream-Größe voncwebp
gedruckt, wenn Option.
Verlustbehaftete Optionen
Diese Optionen sind nur bei einer verlustbehafteten Codierung wirksam (Standardeinstellung, mit oder ohne Alphakanal).
-size int
- Geben Sie eine Zielgröße (in Byte) für die komprimierte Ausgabe an. Der Kompressor führt mehrere Durchläufe der teilweisen Codierung durch, um diesem Ziel so nahe 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-Wert (in dB) an, um nach der komprimierten Ausgabe zu greifen.
Der Kompressor führt mehrere Durchläufe der teilweisen Codierung durch, um diesem Ziel so nahe wie möglich zu kommen. Wenn sowohl
-size
als auch-psnr
verwendet werden, hat der Wert-size
Vorrang. -pass int
- Legen Sie die maximale Anzahl von Karten/Tickets fest, die während des von Optionen verwendeten Gegenübers verwendet werden sollen
-size
oder-psnr
. Der Maximalwert ist10
, der Standardwert ist1
. Wenn-Optionen-size
oder-psnr
wurden verwendet, aber-pass
wurde nicht als Standardwert angegeben von „6“ Karten/Tickets verwendet werden. Wenn-pass
angegeben ist, aber weder-size
noch-psnr
festgelegt ist, wird ein Ziel-PSNR-Wert von 40 dB verwendet. -af
- Aktivieren Sie den automatischen Filter. Durch diesen Algorithmus wird mehr Zeit für die Optimierung benötigt. um eine ausgewogene Qualität zu erreichen.
-jpeg_like
- Ändern Sie die interne Parameterzuordnung, damit sie besser an die erwartete Größe von
JPEG-Komprimierung. Dieses Flag erzeugt im Allgemeinen eine Ausgabedatei mit
eine ähnliche Größe wie die JPEG-Entsprechung (für dieselbe
-q
-Einstellung), aber mit weniger visuelle Verzerrungen.
Erweiterte Optionen:
-f int
- Legen Sie die Stärke des Entblockierungsfilters zwischen
0
(keine Filterung) und100
(maximale Filterung) fest. Der Wert0
deaktiviert alle Filter. Ein höherer Wert erhöht die Intensität des angewendeten Filtervorgangs nach der Bildentschlüsselung. Je höher der Wert, desto flüssiger wird das Bild. Typische Werte liegen in der Regel zwischen20
und50
. -sharpness int
- Scharfe der Filterung festlegen (falls verwendet). Bereich:
0
(scharfste) bis7
(am stärksten). Der Standardwert ist0
. -strong
- Verwenden Sie starken Filter (bei Verwendung des Filters
-f
Option). Die strenge Filterung ist standardmäßig aktiviert. -nostrong
- Deaktivieren Sie die strenge Filterung (falls die Filterung dank der Option
-f
verwendet wird) und verwenden Sie stattdessen die einfache Filterung. -sharp_yuv
- Verwenden Sie eine genauere und schärfere Umwandlung von RGB in YUV. Beachten Sie, dass dieser Prozess langsamer als der Standardwert "schnell" Umwandlung von RGB zu YUV.
-sns int
- Geben Sie die Amplitude der räumlichen Rauschformung an. Die räumliche Rauschformung (Spatial Noise Shaping, kurz SNS) bezieht sich auf eine allgemeine Sammlung von integrierten Algorithmen, mit denen entschieden wird, in welchem Bereich des Bilds relativ weniger Bits verwendet werden sollten und wo diese Bits besser übertragen werden können. Der mögliche Bereich reicht von
0
(der Algorithmus ist deaktiviert) bis100
(die maximale Wirkung). Der Standardwert ist50
. -segments int
- Anzahl der Partitionen ändern, die während der Segmentierung der Sns verwendet werden sollen
Algorithmus. Segmente sollten zwischen
1
und4
liegen. Der Standardwert ist4
. Diese Option hat für Methoden 3 und höher keine Auswirkungen, es sei denn,-low_memory
wird verwendet. -partition_limit int
- Die Qualität wird durch Begrenzung der Anzahl der Bits, die von einigen Makroblöcken verwendet werden, verschlechtert.
Der Bereich liegt zwischen
0
(keine Herabstufung, die Standardeinstellung) und100
(vollständige Verschlechterung). Für mittelgroße Bilder sind in der Regel Werte um30
–70
geeignet. In VP8-Format hat, hat die sogenannte Kontrollpartition ein Limit von 512.000 wird verwendet, um folgende Informationen zu speichern: Ob der Makroblock welches Segment es gehört, ob als Intra 4x4 codiert oder und schließlich die Vorhersagemodi, die für jeden der untergeordneten Blöcken. Bei einem sehr großen Bild bleiben bei 512 kB nur wenige Bits pro 16 x 16-Makroblock übrig. Das absolute Minimum sind 4 Bit pro Makroblock. Überspringen, Segment- und Modusinformationen fast alle diese 4 Bits verbrauchen (obwohl der Fall unwahrscheinlich), was bei sehr großen Bildern problematisch ist. Die Derpartition_limit
-Faktor steuert, wie häufig der kostengünstigste Modus (Intra 4 x 4) wird verwendet. Dies ist nützlich, wenn das Limit von 512 KiB erreicht wird und die folgende Meldung angezeigt wird: Fehlercode 6 (PARTITION0_OVERFLOW: Partition 0 ist zu groß für 512 KiB). Bei Verwendung-partition_limit
reicht nicht aus, um die Beschränkung von 512.000 zu erfüllen. Verwenden Sie weniger Segmente, um mehr Header-Bits pro Makroblock einzusparen. Weitere Informationen finden Sie unter-segments
. Die Optionen-m
und-q
wirken sich auch auf die Entscheidungen des Encoders und seine Fähigkeit aus, dieses Limit zu erreichen.
Logging-Optionen
Mit diesen Optionen wird die Ausgabeebene festgelegt:
-v
- Zusätzliche Informationen drucken (insbesondere Codierungszeit)
-print_psnr
- Berechnen Sie den durchschnittlichen PSNR-Wert (Spitzen-Signal-Rausch-Verhältnis) und melden Sie ihn.
-print_ssim
- Berechnen und melden Sie den durchschnittlichen SSIM-Wert (Structural Similarity Metric, siehe https://de.wikipedia.org/wiki/SSIM für weitere Informationen).
-print_lsim
- Lokale Ähnlichkeit (Summe des niedrigsten Fehlers der einzelnen) berechnen und melden der am selben Ort befindlichen Pixel-Nachbarn).
-progress
- Der Codierungsfortschritt wird in Prozent gemeldet.
-quiet
- Drucken Sie nichts.
-short
- Nur kurze Informationen (Größe der Ausgabedatei und PSNR) für Testzwecke ausdrucken.
-map int
- Zusätzliche ASCII-Zuordnungstabelle für Codierungsinformationen ausgeben. Mögliche Zuordnungswerte reichen von
1
bis6
. Dies dient nur der Fehlerbehebung.
Zusätzliche Optionen
Weitere erweiterte Optionen:
-s width height
- Geben Sie an, dass die Eingabedatei tatsächlich aus Y'CbCr-Rohbeispielen besteht
gemäß der ITU-R-Empfehlung BT.601 im linearen Format 4:2:0. Die Luminanzebene hat die Größe
width
×height
. -pre int
- Geben Sie einige Schritte für die Vorverarbeitung an. Wenn Sie den Wert
2
verwenden, wird qualitätsabhängiges Pseudozufallsdithering bei RGBA->YUVA-Konvertierung (nur bei verlustfreier Komprimierung). -alpha_filter string
- Geben Sie die prädiktive Filtermethode für die Alphaebene an. Eine der Optionen
none
,fast
oderbest
, in steigender Komplexität und Langsamkeit. Standardwert istfast
. Intern wird die Alphafilterung mit vier möglichen Vorhersagen durchgeführt (keine, horizontal, vertikal, Farbverlauf). Im Modusbest
wird jeder Modus nacheinander ausprobiert und derjenige ausgewählt, der die kleinste Größe ergibt. Im Modusfast
wird nur versucht, eine A-priori-Wahrscheinlichkeit zu formulieren, ohne Test aller Modi. -alpha_method int
- Geben Sie den Algorithmus für die Alpha-Komprimierung an:
0
oder1
. „Algorithmus“0
steht für keine Komprimierung,1
für die verlustfreie Komprimierung mit WebP. Der Standardwert ist1
. -exact
- RGB-Werte im transparenten Bereich beibehalten. Die Funktion ist standardmäßig deaktiviert, Kompressibilität.
-blend_alpha int
- Bei dieser Option wird der Alphakanal (falls vorhanden) mithilfe von
die hexadezimal angegebene Hintergrundfarbe als 0xrrggbb. Die Alphaversion
Der Kanal wird anschließend auf den opaken Wert
255
zurückgesetzt. -noalpha
- Mit dieser Option wird der Alphakanal verworfen.
-hint string
- Geben Sie den Hinweis zum Eingabebildtyp an. Mögliche Werte sind
photo
,picture
odergraph
. -metadata string
Eine durch Kommas getrennte Liste von Metadaten, die aus der Eingabe in die Ausgabe kopiert werden, wenn vorhanden ist. Zulässige Werte:
all
,none
,exif
,icc
,xmp
. Die Standardeinstellung istnone
.Beachten Sie, dass nicht alle Eingabeformate alle Kombinationen unterstützen.
-noasm
Deaktivieren Sie alle Assembler-Optimierungen.
Fehler
Bitte melden Sie alle Fehler im Issue Tracker: https://issues.webmproject.org
Patches willkommen! Informationen zum Einstieg finden Sie auf dieser Seite: https://www.webmproject.org/code/contribute/submitting-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.
Der aktuelle Quellbaum ist unter https://chromium.googlesource.com/webm/libwebp/ verfügbar.
Diese manuelle Seite wurde für das Debian-Projekt geschrieben (und kann von andere).