cWebP

Nombre

cwebp: Comprime un archivo de imagen en un archivo WebP

Sinopsis

cwebp [options] input_file -o output_file.webp

Descripción

cwebp comprime una imagen usando el formato WebP. El formato de entrada puede ser PNG, JPEG, TIFF, WebP o muestras Y'CbCr sin procesar. Nota: No se admiten archivos PNG y WebP animados.

Opciones

Las opciones básicas son las siguientes:

-o string
Especifica el nombre del archivo WebP de salida. Si se omite, cwebp realizará compresión, pero solo reporta estadísticas. Si usas “-” como nombre de salida, el resultado se dirigirá a “stdout”.
-- string
Especifica de forma explícita el archivo de entrada. Esta opción es útil si el archivo de entrada comienza con un “-”, por ejemplo. Esta opción debe aparecer last. Se ignorarán las demás opciones.
-h, -help
Un breve resumen del uso.
-H, -longhelp
Un resumen de todas las opciones posibles
-version
Imprime el número de versión (como major.minor.revision) y sal.
-lossless
Codificación de la imagen sin pérdidas En el caso de las imágenes con un área completamente transparente, los valores de píxeles invisibles (R/G/B o Y/U/V) se conservarán solo si se usa la opción -exact.
-near_lossless int
Especifica el nivel de procesamiento previo de imágenes casi sin pérdidas. Esta opción ajusta los valores de píxeles para facilitar la comprimibilidad, pero tiene un impacto mínimo en la calidad visual. Activa el modo de compresión sin pérdidas automáticamente. El rango es de 0 (preprocesamiento máximo) a 100 (sin procesamiento previo, el valor predeterminado). El valor típico es de alrededor de 60. Ten en cuenta que con pérdidas con -q 100 pueden generar mejores resultados.
-q float

Especifica el factor de compresión para los canales RGB entre 0 y 100. El valor predeterminado es 75.

En el caso de la compresión con pérdida (predeterminada), un factor pequeño produce un archivo más pequeño con menor calidad. La mejor calidad se logra usando un valor de 100

En el caso de la compresión sin pérdida (especificada por la opción -lossless), un factor pequeño permite una velocidad de compresión más rápida, pero produce un archivo más grande. La compresión máxima se logra con un valor de 100.

-z int

Activa el modo de compresión lossless con el nivel especificado entre 0 y el 9, en el que el nivel 0 es el más rápido y 9, el más lento. Modo rápido produce un tamaño de archivo mayor que los más lentos. Un buen valor predeterminado es -z 6. Esta opción es en realidad un acceso directo a algunos parámetros de configuración predefinidos de calidad y método. Si se usan las opciones -q o -m posteriormente, Invalidarán el efecto de esta opción.

-alpha_q int

Especifica el factor de compresión para la compresión alfa entre 0 y 100. La compresión sin pérdida de alfa se logra con un valor de 100, mientras que los valores más bajos dan como resultado una compresión con pérdida. El valor predeterminado es 100.

-preset string

Especificar un conjunto de parámetros predefinidos para adaptarse a un tipo particular de el material de origen. Los valores posibles son default, photo, picture, drawing, icon y text.

Dado que -preset reemplaza los valores de los otros parámetros (excepto el de -q), esta opción debe aparecer primero en el orden de los argumentos.

-m int

Especifica el método de compresión que se usará. Este parámetro controla el intercambio entre la velocidad de codificación y el tamaño y la calidad del archivo comprimido. Los valores posibles varían de 0 a 6. El valor predeterminado es 4. Cuando sea más alta de salida, el codificador dedicará más tiempo a inspeccionar las posibilidades de codificación y decidirá el aumento de calidad. Un valor más bajo puede permiten un tiempo de procesamiento más rápido a expensas de un tamaño más grande de archivos y de menor calidad de compresión.

-crop x_position y_position width height

Recorta la fuente en un rectángulo con la esquina superior izquierda en las coordenadas (x_position, y_position) y el tamaño width × height. Esta área de recorte debe estar completamente contenida dentro del rectángulo de origen. Nota: el recorte se aplica antes de cualquier escalamiento.

-resize width height

Cambia el tamaño de la fuente a un rectángulo de width × height. Si uno (pero no ambos) de los parámetros de ancho o alto es 0, el valor se calculará preservando la relación de aspecto. Nota: El escalamiento se aplica después del recorte.

-mt

Si es posible, usa varios subprocesos para la codificación.

