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 uno de los siguientes:
Muestras de PNG, JPEG, TIFF, WebP o 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. Uso de “-” como nombre de salida dirigirá la salida a 'stdout'. -- string
- Especifica de forma explícita el archivo de entrada. Esta opción es útil si la entrada
archivo comienza con “-” por ejemplo. Esta opción debe aparecer
last
. Se ignorarán las demás opciones posteriores. -h, -help
- Un 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érdidas. Para imágenes con un área completamente transparente,
los valores de píxeles invisibles (R/G/B o Y/U/V) solo se conservarán si
Se usa la opción
-exact
. -near_lossless int
- Especifica el nivel de procesamiento previo de imágenes casi sin pérdida. Esta opción ajusta
valores de píxeles para facilitar la compresibilidad, pero tiene un impacto mínimo en la
calidad. Activa el modo de compresión sin pérdidas automáticamente.
El rango es de
0
(procesamiento previo máximo) a100
(sin procesamiento previo, el predeterminada). El valor típico es de aproximadamente60
. Ten en cuenta que con pérdidas con-q 100
pueden generar mejores resultados. -q float
Especifica el factor de compresión para canales RGB entre
0
y100
. El valor predeterminado es75
.En el caso de la compresión con pérdida (predeterminado), un factor pequeño produce un menor con una calidad inferior. 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
), una El 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 usando un valor de100
.-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 luego se usan las opciones-q
o-m
, estas invalidar el efecto de esta opción.-alpha_q int
Especifica el factor de compresión para la compresión alfa entre
0
y100
La compresión sin pérdida de alfa se logra con un valor de100
, mientras que los valores más bajos dan como resultado una compresión con pérdida. El valor predeterminado es100
.-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
ytext
.Dado que
-preset
reemplaza los otros parámetros de salida (excepto la-q
uno), es preferible que esta opción aparezca primero en el orden de la 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
a6
. El valor predeterminado es4
. 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 tamañowidth
xheight
. Este recorte área 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 (pero no ambos) de los parámetros de ancho o alto es0
, el valor será el siguiente: calculando conservando la relación de aspecto. Nota: El escalamiento se aplica después 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 apenas diferentes 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óncwebp
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
- Establecer una cantidad máxima de pases para usar durante la dicotomía que usan las opciones
-size
o-psnr
. El valor máximo es10
y el predeterminado es1
. Opciones If Se usaron-size
o-psnr
, pero no se especificó-pass
, un valor predeterminado de '6' pases. Si se especifica-pass
, pero ni-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
un tamaño similar a su equivalente 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 desbloqueo, entre
0
(sin filtro) y100
(filtrado máximo). Un valor de0
desactivará todos los filtros. 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 nítida es la imagen de la página de destino. Los valores típicos suelen estar en el rango de20
a50
. -sharpness int
- Especifica la nitidez del filtro (si se usa). El rango es de
0
(el más nítido). a7
(menos intenso). El valor predeterminado es0
. -strong
- Utiliza filtros eficaces (si utilizas un filtro gracias a
-f
de 12 a 1 con la nueva opción). Los filtros fuertes están activados de forma predeterminada. -nostrong
- Inhabilita un filtro potente (si se utiliza un filtro gracias a
-f
). y, en su lugar, usa un filtrado simple. -sharp_yuv
- Usa una conversión de RGB a YUV más precisa y nítida si es necesario. Ten en cuenta que esta es más lento que la configuración predeterminada "rápido" 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 desde
De
0
(algoritmo está desactivado) a100
(el efecto máximo) El valor predeterminado es50
. -segments int
- Cambiar el número de particiones que se usarán durante la segmentación de sns
de codificador-decodificador. Los segmentos deben estar en el rango de
1
a4
. El valor predeterminado es4
. Esta opción no tiene efecto en los métodos 3 y superiores, a menos que se establezca-low_memory
utilizado. -partition_limit int
- Degrada la calidad limitando la cantidad de bits que usan algunos macrobloques.
El rango es de
0
(sin degradación, el valor predeterminado) a100
(degradación completa). Los valores útiles suelen ser de entre30
y70
para las imágenes moderadamente grandes. En el formato VP8, la denominada partición de control tiene un límite de 512,000 y está se usa para almacenar la siguiente información: si el macrobloqueo omitido, a qué segmento pertenece, ya sea codificado como intra 4x4 o en el modo 16 × 16 y, por último, en los modos de predicción que se usarán para cada uno de los subbloques. En el caso de una imagen muy grande, 512k solo deja espacio para unos pocos bits Macrobloque de 16 x 16 El mínimo absoluto es 4 bits por macrobloque. Omitir, segmento y modo puede usar casi todos estos 4 bits (aunque el caso es poco probable), lo que es problemático para imágenes muy grandes. El El factorpartition_limit
controla la frecuencia con la que se ejecuta el modo más costoso (intra 4x4). Esto es útil en caso de que se alcance el límite de 512,000. y se muestra el siguiente mensaje: Error code: 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
Estas 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
- Calcular e informar la métrica de similitud local (suma del menor error entre los vecinos de píxeles colocados).
-progress
- Informa el progreso de la codificación en porcentaje.
-quiet
- No imprimas nada.
-short
- Solo imprimir información breve (tamaño del archivo de salida y PSNR) para las pruebas comercial.
-map int
- Da como resultado un mapa ASCII adicional de información de codificación. Posibles valores del mapa
rango de
1
a6
. El único objetivo de esto es facilitar la depuración.
Opciones adicionales
Las opciones más avanzadas son las siguientes:
-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
xheight
. -pre int
- Especificar algunos pasos para el procesamiento previo El uso de un valor de
2
activará interpolación pseudoaleatoria 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. Uno de
none
,fast
obest
, en orden creciente de complejidad y lentitud. La cantidad predeterminada esfast
. Internamente, el filtrado alfa se realiza utilizando cuatro predicciones posibles (ninguna, horizontal, vertical, gradiente). Elbest
probará cada uno de a uno y elegirá el que le da al dispositivo de tamaño del ensamble. El modofast
solo intentará formar una suposición a priori sin y pruebas todos los modos. -alpha_method int
- Especifica el algoritmo que se usa para la compresión alfa:
0
o1
. Algoritmo0
denota no compresión,1
usa el formato WebP sin pérdida para compresión. El valor predeterminado es1
. -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. Alfa
el canal se restablece luego 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
ograph
. -metadata string
Una lista de metadatos separados por comas para copiar de la entrada al resultado si presente. Valores válidos:
all
,none
,exif
,icc
yxmp
. El valor predeterminado esnone
.Ten en cuenta que es posible que cada formato de entrada no admita todas las combinaciones.
-noasm
Inhabilita todas las optimizaciones de ensamblado.
Errores
Informa todos los errores a la Herramienta de seguimiento de errores: https://issues.webmproject.org.
¡Te damos la bienvenida a los parches! Para comenzar, consulta esta página: https://www.webmproject.org/code/contribute/submitting-patches/
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 fuentes 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).