cWebp

Nom

cwebp : compresse un fichier image en fichier WebP

Synopsis

cwebp [options] input_file -o output_file.webp

Description

cwebp compresse une image à l'aide du format WebP. Le format d'entrée peut être PNG, JPEG, TIFF, WebP ou des échantillons 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 elle est omise, cwebp effectue la compression, mais ne fournit que des statistiques. Si vous utilisez "-" comme nom de sortie, la sortie sera redirigé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 last. Toutes les autres options seront ignorées.
-h, -help
Un bref résumé d'utilisation.
-H, -longhelp
Résumé de toutes les options possibles.
-version
Imprimez le numéro de version (au format major.minor.revision), puis quittez.
-lossless
Encodez l'image sans aucune perte. Pour les images comportant une zone entièrement transparente, les valeurs de pixel 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 les valeurs de pixel pour faciliter la compressibilité, mais a un impact minimal sur la qualité visuelle. Il déclenche automatiquement le mode de compression sans perte. La plage est comprise entre 0 (prétraitement maximal) et 100 (aucun prétraitement, valeur par défaut). La valeur typique est d'environ 60. 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 et 100. La valeur par défaut est 75.

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), un facteur faible permet d'accélérer la vitesse de compression, mais produit un fichier plus volumineux. La compression maximale est obtenue avec une valeur de 100.

-z int

Activez le mode de compression lossless en spécifiant un niveau compris entre 0 et 9, le niveau 0 étant le plus rapide, 9 le plus lent. Le mode rapide produit une taille de fichier plus importante que les modes plus lents. La valeur par défaut recommandée est -z 6. 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 et 100 La compression sans perte de la valeur alpha est obtenue à l'aide de la valeur 100, tandis que les valeurs inférieures entraînent une compression avec pertes. La valeur par défaut est 100.

-preset string

Spécifiez un ensemble de paramètres prédéfinis pour répondre à un type particulier de à partir de données sources. Les valeurs possibles sont les suivantes : default, photo, picture, drawing, icon et text.

