cwebp

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. Se utilizzi "-" come nome dell'output, l'output verrà indirizzato 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 di versione (come major.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 preelaborazione 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 (pre-elaborazione massima) a 100 (nessuna pre-elaborazione, valore predefinito). Il valore tipico è di circa 60. 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 compreso tra 0 e 100. 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), un coefficiente ridotto consente una maggiore velocità di compressione, ma produce un file più grande. La compressione massima si ottiene utilizzando il valore 100.

-z int

Attiva la modalità di compressione lossless con il livello specificato compreso tra 0 e 9, dove 0 è il livello più veloce e 9 il più lento. La modalità rapida produce file di dimensioni maggiori rispetto a quelle più lente. Un buon valore predefinito è -z 6. Questa opzione è in realtà una scorciatoia per alcune impostazioni predefinite per la qualità e il metodo. Se in un secondo momento vengono utilizzate le opzioni -q o -m, l'effetto di questa opzione verrà annullato.

-alpha_q int

Specifica il fattore di compressione per la compressione alpha compreso tra 0 e 100. La compressione senza perdita di dati di alpha viene ottenuta utilizzando un valore di 100, mentre i valori più bassi comportano una compressione con perdita di dati. L'impostazione predefinita è 100.

-preset string

Specifica un insieme di parametri predefiniti in base a un determinato tipo di materiale di origine. I valori possibili sono: default, photo, picture, drawing, icon e text.

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 vanno da 0 a 6. 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 inferiore può contribuire a ridurre i tempi di elaborazione a scapito delle dimensioni dei file e della qualità della compressione.

-crop x_position y_position width height

Ritaglia l'origine in un rettangolo con angolo in alto a sinistra alle coordinate (x_position, y_position) e dimensioni width x height. Questa area di ritaglio deve essere completamente contenuta nel rettangolo di origine. Nota: il ritaglio viene applicata prima di qualsiasi scala.

-resize width height

Ridimensiona l'origine in modo che abbia le dimensioni di un rettangolo di width x height. Se uno (ma non entrambi) dei parametri larghezza o altezza è 0, il valore verrà 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 di memoria della codifica con perdita salvando quattro volte le dimensioni compresse (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 disattivato questo flag, il bitstream avrà alcuni effetti collaterali: verranno forzate determinate funzionalità del bitstream, come il numero di partizioni (impostato su 1). Tieni presente che, quando utilizzi questa opzione, cwebp stampa un report più dettagliato sulle dimensioni del bitstream.

Opzioni con perdita di dati

Queste opzioni sono efficaci solo durante la codifica con perdita di dati (valore predefinito, con o senza alpha).

-size int
Specifica una dimensione target (in byte) da provare a raggiungere per l'output compresso. Il compressore eseguirà diversi passaggi di codifica parziale per avvicinarsi il più possibile a questo target. Se vengono utilizzati sia -size che -psnr, avrà la precedenza il valore -size.
-psnr float
Specifica un PSNR target (in dB) 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 che -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 sono state utilizzate le opzioni -size o -psnr, ma non è stato specificato -pass, verrà utilizzato un valore predefinito di 6 passaggi. Se viene specificato -pass, ma né -size-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. In genere, questo flag 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 sblocco, tra 0 (nessun filtro) e 100 (filtro massimo). Un valore 0 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 tra 20 e 50.
-sharpness int
Specifica la nitidezza del filtro (se utilizzato). L'intervallo è 0 (più nitido) a 7 (meno diesis). Il valore predefinito è 0.
-strong
Utilizza un filtro rigoroso (se il filtro viene utilizzato grazie all'opzione -f). Il filtro rigoroso è attivo per impostazione predefinita.
-nostrong
Disattiva il filtro avanzato (se viene utilizzato grazie all'opzione -f) e utilizza invece il filtro semplice.
-sharp_yuv
Utilizza una conversione RGB->YUV più precisa e nitida. Tieni presente che questa procedura è più lenta della conversione RGB->YUV "veloce" predefinita.
-sns int
Specifica l'ampiezza della definizione del rumore spaziale. La definizione del rumore spaziale (o SNS per abbreviazione) si riferisce a una raccolta generale di algoritmi integrati utilizzati per decidere quale area dell'immagine deve utilizzare relativamente meno bit e dove trasferire meglio questi bit. L'intervallo possibile va da 0 (l'algoritmo è disattivato) a 100 (l'effetto massimo). Il valore predefinito è 50.
-segments int
Modifica il numero di partizioni da utilizzare durante la segmentazione dell'algoritmo sns. 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 non venga utilizzato -low_memory.
-partition_limit int
Riduci la qualità limitando il numero di bit utilizzati da alcuni macroblocchi. L'intervallo va da 0 (nessun degrado, il valore predefinito) a 100 (degrado completo). I valori utili sono in genere intorno a 30-70 per immagini di dimensioni moderatamente grandi. Nel formato VP8, la cosiddetta partizione di controllo ha un limite di 512 KB e viene utilizzata per memorizzare le seguenti informazioni: se il macroblocco viene saltato, a quale segmento appartiene, se è codificato come modalità intra 4x4 o intra 16x16 e infine le modalità di previsione da utilizzare per ciascuno dei sottoblocchi. Per un'immagine molto grande, 512k lascia spazio a pochi bit al Macroblocco 16 x 16. Il valore minimo assoluto è 4 bit per macroblocco. Le informazioni su salti, segmenti e modalità possono utilizzare quasi tutti questi 4 bit (anche se la situazione è improbabile), il che rappresenta un problema per le immagini di grandi dimensioni. La Il fattore partition_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 l'utilizzo di -partition_limit non è sufficiente per soddisfare il vincolo di 512 KB, è necessario utilizzare meno segmenti per 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
Calcolo e generazione di report sulla metrica di somiglianza locale (somma dell'errore più basso tra i pixel vicini collocati).
-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. I possibili valori mappa vanno da 1 a 6. Questo è solo per facilitare il debug.

Opzioni aggiuntive

Altre opzioni avanzate sono:

-s width height
Specifica che il file di input è costituito da campioni Y'CbCr non elaborati in base alle raccomandazioni ITU-R BT.601, in formato lineare 4:2:0. La le dimensioni del piano luminario sono width x height.
-pre int
Specifica alcuni passaggi 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 alpha. Uno di none, fast o best, 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). La modalità best prova ogni modalità a turno e sceglie quella che genera la dimensione più ridotta. 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 o 1. Algoritmo 0 indica nessuna compressione, 1 utilizza il formato WebP lossless 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 fonde il canale alfa (se presente) con l'origine utilizzando il colore di sfondo specificato in esadecimale come 0xrrggbb. Alfa del canale viene successivamente reimpostato sul valore opaco 255.
-noalpha
L'utilizzo di questa opzione comporterà l'eliminazione del canale alpha.
-hint string
Specifica il suggerimento relativo al tipo di immagine di input. I valori possibili sono: photo, picture o graph.
-metadata string

Un elenco separato da virgole di metadati da copiare dall'input all'output, se presente. 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 dell'assembly.

Bug

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. L'albero di origine più recente è disponibile all'indirizzo https://chromium.googlesource.com/webm/libwebp/

Questa pagina del manuale è stata scritta per il progetto Debian (e può essere utilizzata da altri).