-low_memory

Reduce el uso de memoria de la codificación con pérdidas guardando cuatro veces el volumen comprimido tamaño (generalmente). Esto hará que la codificación sea más lenta y que el resultado sea ligeramente diferente en tamaño y distorsión. Esta marca solo es efectiva para 3 y superiores, y está desactivado de forma predeterminada. Ten en cuenta que dejar esta marca desactivada tendrá algunos efectos secundarios en el flujo de bits: forzará cierto flujo de bits funciones, como la cantidad de particiones (forzada a 1). Ten en cuenta que una visión cwebp imprime el informe detallado del tamaño del flujo de bits cuando se usa este de 12 a 1 con la nueva opción de compresión.

Opciones con pérdida

Estas opciones solo son eficaces cuando se realiza una codificación con pérdidas (el valor predeterminado, con o sin alfa).

-size int
Especifica un tamaño objetivo (en bytes) para intentar alcanzar la extensión salida. El compresor hará varios pases de codificación parcial para acercarse lo más posible a este objetivo. Si tanto -size como Si se usan -psnr, prevalecerá el valor de -size.
-psnr float
Especifica un PSNR (en dB) objetivo para intentar alcanzar la salida comprimida. El compresor realizará varias pasadas de codificación parcial para obtener lo más cerca posible de este objetivo. Si se usan -size y -psnr, prevalecerá el valor de -size.
-pass int
Establece una cantidad máxima de pases para usar durante la dicotomía que usan las opciones -size o -psnr. El valor máximo es 10, el predeterminado es 1. Opciones If Se usaron -size o -psnr, pero no se especificó -pass, un valor predeterminado de '6' pases. Si se especifica -pass, pero no -size ni -psnr, se usará un PSNR objetivo de 40 dB.
-af
Activa el filtro automático. Este algoritmo dedicará más tiempo a la optimización la intensidad del filtrado para lograr una calidad equilibrada.
-jpeg_like
Cambiar la asignación de parámetros internos para que coincida mejor con el tamaño esperado de Compresión JPEG. Por lo general, esta marca producirá un archivo de salida de tamaño similar al equivalente en JPEG (para el mismo parámetro de configuración de -q), pero con menos distorsión visual.

Opciones avanzadas:

-f int
Especifica la intensidad del filtro de eliminación de bloqueos, entre 0 (sin filtrado) y 100 (filtrado máximo). Un valor de 0 desactivará todos los filtros. Un valor más alto aumentará la intensidad del proceso de filtrado que se aplica después de decodificar la imagen. Cuanto más alto sea el valor, más nítida es la imagen de la página de destino. Los valores típicos suelen estar entre 20 y 50.
-sharpness int
Especifica la nitidez del filtrado (si se usa). El rango es de 0 (el más nítido). a 7 (menos intenso). El valor predeterminado es 0.
-strong
Usa un filtrado estricto (si se usa el filtrado gracias a la opción -f). El filtrado estricto está activado de forma predeterminada.
-nostrong
Inhabilita el filtrado estricto (si se usa el filtrado gracias a la opción -f) y, en su lugar, usa el filtrado simple.
-sharp_yuv
Usa una conversión de RGB a YUV más precisa y nítida. Ten en cuenta que este proceso más lenta que la configuración predeterminada “fast” Conversión de RGB a YUV.
-sns int
Especifica la amplitud de la forma de ruido espacial. Forma de ruido espacial (o sns para abreviar) se refiere a una colección general de algoritmos integrados que se usa para decidir qué área de la fotografía debe usar menos bits y dónde transferirlos mejor. El rango posible va de 0 (el algoritmo está desactivado) a 100 (el efecto máximo). El valor predeterminado es 50.
-segments int
Cambia la cantidad de particiones que se usarán durante la segmentación del algoritmo de sns. Los segmentos deben estar entre 1 y 4. El valor predeterminado es 4. Esta opción no tiene efecto en los métodos 3 y superiores, a menos que se establezca -low_memory utilizado.
-partition_limit int
Limita la cantidad de bits que usan algunos macrobloques para degradar la calidad. El rango es de 0 (sin degradación, el valor predeterminado) a 100 (degradación completa). Los valores útiles suelen ser de entre 30 y 70 para las imágenes moderadamente grandes. En el formato VP8, la llamada partición de control tiene un límite de 512 K y se usa para almacenar la siguiente información: si se omite el macrobloque, a qué segmento pertenece, si está codificado como modo intra 4 × 4 o intra 16 × 16 y, por último, los modos de predicción que se usarán para cada uno de los subbloques. Para una imagen muy grande, 512 K solo dejan espacio para unos pocos bits por macrobloque de 16 × 16. El mínimo absoluto es 4 bits por macrobloque. La información de omisión, segmento y modo puede usar casi todos estos 4 bits (aunque es poco probable que sea el caso), lo que es problemático para imágenes muy grandes. El factor partition_limit controla la frecuencia con la que se usará el modo más costoso en bits (intra 4×4). Esto es útil en caso de que se alcance el límite de 512 K y se muestre el siguiente mensaje: Código de error: 6 (PARTITION0_OVERFLOW: La partición n.° 0 es demasiado grande para caber en 512 K). Si se utiliza -partition_limit no es suficiente para cumplir con la restricción de 512,000, se debería usar menos segmentos para ahorrar más bits de encabezado por macrobloque. Consulta la opción -segments. Ten en cuenta que las opciones -m y -q también influyen en la las decisiones del codificador y la capacidad para alcanzar este límite.

