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 con el formato WebP. El formato de entrada puede ser PNG, JPEG, TIFF, WebP o muestras sin procesar de Y&C3Cr. 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á la compresión, pero solo informará las estadísticas. Usar " como nombre de salida dirigirá la salida a 'stdout'.
-- string
Especifica explícitamente el archivo de entrada. Esta opción es útil, por ejemplo, si el archivo de entrada comienza con un '' Esta opción debe aparecer last. Se ignorarán las demás opciones después.
-h, -help
Breve resumen de uso
-H, -longhelp
Un resumen de todas las opciones posibles
-version
Imprime el número de versión (como main.minor.revision) y sal.
-lossless
Codifica la imagen sin pérdida. En el caso de las imágenes con área totalmente 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 compresión, pero tiene un impacto mínimo en la calidad visual. Activa el modo de compresión sin pérdida automáticamente. El rango es de 0 (procesamiento previo máximo) a 100 (sin procesamiento previo, el valor predeterminado). El valor típico es de aproximadamente 60. Ten en cuenta que, en ocasiones, las 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 una compresión con pérdida (de forma predeterminada), un factor pequeño produce un archivo más pequeño con una calidad inferior. La mejor calidad se logra mediante un valor de 100.

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

-z int

Activa el modo de compresión lossless, con el nivel especificado entre 0 y 9, en el que el nivel 0 es el más rápido y 9 es el más lento. El modo rápido produce archivos de mayor tamaño que los más lentos. Un buen valor predeterminado es -z 6. Esta opción es en realidad un acceso directo para algunas configuraciones predefinidas de calidad y método. Si las opciones -q o -m se usan 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

Especifica un conjunto de parámetros predefinidos para que se adapten a un tipo de material de origen en particular. Los valores posibles son: default, photo, picture, drawing, icon y text.

Dado que -preset reemplaza los otros valores (excepto -q), esta opción debería aparecer primero en el orden de los argumentos.

-m int

Especifica el método de compresión que se usará. Este parámetro controla la compensación entre la velocidad de codificación y la calidad y el tamaño del archivo comprimido. Los valores posibles varían de 0 a 6. El valor predeterminado es 4. Cuando se usan valores más altos, el codificador pasará más tiempo inspeccionando posibilidades de codificación adicionales y decidirá la ganancia de calidad. Un valor más bajo puede generar un tiempo de procesamiento más rápido a costa de un tamaño de archivo mayor y una calidad de compresión menor.

-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 un tamaño de width x height. Esta área de recorte debe estar contenida por completo 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 con el tamaño width x height. Si cualquiera de los parámetros de ancho o altura (pero no ambos) es 0, el valor se calculará para preservar 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

Para reducir el uso de memoria de la codificación con pérdida, ahorra cuatro veces el tamaño comprimido (por lo general,) Esto hará que la codificación sea más lenta y el resultado sea un poco diferente en tamaño y distorsión. Esta marca solo es efectiva para los métodos 3 y posteriores, y está desactivada de forma predeterminada. Ten en cuenta que si dejas esta marca desactivada, se producirán algunos efectos secundarios en la transmisión de bits, ya que fuerza algunas características de flujo de bits como la cantidad de particiones (fuerza forzada a 1). Ten en cuenta que, cuando se usa esta opción, cwebp imprime un informe más detallado del tamaño de la transmisión de bits.

Opciones con pérdida

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

-size int
Especifica un tamaño de destino (en bytes) para intentar alcanzar el resultado comprimido. El compresor realizará varios pases de codificación parcial para acercarse lo más posible a este objetivo. Si se usan -size y -psnr, prevalecerá el valor -size.
-psnr float
Especifica un PSNR objetivo (en dB) para intentar alcanzar la salida comprimida. El compresor realizará varios pases de codificación parcial para acercarse lo más posible a este objetivo. Si se usan -size y -psnr, prevalecerá el valor -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 y el valor predeterminado es 1. Si se usaron las opciones -size o -psnr, pero -pass no se especificó, se usará un valor predeterminado de '6&339;
-af
Activa el filtro automático. Este algoritmo dedicará más tiempo a optimizar la intensidad del filtrado para alcanzar una calidad bien equilibrada.
-jpeg_like
Cambia 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 a su equivalente en JPEG (para la misma configuración de -q), pero con menos distorsión visual.

Opciones avanzadas:

