Name
cwebp
: Bilddatei zu einer 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 WebP-Ausgabedatei 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 Eingabe
Die Datei beginnt mit einem Bindestrich (-) zur Verfügung stellen. Diese Option muss
last
erscheinen. 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 „major.minor.revision“ aus und beenden Sie den Vorgang.
-lossless
- Codieren Sie das Bild ohne Verlust. Bei Bildern mit vollständig transparentem Bereich
Die unsichtbaren Pixelwerte (R/G/B oder Y/U/V) werden nur beibehalten, wenn die
Die Option
-exact
wird verwendet. -near_lossless int
- Geben Sie den Grad der nahezu verlustfreien Bildvorverarbeitung an. Mit dieser Option werden
Pixelwerte, um die Komprimierbarkeit zu verbessern, hat aber nur minimale Auswirkungen auf das visuelle
die Qualität zu verbessern. Dadurch wird automatisch der verlustfreie Komprimierungsmodus ausgelöst.
Der Bereich ist
0
(maximale Vorverarbeitung) bis100
(keine Vorverarbeitung, der Standard). Der typische Wert liegt bei etwa60
. Beachten Sie, dass bei-q 100
verlustbehaftet zu besseren Ergebnissen führen. -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 erzielt, wenn ein Wert von
100
Bei einer verlustfreien Komprimierung (durch die Option
-lossless
angegeben) wird ein Der kleine Faktor ermöglicht eine höhere Komprimierungsgeschwindigkeit, erzeugt jedoch eine größere Datei. Die maximale Komprimierung wird mit dem Wert100
erreicht.-z int
Komprimierungsmodus für
lossless
mit der angegebenen Stufe zwischen 0 aktivieren und 9, wobei Stufe 0 die schnellste und 9 die langsamste ist. Schnellmodus größer als langsamere Dateien. 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 Handel gesteuert, zwischen der Codierungsgeschwindigkeit und der Größe und Qualität der komprimierten Datei. Mögliche Werte reichen von
0
bis6
. Der Standardwert ist4
. Wenn höher verwendet wird, benötigt der Encoder mehr Zeit, um zusätzliche und entscheiden dann über 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
Quelle auf ein Rechteck mit der oberen linken Ecke an den Koordinaten zuschneiden (
x_position
,y_position
) und Größewidth
xheight
. 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 entweder (aber nicht beide) des Parameters für Breite oder Höhe0
ist, wird der Wert unter Beibehaltung des Seitenverhältnisses berechnet. Hinweis: Die Skalierung wird nach angewendet. zuschneiden.-mt
Verwenden Sie nach Möglichkeit Multithreading für die Codierung.
-low_memory
Arbeitsspeichernutzung durch verlustbehaftete Codierung reduzieren, indem Sie das Vierfache der komprimierten Codierung sparen in der Regel die Größe. Dadurch verlangsamt sich die Codierung und die Ausgabe etwas unterschiedlich in Größe und Verzerrung. Dieses Flag gilt nur für ab Methoden 3 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 Der detaillierte Bericht zur Bitstreamgröße wird voncwebp
gedruckt, wenn Option.
Verlustbehaftete Optionen
Diese Optionen sind nur wirksam, wenn eine verlustbehaftete Codierung (Standardeinstellung, mit oder ohne Alpha).
-size int
- Geben Sie eine Zielgröße (in Byte) an, um nach der komprimierten Datei zu greifen
. Die Komprimierungssoftware führt mehrere Durchgänge der partiellen Codierung in
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-Wert (in dB) an, um nach der komprimierten Ausgabe zu greifen.
Die Komprimierungssoftware führt mehrere Durchgänge der teilweisen Codierung durch, um
möglichst nah am Ziel. Wenn sowohl
-size
als auch-psnr
verwendet werden, Der Wert von „-size
“ hat 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 Höchstwert 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
- Aktiviert die automatische Filterung. Durch diesen Algorithmus wird mehr Zeit für die Optimierung 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
- Gib die Stärke des Deblocking-Filters an. Dieser kann zwischen
0
liegen (keine Filterung). und100
(maximale Filterung). 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 das Bild angezeigt. Typische Werte liegen normalerweise im Bereich von20
bis50
. -sharpness int
- Geben Sie die Schärfe der Filterung an (falls verwendet). Bereich:
0
(scharfste) bis7
(am stärksten). Der Standardwert ist0
. -strong
- Verwenden Sie starken Filter (bei Verwendung des Filters
-f
Option). Die strikte Filterung ist standardmäßig aktiviert. -nostrong
- Starke Filterung deaktivieren (wenn Filterung aufgrund der
-f
und verwenden Sie stattdessen einfache Filter. -sharp_yuv
- Verwende bei Bedarf eine genauere und schärfere RGB->YUV-Umwandlung. Beachten Sie, dass dies langsamer als der Standardwert "schnell" Umwandlung von RGB zu YUV.
-sns int
- Geben Sie die Amplitude der räumlichen Rauschformung an. Anpassung der räumlichen Rauschform
(kurz sns) bezieht sich auf eine allgemeine Sammlung integrierter Algorithmen.
welcher Bildbereich relativ wenige Bits,
und wo man diese Informationen
besser übertragen kann. 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 keine Auswirkungen auf Methoden 3 und höher, es sei denn,-low_memory
ist -partition_limit int
- Vermindern Sie die Qualität, indem Sie die Anzahl der von einigen Makroblöcken verwendeten Bits begrenzen.
Der Bereich liegt zwischen
0
(keine Verschlechterung, die Standardeinstellung) und100
(vollständige Verschlechterung). Nützliche Werte liegen bei mittelgroßen Bildern in der Regel zwischen30
und70
. 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 lässt 512k nur Platz für einige Bits pro 16x16-Makroblock. Das absolute Minimum beträgt 4 Bits 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.000 erreicht wird. und die folgende Meldung wird angezeigt: Fehlercode: 6 (PARTITION0_OVERFLOW: Partition #0 ist zu groß für 512k). 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 die Option-segments
. Die Optionen-m
und-q
wirken sich auch auf die die Entscheidungen des Encoders und die Fähigkeit, dieses Limit zu erreichen.
Logging-Optionen
Mit diesen Optionen wird die Ausgabeebene festgelegt:
-v
- Zusätzliche Informationen drucken (z. B. die Codierungszeit)
-print_psnr
- Berechnen Sie den durchschnittlichen PSNR-Wert (Spitzen-Signal-zu-Rausch-Verhältnis) und melden Sie ihn.
-print_ssim
- Die durchschnittliche SSIM berechnen und Berichte erstellen (Messwert zur strukturellen Ähnlichkeit, siehe https://en.wikipedia.org/wiki/SSIM.
-print_lsim
- Lokale Ähnlichkeit (Summe des niedrigsten Fehlers aller Beteiligten) 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 (Ausgabedateigröße und PSNR) zu Testzwecken drucken zu erfüllen.
-map int
- Gibt eine zusätzliche ASCII-Zuordnung der Codierungsinformationen aus. Mögliche Zuordnungswerte
liegen zwischen
1
und6
. Dies soll nur bei der Fehlerbehebung helfen.
Zusätzliche Optionen
Erweiterte Optionen sind:
-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
Die Luma-Ebene hat die Größe
width
xheight
. -pre int
- Geben Sie einige Schritte zur 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 von
none
,fast
oderbest
, in zunehmender Komplexität und langsamer Reihenfolge. Standardwert istfast
. Intern erfolgt die Alphafilterung mithilfe von vier mögliche Vorhersagen (keine, horizontal, vertikal, Farbverlauf). Dasbest
testet die einzelnen Modi nacheinander und wählt denjenigen aus, der den kleineren, Größe. 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
. Algorithmus0
gibt an, dass keine Komprimierung erfolgt,1
verwendet das verlustfreie WebP-Format für die Komprimierung. 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. Gültige Werte:
all
,none
,exif
,icc
,xmp
. Die Standardeinstellung istnone
.Beachten Sie, dass nicht alle Eingabeformate alle Kombinationen unterstützen.
-noasm
Deaktivieren Sie alle Assembly-Optimierungen.
Fehler
Bitte melden Sie alle Programmfehler 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 geschrieben.
Die aktuelle Quellstruktur ist verfügbar unter
https://chromium.googlesource.com/webm/libwebp/
Diese manuelle Seite wurde für das Debian-Projekt geschrieben (und kann von andere).