Étant donné que -preset écrase les valeurs des autres paramètres (à l'exception de -q), cette option doit de préférence apparaître en premier dans l'ordre des arguments.

-m int

Spécifiez la méthode de compression à utiliser. Ce paramètre contrôle le compromis entre la vitesse d'encodage et la taille et la qualité du fichier compressé. Les valeurs possibles sont comprises entre 0 et 6. La valeur par défaut est 4. 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 plus faible peut entraîner un temps de traitement plus rapide, mais au détriment de la taille de fichier et de la 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 taille width x height. 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 x height. Si l'un des paramètres de largeur ou de hauteur est 0 (mais pas les deux), la valeur est calculée en conservant le format. Remarque: Le scaling est appliqué après le recadrage.

-mt

Si possible, utilisez le traitement multithread pour l'encodage.

-low_memory

Réduisez l'utilisation de la mémoire de l'encodage avec perte en économisant quatre fois la taille compressée (généralement). L'encodage sera ainsi plus lent, et la taille et la distorsion de la sortie seront légèrement différentes. Cet indicateur n'est valable que pour méthodes 3 et ultérieures. Il est désactivé par défaut. Notez que si vous laissez cet indicateur désactivé, cela aura des effets secondaires sur le flux de bits : il force certaines fonctionnalités du flux de bits, comme le nombre de partitions (forcé sur 1). Notez qu'un rapport plus détaillé sur la taille du flux de bits est imprimé par cwebp lorsque vous utilisez cette option.

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) à atteindre pour la sortie compressée. 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 est 10, la valeur par défaut est 1. Si les options -size ou -psnr ont été utilisées, mais que -pass n'a pas été spécifié, une valeur par défaut de 6 passes est utilisée. 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 à optimiser l'intensité du filtrage pour obtenir une qualité équilibrée.
-jpeg_like
Modifiez le mappage des paramètres internes pour mieux correspondre à la taille attendue de la compression JPEG. Cet indicateur génère généralement un fichier de sortie de taille similaire à 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, entre 0 (pas de filtrage) et 100 (filtrage maximal). La valeur 0 désactive tout filtrage. Une valeur plus élevée augmente l'intensité du processus de filtrage appliqué après le décodage de l'image. Plus la valeur est élevée, plus l'image est fluide apparaît. Les valeurs habituelles sont généralement comprises entre 20 et 50.
-sharpness int
Indiquez le niveau de netteté du filtrage (le cas échéant). La plage est comprise entre 0 (plus nette) et 7 (moins nette). La valeur par défaut est 0.
-strong
Utiliser un filtrage strict (si le filtrage est utilisé grâce à l'option -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
Utilisez une conversion RVB->YUV plus précise et plus nette. Notez que ce processus est plus lent que la conversion RGB->YUV "rapide" par défaut.
-sns int
Spécifiez l'amplitude de mise en forme du bruit spatial. La mise en forme du bruit spatial (ou SNS, pour "spatial noise shaping") désigne un ensemble général d'algorithmes intégrés utilisés pour déterminer quelle zone de l'image doit utiliser relativement moins de bits et où transférer ces bits plus efficacement. La plage possible va de 0 (l'algorithme est désactivé) à 100 (effet maximal). La valeur par défaut est 50.
-segments int
Modifier le nombre de partitions à utiliser lors de la segmentation du réseau algorithme. Les segments doivent être compris entre 1 et 4. La valeur par défaut est 4. 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égrade 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) et 100 (dégradation complète). Les valeurs utiles sont généralement comprises entre 30 et 70 pour les images de taille moyenne. Dans le format VP8, la partition de contrôle a une limite de 512 ko et sert à stocker les informations suivantes : si le macrobloc est ignoré, à quel segment il appartient, s'il est encodé en mode intra 4x4 ou 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 macroblock. Les informations de saut, de segment et de mode peuvent utiliser presque tous ces quatre bits (bien que ce ne soit pas le cas), ce qui est problématique pour les images très grandes. Le facteur partition_limit contrôle la fréquence d'utilisation du mode le plus coûteux en bits (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 0 est trop grande pour contenir 512 ko.) Si l'utilisation de -partition_limit n'est pas suffisante pour respecter la contrainte de 512 ko, il est recommandé d'utiliser moins de segments afin d'économiser plus de bits d'en-tête par macrobloc. Consultez 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 Les valeurs de carte possibles vont de 1 à 6. Cette option n'est destinée qu'à faciliter le débogage.

Options supplémentaires

Les options 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. Le plan de luminosité a une taille de width x height.
-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. none, fast ou best, dans l'ordre croissant de complexité et de lenteur. La valeur par défaut est fast. En interne, le filtrage alpha est effectué prédictions possibles (aucun, horizontal, vertical, dégradé). Le mode best essaiera chaque mode à tour de rôle et sélectionnera celui qui donne la taille la plus petite. Le mode fast tente simplement de former une estimation a priori sans tester tous les modes.
-alpha_method int
Spécifiez l'algorithme utilisé pour la compression alpha : 0 ou 1. L'algorithme 0 n'indique aucune compression, 1 utilise le format WebP sans perte pour la compression. La valeur par défaut est 1.
-exact
Conserve les valeurs RVB dans la zone transparente. Par défaut, elle est désactivée pour faciliter la 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
L'utilisation de cette option supprime le canal alpha.
-hint string
Spécifiez l'indication sur le type d'image d'entrée. Les valeurs possibles sont photo, picture ou graph.
-metadata string

Liste de métadonnées à copier de l'entrée vers la sortie, le cas échéant, séparées par une virgule. Valeurs valides: all, none, exif, icc, xmp. La valeur par défaut est none.

Notez que chaque format d'entrée n'est pas compatible avec toutes les combinaisons.

-noasm

Désactivez toutes les optimisations d'assemblage.

Bugs

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).