Opciones de registro

Las siguientes opciones controlan el nivel de salida:

-v
Imprime información adicional (en particular, el tiempo de codificación).
-print_psnr
Informa y calcula la PSNR (relación máxima entre señal y ruido).
-print_ssim
Calcular e informar el SSIM (métrica de similitud estructural) promedio, consulta https://en.wikipedia.org/wiki/SSIM para obtener más información).
-print_lsim
Calcula y informa la métrica de similitud local (suma del error más bajo entre los píxeles vecinos ubicados en la misma posición).
-progress
Informa el progreso de la codificación en porcentaje.
-quiet
No imprimas nada.
-short
Solo imprime información breve (tamaño del archivo de salida y PSNR) con fines de prueba.
-map int
Da como resultado un mapa ASCII adicional de información de codificación. Posibles valores del mapa rango de 1 a 6. El único objetivo de esto es facilitar la depuración.

Opciones adicionales

Estas son las opciones más avanzadas:

-s width height
Especifica que el archivo de entrada en realidad consta de muestras de Y'CbCr sin procesar siguiendo la recomendación ITU-R BT.601, en formato lineal 4:2:0. El el plano de luma tiene un tamaño de width x height.
-pre int
Especifica algunos pasos de procesamiento previo. Si usas un valor de 2, se activará el dithering pseudoaleatorio dependiente de la calidad durante la conversión de RGBA a YUVA (solo compresión con pérdida).
-alpha_filter string
Especifica el método de filtrado predictivo para el plano alfa. Es uno de los siguientes: none, fast o best, en orden creciente de complejidad y lentitud. La cantidad predeterminada es fast. De forma interna, el filtrado alfa se realiza con cuatro predicciones posibles (ninguna, horizontal, vertical y gradiente). El modo best probará cada modo a su vez y elegirá el que tenga el tamaño más pequeño. El modo fast solo intentará formar una suposición a priori sin probar todos los modos.
-alpha_method int
Especifica el algoritmo que se usa para la compresión alfa: 0 o 1. Algoritmo 0 denota no compresión, 1 usa el formato WebP sin pérdida para compresión. El valor predeterminado es 1.
-exact
Conserva los valores RGB en un área transparente. La configuración predeterminada está desactivada para ayudarte compresibilidad.
-blend_alpha int
Esta opción combina el canal alfa (si está presente) con la fuente usando el color de fondo especificado en hexadecimal como 0xrrggbb. Luego, el canal alfa se restablece al valor opaco 255.
-noalpha
Si usas esta opción, se descartará el canal alfa.
-hint string
Especifica la sugerencia sobre el tipo de imagen de entrada. Los valores posibles son photo, picture o graph.
-metadata string

Es una lista de metadatos separados por comas que se copiarán de la entrada a la salida si están presentes. Valores válidos: all, none, exif, icc y xmp. El valor predeterminado es none.

Ten en cuenta que es posible que cada formato de entrada no admita todas las combinaciones.

-noasm

Inhabilita todas las optimizaciones de ensamblado.

Errores

Ejemplos

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

Autores

cwebp es parte de libwebp y fue escrito por el equipo de WebP. El árbol de origen más reciente está disponible en https://chromium.googlesource.com/webm/libwebp/.

Esta página del manual se escribió para el proyecto Debian (y puede usarla otras).