Nome
cwebp
-- Comprimi un file immagine in un file WebP
Trama
cwebp [options] input_file -o output_file.webp
Descrizione
cwebp
comprime un'immagine utilizzando il formato WebP. Il formato di input può essere
PNG, JPEG, TIFF, WebP o campioni Y'CbCr non elaborati.
Nota: i file PNG e WebP animati non sono supportati.
Opzioni
Le opzioni di base sono:
-o string
- Specifica il nome del file WebP di output. Se omesso,
cwebp
eseguirà compressione, ma solo statistiche. Utilizzare "-" poiché il nome dell'output indirizzerà l'output a "stdout". -- string
- Specifica in modo esplicito il file di input. Questa opzione è utile se l'input
inizia con "-" ad esempio. Questa opzione deve essere visualizzata come
last
. Eventuali altre opzioni successive verranno ignorate. -h, -help
- Un breve riepilogo dell'utilizzo.
-H, -longhelp
- Un riepilogo di tutte le opzioni possibili.
-version
- Stampa il numero della versione (come main.minor.revision) ed esci.
-lossless
- Codifica l'immagine senza alcuna perdita. Per le immagini con un'area completamente trasparente,
i valori dei pixel invisibili (R/G/B o Y/U/V) verranno conservati solo se
Viene utilizzata l'opzione
-exact
. -near_lossless int
- Specifica il livello di pre-elaborazione delle immagini quasi senza perdita di dati. Questa opzione regola
pixel per facilitare la comprimibilità, ma ha un impatto minimo sull'elemento
qualità. Attiva automaticamente la modalità di compressione senza perdita di dati.
L'intervallo va da
0
(massima pre-elaborazione) a100
(senza pre-elaborazione, predefinita). Il valore tipico è di circa60
. Tieni presente che in perdita con-q 100
a volte può produrre risultati migliori. -q float
Specifica il fattore di compressione per i canali RGB tra
0
e100
. La Il valore predefinito è75
.In caso di compressione con perdita di dati (impostazione predefinita), un piccolo fattore produce una riduzione con una qualità inferiore. La qualità migliore si ottiene utilizzando il valore
100
.In caso di compressione senza perdita di dati (specificata dall'opzione
-lossless
), viene eseguita una fattore piccolo consente una maggiore velocità di compressione, ma produce un file più grande. La compressione massima si ottiene utilizzando il valore100
.-z int
Attiva la modalità di compressione
lossless
con il livello specificato compreso tra 0 e 9, dove 0 è il livello più veloce, 9 il più lento. Modalità veloce produce file di dimensioni maggiori di quelli più lenti. Un buon valore predefinito è-z 6
. Questa opzione è in realtà una scorciatoia per alcune impostazioni predefinite relative alla qualità e metodo. Se in un secondo momento vengono utilizzate le opzioni-q
o-m
, invalidano l'effetto di questa opzione.-alpha_q int
Specifica il fattore di compressione per la compressione alfa tra
0
e100
. La compressione senza perdita di dati alpha si ottiene utilizzando il valore100
, mentre i valori più bassi generano una compressione con perdita. L'impostazione predefinita è100
.-preset string
Specifica un insieme di parametri predefiniti adatti a un particolare tipo di materiale di origine. I valori possibili sono:
default
,photo
,picture
,drawing
,icon
etext
.Poiché
-preset
sovrascrive gli altri parametri, (tranne-q
) uno), preferibilmente questa opzione dovrebbe apparire per prima nell'ordine argomenti.-m int
Specifica il metodo di compressione da utilizzare. Questo parametro controlla il livello tra la velocità di codifica e le dimensioni e la qualità del file compresso. I valori possibili sono compresi tra
0
e6
. Il valore predefinito è4
. Quando è più alta vengono utilizzati, l'encoder dedicherà più tempo a ispezionare possibilità di codifica e decidere il guadagno di qualità. Un valore più basso può si traduce in tempi di elaborazione più rapidi a scapito di dimensioni file più grandi e una qualità di compressione inferiore.-crop x_position y_position width height
Ritaglia l'origine in modo da ottenere un rettangolo con l'angolo in alto a sinistra in corrispondenza delle coordinate (
x_position
,y_position
) e dimensioniwidth
xheight
. Questo ritaglio deve essere contenuta completamente all'interno del rettangolo di origine. Nota: il ritaglio viene applicata prima di qualsiasi scala.-resize width height
Ridimensiona l'origine a un rettangolo di dimensioni
width
xheight
. Se (ma non entrambi) dei parametri di larghezza o altezza è0
, il valore sarà calcolato mantenendo le proporzioni. Nota: la scalabilità viene applicata dopo ritagliato.-mt
Se possibile, utilizza il multi-threading per la codifica.
-low_memory
Riduci l'utilizzo della memoria della codifica con perdita di dati consentendo un risparmio di quattro volte dimensioni (in genere). In questo modo la codifica è più lenta e l'output leggermente diverse per dimensioni e distorsione. Questo flag è valido solo per metodi 3 e successivi ed è disattivata per impostazione predefinita. Tieni presente che se lasci questa segnalazione disattivata avrà alcuni effetti collaterali sul bitstream: forza alcuni flussi di bit come il numero di partizioni (forzato a
1
). Tieni presente che il report dettagliato sulle dimensioni dei bitstream viene stampato dacwebp
quando si utilizza .
Opzioni di perdita
Queste opzioni sono efficaci solo se si esegue la codifica con perdita di dati (impostazione predefinita, o senza alpha).
-size int
- Specifica una dimensione target (in byte) per cercare di raggiungere i file compressi
come output. Il compressore effettua diversi passaggi della codifica parziale
per avvicinarci il più possibile a questo obiettivo. Se
-size
e Vengono utilizzati-psnr
, prevarrà il valore-size
. -psnr float
- Specifica un PSNR (in dB) target da raggiungere per l'output compresso.
Il compressore effettua diversi passaggi della codifica parziale per ottenere
il più vicino possibile a questo target. Se vengono utilizzati sia
-size
sia-psnr
, Prevarrà il valore-size
. -pass int
- Imposta un numero massimo di tessere da usare durante la dicotomia utilizzata dalle opzioni
-size
o-psnr
. Il valore massimo è10
, il valore predefinito è1
. Se le opzioni Sono stati utilizzati-size
o-psnr
, ma-pass
non è stato specificato, un valore predefinito di "6" delle tessere. Se viene specificato-pass
, ma né-size
né-psnr
sono, verrà utilizzato un PSNR target di 40 dB. -af
- Attiva il filtro automatico. Questo algoritmo dedica più tempo all'ottimizzazione la forza di filtro per raggiungere una qualità ben bilanciata.
-jpeg_like
- Modifica la mappatura dei parametri interni in modo che corrisponda meglio alla dimensione prevista del
Compressione JPEG. Questo flag generalmente produce un file di output
di dimensioni simili all'equivalente JPEG (per la stessa impostazione
-q
), ma con meno distorsione visiva.
Opzioni avanzate:
-f int
- Specifica l'intensità del filtro di blocco tra
0
(nessun filtro) e100
(filtro massimo). Il valore0
disattiva qualsiasi filtro. Un valore più alto aumenterà l'efficacia del processo di filtro applicato dopo aver decodificato l'immagine. Maggiore è il valore, più fluida sarà l'immagine . I valori tipici sono generalmente compresi tra20
e50
. -sharpness int
- Specifica la nitidezza del filtro (se utilizzato). L'intervallo è
0
(più nitido) a7
(meno diesis). Il valore predefinito è0
. -strong
- Usa un filtro efficace (se il filtro viene utilizzato grazie alla
-f
). Il filtro avanzato è attivo per impostazione predefinita. -nostrong
- Disattivare i filtri efficaci (se il filtro viene utilizzato grazie al
-f
) e usa un filtro semplice. -sharp_yuv
- Se necessario, utilizza una conversione RGB->YUV più precisa e nitida. Tieni presente che è più lento rispetto al metodo "rapido" predefinito Conversione RGB->YUV.
-sns int
- Specifica l'ampiezza del formato del rumore spaziale. Forma del rumore spaziale
(o sns in breve) si riferisce a una raccolta generale di algoritmi integrati
utilizzata per decidere quale area dell'immagine deve utilizzare un numero relativamente minore di bit,
e in quali altri luoghi
trasferire meglio questi bit. L'intervallo possibile va da
Da
0
(algoritmo disattivato) a100
(effetto massimo). Il valore predefinito è50
. -segments int
- Modifica il numero di partizioni da utilizzare durante la segmentazione del traffico
dell'algoritmo. I segmenti devono essere compresi nell'intervallo
1
-4
. Il valore predefinito è4
. Questa opzione non ha effetto per i metodi 3 e successivi, a meno che-low_memory
non sia in uso. -partition_limit int
- Degrada la qualità limitando il numero di bit utilizzati da alcuni macroblocchi.
L'intervallo è da
0
(nessun degrado, il valore predefinito) a100
(degradazione completa). I valori utili sono in genere intorno a30
-70
per immagini di dimensioni moderatamente grandi. Nella il formato VP8, la cosiddetta partizione di controllo ha un limite di 512k ed è utilizzata per archiviare le seguenti informazioni: se il macroblocco è saltato, a quale segmento appartiene, se codificato come intra 4x4 o modalità 16x16 e infine le modalità di previsione da utilizzare per ciascuna blocchi secondari. Per un'immagine molto grande, 512k lascia spazio a pochi bit al Macroblocco 16 x 16. Il minimo assoluto è di 4 bit per macroblocco. Salta, di testo e le informazioni di modalità possono utilizzare quasi tutti questi 4 bit (sebbene questo caso è improbabile), il che costituisce un problema per le immagini molto grandi. La Il fattorepartition_limit
controlla la frequenza con cui la modalità più costosa (4x4 intra). Ciò è utile nel caso in cui venga raggiunto il limite di 512.000 e viene visualizzato il seguente messaggio: Codice di errore: 6 (PARTITION0_OVERFLOW: la partizione 0 è troppo grande per adattarsi a 512k). Se utilizzi-partition_limit
non è sufficiente per soddisfare il vincolo di 512.000, dovrebbe essere usare meno segmenti al fine di risparmiare più bit di intestazione per macroblocco. Consulta l'opzione-segments
. Tieni presente che le opzioni-m
e-q
influiscono anche sul le decisioni del codificatore e la capacità di raggiungere questo limite.
Opzioni di logging
Queste opzioni controllano il livello di output:
-v
- Stampa di informazioni aggiuntive (in particolare il tempo di codifica).
-print_psnr
- Calcola e segnala il valore PSNR (rapporto picco-segnale-rumore).
-print_ssim
- Calcola e segnala l'SIM media (metrica di somiglianza strutturale), vedi https://en.wikipedia.org/wiki/SSIM per ulteriori dettagli).
-print_lsim
- Calcola e segnala la metrica di somiglianza locale (somma degli errori più bassi tra i pixel vicini).
-progress
- Segnala l'avanzamento della codifica in percentuale.
-quiet
- Non stampare nulla.
-short
- Stampa solo informazioni brevi (dimensioni del file di output e PSNR) per il test scopi.
-map int
- Genera una mappa ASCII aggiuntiva delle informazioni di codifica. Possibili valori di mappa
l'intervallo è compreso tra
1
e6
. Ha il solo scopo di aiutare a eseguire il debug.
Opzioni aggiuntive
Le opzioni più avanzate sono:
-s width height
- Specifica che il file di input è effettivamente composto da campioni Y'CbCr non elaborati
seguendo la raccomandazione ITU-R BT.601, in formato lineare 4:2:0. La
le dimensioni del piano luminario sono
width
xheight
. -pre int
- Specifica alcune fasi di pre-elaborazione. L'utilizzo del valore
2
attiverà dithering pseudo-casuale dipendente dalla qualità durante la conversione RGBA->YUVA (solo compressione con perdita di dati). -alpha_filter string
- Specifica il metodo di filtro predittivo per il piano alfa. Uno di
none
,fast
obest
, in ordine crescente di complessità e lentezza. Il valore predefinito èfast
. Internamente, il filtro alpha viene eseguito utilizzando quattro previsioni possibili (nessuna, orizzontale, verticale, gradiente).best
prova ogni modalità una volta alla volta e scegli quella che offre la minore dimensioni. La modalitàfast
cercherà solo di formulare un'ipotesi a priori senza testare tutte le modalità. -alpha_method int
- Specifica l'algoritmo utilizzato per la compressione alfa:
0
o1
. Algoritmo0
indica nessuna compressione,1
utilizza il formato senza perdita di dati WebP per la compressione. Il valore predefinito è1
. -exact
- Conserva i valori RGB in un'area trasparente. L'impostazione predefinita è disattivata, per comprimibilità.
-blend_alpha int
- Questa opzione unisce il canale alfa (se presente) alla fonte utilizzando
il colore di sfondo specificato in esadecimale come 0xrrggbb. Alfa
del canale viene successivamente reimpostato sul valore opaco
255
. -noalpha
- Se utilizzi questa opzione, il canale alfa verrà eliminato.
-hint string
- Specifica il suggerimento per il tipo di immagine di input. I valori possibili sono:
photo
,picture
ograph
. -metadata string
Un elenco separato da virgole di metadati da copiare dall'input all'output se presenti. Valori validi:
all
,none
,exif
,icc
,xmp
. L'impostazione predefinita ènone
.Tieni presente che ogni formato di input potrebbe non supportare tutte le combinazioni.
-noasm
Disattiva tutte le ottimizzazioni degli assiemi.
Bug
Segnala tutti i bug tramite Issue Tracker: https://issues.webmproject.org
Le patch sono ben accette! Per iniziare, visita questa pagina: https://www.webmproject.org/code/contribute/submitting-patches/
Esempi
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
Autori
cwebp
fa parte di libwebp
ed è stato scritto dal team WebP.
La struttura di origine più recente è disponibile all'indirizzo
https://chromium.googlesource.com/webm/libwebp/
Questa pagina manuale è stata scritta per il progetto Debian (e può essere utilizzata da altri).