-f int
Especifica la intensidad del filtro de desbloqueo, entre 0 (sin filtro) y 100 (filtrado máximo). Un valor de 0 desactivará cualquier filtro. Un valor más alto aumentará la intensidad del proceso de filtrado aplicado después de decodificar la imagen. Cuanto más alto sea el valor, más suave será la imagen. Los valores típicos suelen estar en el rango de 20 a 50.
-sharpness int
Especifica la nitidez del filtro (si se usa). El rango es de 0 (más nítido) a 7 (menos nítido). El valor predeterminado es 0.
-strong
Usa filtros sólidos (si se usan con la opción -f). El filtro fuerte está activado de forma predeterminada.
-nostrong
Inhabilita el filtrado sólido (si se usa con la opción -f) y usa un filtro simple.
-sharp_yuv
Si es necesario, usa una conversión YUV en RGB más precisa y precisa. Ten en cuenta que este proceso es más lento que el de la conversión predeterminada de &YUV RGB.
-sns int
Especifica la amplitud de la formación de ruido espacial. La determinación del ruido espacial (o sns, por sus siglas en inglés) hace referencia a una colección general de algoritmos integrados que se usa para decidir qué área de la imagen debe usar relativamente menos bits y dónde más transferir estos bits. 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 sns. Los segmentos deben encontrarse en el rango de 1 a 4. El valor predeterminado es 4. Esta opción no tiene efecto en los métodos 3 en adelante, a menos que se use -low_memory.
-partition_limit int
Para reducir la calidad, limita la cantidad de bits que usan algunos macrobloques. El rango es 0 (sin degradación, el valor predeterminado) a 100 (degradación completa). Los valores útiles suelen ser de 30 a 70 en el caso de las imágenes moderadamente grandes. En el formato VP8, la llamada partición de control tiene un límite de 512,000 y se usa para almacenar la siguiente información: si se omite el macrobloque, a qué segmento pertenece, si está codificado como modo intra 4x4 o interno 16x16 y, por último, los modos de predicción que se usarán para cada uno de los subbloques. Para una imagen muy grande, 512k solo deja espacio para unos pocos bits por macrobloque de 16x16. El mínimo absoluto es de 4 bits por macrobloque. La información de omisión, segmento y modo puede usar casi todos estos 4 bits (aunque es poco probable), 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 (intra 4x4). Esto es útil en caso de que se alcance el límite de 512k y se muestre el siguiente mensaje: Código de error: 6 (PARTITION0_OVERFLOW: la partición #0 es demasiado grande para ajustarse a 512k). Si el uso de -partition_limit no es suficiente para cumplir con la restricción de 512,000, se deben usar menos segmentos a fin de ahorrar más bits de encabezado por macrobloque. Consulta la opción -segments.

Opciones de registro

Estas opciones controlan el nivel de salida:

-v
Imprime información adicional (en especial, el tiempo de codificación).
-print_psnr
Informa y calcula el PSNR (proporción de señal a ruido máxima) promedio.
-print_ssim
Calcula e informa el SSIM promedio (métrica de similitud estructural, consulta https://en.wikipedia.org/wiki/SSIM para obtener más detalles).
-print_lsim
Informa y calcula la métrica de similitud local (suma del error más bajo entre los vecinos de píxeles ubicados).
-progress
Informa el progreso de la codificación en porcentaje.
-quiet
No imprimas nada.
-short
Solo imprime información breve (tamaño de archivo de salida y PSNR) para realizar pruebas.
-map int
Genera un mapa ASCII adicional de la información de codificación. Los valores posibles del mapa varían de 1 a 6. Esto solo tiene como objetivo ayudar a la depuración.

Opciones adicionales

Las opciones más avanzadas son las siguientes:

-s width height
Especifica que el archivo de entrada consiste en muestras de &CbCr sin procesar según la recomendación ITU-R BT.601, en formato lineal 4:2:0. El plano de la luma tiene un tamaño de width x height.
-pre int
Especifica algunos pasos de procesamiento previo. El uso de un valor de 2 activará la interpolación seudoaleatoria que depende de la calidad durante la conversión de RGBA - YUVA (solo compresión con pérdida).
-alpha_filter string
Especifica el método de filtrado predictivo para el plano alfa. Una de 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 (ninguno, horizontal, vertical, gradiente). El modo best probará cada modo a la 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 utilizado para la compresión Alfa: 0 o 1. El algoritmo 0 denota la compresión, 1 usa el formato WebP sin pérdida para la compresión. El valor predeterminado es 1.
-exact
Conserva los valores RGB en el área transparente. La configuración predeterminada está desactivada para facilitar la compresión.
-blend_alpha int
Esta opción combina el canal alfa (si está presente) con el origen y usa 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

Una lista de metadatos separados por comas para copiar de la entrada a la salida, si está presente. Valores válidos: all, none, exif, icc, xmp. El valor predeterminado es none.

Ten en cuenta que cada formato de entrada puede no ser compatible con 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 lo escribió el equipo de WebP. La última versión del árbol de fuentes está disponible en https://chromium.googlesource.com/webm/libwebp/.

Esta página manual se escribió para el proyecto de Debian (y es posible que la usen otros).