Nom
cwebp
: compresser un fichier image au format WebP
Synopsis
cwebp [options] input_file -o output_file.webp
Description
cwebp
compresse une image au format WebP. Le format d'entrée peut être :
Échantillons PNG, JPEG, TIFF, WebP ou Y'CbCr bruts.
Remarque: Les fichiers PNG et WebP animés ne sont pas acceptés.
Options
Les options de base sont les suivantes:
-o string
- Indiquez le nom du fichier WebP de sortie. Si cette valeur n'est pas spécifiée,
cwebp
exécutera mais ne fournissent que des statistiques. Avec "-" comme nom de sortie, la sortie sera dirigée vers "stdout". -- string
- Spécifiez explicitement le fichier d'entrée. Cette option est utile si l'entrée
le fichier commence par un tiret par exemple. Cette option doit apparaître comme
last
. Toute autre option définie ultérieurement sera ignorée. -h, -help
- Un bref résumé de l'utilisation.
-H, -longhelp
- Résumé de toutes les options possibles.
-version
- Imprimez le numéro de version (au format major.minor.revision) et quittez l'application.
-lossless
- Encodez l'image sans aucune perte. Pour les images dont la zone est totalement transparente,
les valeurs de pixels invisibles (R/G/B ou Y/U/V) ne sont conservées que si
L'option
-exact
est utilisée. -near_lossless int
- Spécifiez le niveau de prétraitement des images quasiment sans perte. Cette option ajuste
pour faciliter la compression, mais avec un impact minimal sur l'image
qualité. Il déclenche automatiquement le mode de compression sans perte.
La plage va de
0
(prétraitement maximal) à100
(aucun prétraitement, la par défaut). La valeur habituelle est d'environ60
. Notez que l'opérateur-q 100
génère des pertes. peut parfois donner de meilleurs résultats. -q float
Spécifiez le facteur de compression pour les canaux RVB compris entre
0
et100
. La valeur par défaut est75
.En cas de compression avec pertes (option par défaut), un facteur plus faible produit une compression fichier de qualité inférieure. La meilleure qualité est obtenue en utilisant une valeur de
100
En cas de compression sans perte (spécifiée par l'option
-lossless
), une Un petit facteur permet d'accélérer la compression, mais génère un fichier plus volumineux. La compression maximale est atteinte en utilisant la valeur100
.-z int
Activer le mode de compression
lossless
en spécifiant un niveau compris entre 0 et 9, le niveau 0 étant le plus rapide, 9 étant le plus lent. Mode rapide génère des fichiers plus volumineux que des fichiers plus lents.-z 6
est un bon choix par défaut. Cette option est en fait un raccourci vers certains paramètres prédéfinis de qualité et de la méthode. Si vous utilisez par la suite les options-q
ou-m
, invalider l'effet de cette option.-alpha_q int
Spécifiez le facteur de compression alpha compris entre
0
et100
La compression sans perte de la valeur alpha est obtenue en utilisant la valeur100
, tandis que les valeurs inférieures entraînent une compression avec pertes. La valeur par défaut est100
.-preset string
Spécifiez un ensemble de paramètres prédéfinis pour répondre à un type particulier de à l'aide de ressources de référence. Les valeurs possibles sont:
default
,photo
,picture
,drawing
,icon
ettext
.Étant donné que
-preset
remplace les autres paramètres (sauf la règle-q
1), cette option doit, de préférence, apparaître en premier dans l'ordre .-m int
Spécifiez la méthode de compression à utiliser. Ce paramètre contrôle l'échange entre la vitesse d'encodage et la taille et la qualité du fichier compressé. Les valeurs possibles sont comprises entre
0
et6
. La valeur par défaut est4
. Si plus élevé sont utilisées, l'encodeur passe plus de temps à inspecter les possibilités d'encodage et de décider du gain de qualité. Une valeur inférieure peut permettent d'accélérer le temps de traitement, au détriment d'une taille de fichier plus importante et de moins bonne qualité de compression.-crop x_position y_position width height
Recadrer la source en un rectangle avec un coin supérieur gauche aux coordonnées (
x_position
,y_position
) et la taillewidth
xheight
. Ce recadrage doit être entièrement contenue dans le rectangle source. Remarque: Le recadrage est appliquée avant tout scaling.-resize width height
Redimensionnez la source en un rectangle de
width
xheight
. Si l'un des des paramètres de largeur ou de hauteur (mais pas les deux) est0
, la valeur sera calculé en préservant les proportions. Remarque: Le scaling est appliqué après le recadrage.-mt
Si possible, utilisez le traitement multithread pour l'encodage.
-low_memory
Réduire l'utilisation de la mémoire pour l'encodage avec pertes en économisant quatre fois le format taille (généralement). Cela ralentira l'encodage et la sortie de taille et de distorsion légèrement différentes. Cet indicateur n'est valable que pour à partir de la méthode 3. Il est désactivé par défaut. Notez que cette option n'est pas activée. aura des effets secondaires sur le flux de bits: il force certains comme le nombre de partitions (forcée sur
1
). Notez qu'une option un rapport détaillé sur la taille du flux de bits est imprimé parcwebp
lorsque vous utilisez cette .
Options avec perte
Ces options ne sont efficaces que lors de l'encodage avec pertes (valeur par défaut, ou sans la version alpha).
-size int
- Spécifiez une taille cible (en octets) à essayer d'atteindre pour le fichier compressé
de sortie. Le compresseur effectue plusieurs passes
d'encodage partiel dans
pour vous rapprocher le plus possible de cet objectif. Si
-size
et-psnr
sont utilisées, la valeur-size
prévaudra. -psnr float
- Spécifiez un paramètre PSNR cible (en dB) à atteindre pour la sortie compressée.
Le compresseur effectue plusieurs passages
d'encodage partiel afin d'obtenir
le plus près possible de cet objectif. Si vous utilisez à la fois
-size
et-psnr
, La valeur-size
prévaudra. -pass int
- Définir le nombre maximal de cartes à utiliser lors de la dichotomie liée aux options
-size
ou-psnr
. La valeur maximale est10
, la valeur par défaut est1
. Options IF-size
ou-psnr
ont été utilisés, mais-pass
n'a pas été spécifié (valeur par défaut) sur "6" seront utilisées. Si-pass
est spécifié, mais que ni-size
, ni-psnr
, une valeur PSNR cible de 40 dB sera utilisée. -af
- Active le filtrage automatique. Cet algorithme consacrera plus de temps à l'optimisation l'intensité du filtrage pour obtenir un résultat bien équilibré.
-jpeg_like
- Modifier le mappage des paramètres internes pour qu'il corresponde mieux à la taille attendue
Compression JPEG. Cet indicateur produira généralement
un fichier de sortie de
est semblable à son équivalent JPEG (pour le même paramètre
-q
), mais avec moins de distorsion visuelle.
Options avancées :
-f int
- Spécifiez l'intensité du filtre de déblocage. Elle doit être comprise entre
0
(aucun filtrage). et100
(filtrage maximal). La valeur0
désactive tout filtrage. Une valeur plus élevée augmente l'intensité du processus de filtrage appliqué après avoir décodé l'image. Plus la valeur est élevée, plus l'image est fluide apparaît. Les valeurs habituelles sont généralement comprises entre20
et50
. -sharpness int
- Spécifiez le niveau de netteté du filtrage (le cas échéant). Plage :
0
(plus net) à7
(le moins net). La valeur par défaut est0
. -strong
- Utilisez un filtrage fort (si le filtrage est utilisé à l'aide de
-f
). Le filtrage avancé est activé par défaut. -nostrong
- Désactivez le filtrage fort (si le filtrage est utilisé à l'aide du
-f
). option) et utilisez un filtrage simple à la place. -sharp_yuv
- Si nécessaire, utilisez une conversion RVB->YUV plus précise et plus nette. Notez que cette le processus est plus lent que le mode par défaut Conversion RVB->YUV.
-sns int
- Spécifiez l'amplitude de mise en forme du bruit spatial. Mise en forme du bruit spatial
(ou "sns") désigne un ensemble général d'algorithmes intégrés
utilisé pour décider quelle zone de l'image
doit utiliser relativement moins de bits,
et où d'autre pour
mieux transférer ces bits. La plage possible va de
0
(l'algorithme est désactivé) à100
(effet maximal). La valeur par défaut est50
. -segments int
- Modifier le nombre de partitions à utiliser lors de la segmentation du réseau
algorithme. Les segments doivent être compris entre
1
et4
. La valeur par défaut est4
. Cette option n'a aucun effet pour les méthodes 3 et ultérieures, sauf si-low_memory
est utilisés. -partition_limit int
- Dégradez la qualité en limitant le nombre de bits utilisés par certains macroblocs.
La plage est comprise entre
0
(aucune dégradation, la valeur par défaut) et100
(dégradation complète). Les valeurs utiles se situent généralement autour de30
à70
pour les images de taille moyenne. Dans format VP8, la partition dite de contrôle a une limite de 512 Ko et est utilisé pour stocker les informations suivantes: détermine si le macroblock est le segment auquel il appartient, qu'il soit codé en 4x4 ou le mode "intra 16x16", et enfin les modes de prédiction à utiliser pour chacun des sous-blocs. Pour une très grande image, la taille 512 Ko ne laisse de la place que quelques bits par Macroblock 16 x 16. Le minimum absolu est de 4 bits par macrobloc. Passer, le segment et le mode peuvent utiliser la quasi-totalité de ces 4 bits (même si le cas est peu probable), ce qui pose problème pour les très grandes images. La Le facteurpartition_limit
contrôle la fréquence à laquelle le mode le plus coûteux (intra 4x4). Cette valeur est utile si la limite est atteinte (512 000). et le message suivant s'affiche: Code d'erreur: 6 (PARTITION0_OVERFLOW: la partition n° 0 est trop grande pour s'adapter à 512 ko.) Si vous utilisez-partition_limit
ne suffit pas pour respecter la contrainte de 512 000, utilisent moins de segments afin d'économiser plus de bits d'en-tête par macrobloc. Voir l'option-segments
. Notez que les options-m
et-q
influencent également les décisions de l'encodeur et sa capacité à atteindre cette limite.
Options de journalisation
Ces options contrôlent le niveau de sortie:
-v
- Imprimer des informations supplémentaires (en particulier le temps d'encodage).
-print_psnr
- Calculer et générer le rapport PSNR moyen
-print_ssim
- Calculer la métrique de similarité structurelle (SSIM) moyenne et générer un rapport : voir https://en.wikipedia.org/wiki/SSIM pour en savoir plus).
-print_lsim
- Calculer et signaler la métrique de similarité locale (somme de l'erreur la plus faible parmi les pixels voisins colocalisés).
-progress
- Signale la progression de l'encodage en pourcentage.
-quiet
- N'imprime rien.
-short
- N'imprimer que de brèves informations (taille du fichier de sortie et PSNR) à des fins de test finalités.
-map int
- Générer une carte ASCII supplémentaire des informations d'encodage Valeurs de carte possibles
compris entre
1
et6
. Elle ne sert qu'au débogage.
Options supplémentaires
Les options les plus avancées sont les suivantes:
-s width height
- Indique que le fichier d'entrée est constitué d'échantillons de Y'CbCr bruts.
conformément à la recommandation ITU-R BT.601, au format linéaire 4:2:0. La
le plan du luma a une taille de
width
xheight
. -pre int
- Spécifiez des étapes de prétraitement. La valeur
2
déclenche Traçage pseudo-aléatoire dépendant de la qualité lors de la conversion RVBA->YUVA (compression avec perte uniquement). -alpha_filter string
- Spécifiez la méthode de filtrage prédictif pour le plan alpha. L'une des valeurs suivantes :
none
,fast
oubest
, dans un ordre croissant de complexité et de lenteur. La valeur par défaut estfast
. En interne, le filtrage alpha est effectué prédictions possibles (aucun, horizontal, vertical, dégradé).best
essaie chaque mode l'un après l'autre, puis choisit celui la taille de l'image. Le modefast
tente simplement de formuler une supposition a priori, sans en testant tous les modes. -alpha_method int
- Spécifiez l'algorithme utilisé pour la compression alpha:
0
ou1
. Algorithme0
indique qu'il n'y a aucune compression,1
utilise un format sans perte WebP pour la compression. La valeur par défaut est1
. -exact
- Conservez les valeurs RVB dans la zone transparente. Cette option est désactivée par défaut compressibilité.
-blend_alpha int
- Cette option fusionne le canal alpha (le cas échéant) avec la source en utilisant
la couleur d'arrière-plan spécifiée
en hexadécimal comme 0xrrggbb. La couche alpha
Le canal est ensuite réinitialisé sur la valeur opaque
255
. -noalpha
- Si vous utilisez cette option, la version alpha sera supprimée.
-hint string
- Spécifiez l'indication sur le type d'image d'entrée. Les valeurs possibles sont:
photo
,picture
ougraph
. -metadata string
Une liste de métadonnées séparées par une virgule à copier de l'entrée à la sortie si à l'heure actuelle. Valeurs valides:
all
,none
,exif
,icc
,xmp
. La valeur par défaut estnone
.Notez que chaque format d'entrée n'est pas forcément compatible avec toutes les combinaisons.
-noasm
Désactivez toutes les optimisations d'assemblage.
Bugs
Veuillez signaler tous les bugs dans l'outil Issue Tracker: https://issues.webmproject.org.
Les correctifs sont les bienvenus ! Pour commencer, consultez cette page: https://www.webmproject.org/code/contribute/submitting-patches/
Exemples
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
Auteurs
cwebp
fait partie de libwebp
et a été écrit par l'équipe WebP.
L'arborescence source la plus récente est disponible sur la page
https://chromium.googlesource.com/webm/libwebp/
Cette page de manuel a été rédigée pour le projet Debian (et peut être utilisée par autres).