Avif-cli es una herramienta de línea de comandos que nos permite convertir imágenes a formato AVIF de manera rápida y y sencilla.
El formato de imagen AVIF (AV1 Image File Format) es cada vez más popular debido alta capacidad de compresión y calidad superior en comparación con otros formatos como JPEG y PNG, e incluso Webp.
Avif-cli está basada en sharp
, una biblioteca de procesamiento de imágenes, capaz de manejar imágenes grandes y conversiones en lote.
Aunque AVIF está ganando soporte, aún no es compatible con todos los navegadores y dispositivos. Asegúrate de proporcionar alternativas como JPEG o PNG o incluso WEBP en tu sitio web
Instalación de avif-cli
Para utilizar Avif-cli, primero necesitas instalarlo globalmente usando NPM (el gestor de paquetes de Node.js):
npm install -g avif-cli
Este comando instalará Avif-cli y la hará accesible desde cualquier lugar.
Uso de Avif-cli
Conversión básica
Para convertir una sola imagen, utiliza el siguiente comando:
avif input.jpg -o output.avif
Aquí, input.jpg
es la imagen que deseas convertir, y output.avif
es el nombre del archivo convertido.
Opciones avanzadas
Avif-cli ofrece una gran cantidad amplia gama de opciones que te permiten controlar aspectos específicos de la conversión.
Parámetro | Descripción | Valor Predeterminado |
---|---|---|
--input | Nombre(s) de archivo(s) de entrada | *.{jpg,jpeg,tif,tiff,webp,png,gif,svg} |
--output | Directorio de salida, por defecto es el mismo directorio que el de entrada | "" |
--quality | Calidad vs tamaño de archivo, de 1 (mínima) a 100 (máxima) | 50 |
--effort | Esfuerzo de CPU vs tamaño de archivo, de 0 (más rápido/más grande) a 9 (más lento/más pequeño) | 4 |
--lossless | Usar compresión sin pérdida | false |
--chroma-subsampling | Submuestreo de croma, opciones: ‘4:2:0’ (submuestreo) o ‘4:4:4’ (sin submuestreo) | 4:4:4 |
--keep-metadata | Mantener todos los metadatos | false |
--overwrite | Permitir sobrescribir archivos de salida existentes | false |
--append-ext | Añadir .avif al nombre del archivo en lugar de reemplazar la extensión actual | false |
--verbose | Escribir progreso en stdout | false |
-h, --help | Mostrar ayuda | false |
--version | Mostrar número de versión | false |
Conversión de un directorio completo
Para convertir todas las imágenes en un directorio, puedes usar el siguiente comando:
avif /ruta/a/directorio/* -o /ruta/a/salida/
Esto convertirá todas las imágenes del directorio especificado a formato AVIF y las guardará en la carpeta de salida indicada.
Convertir múltiples imágenes en lote
Si tienes varias imágenes que deseas convertir, puedes hacerlo en lote usando el siguiente comando:
avif *.jpg -o output/
Este comando convierte todas las imágenes con extensión .jpg
en el directorio actual a formato AVIF y guarda los archivos convertidos en un directorio llamado output
.
Ajustar la calidad de la compresión
Puedes controlar la calidad de la imagen AVIF resultante ajustando el parámetro de calidad. El valor de calidad puede variar de 0 (peor calidad y mayor compresión) a 100 (mejor calidad y menor compresión).
avif input.jpg -o output.avif -q 40
En este ejemplo, la calidad de la imagen se ha ajustado al 40%.
Avif-cli es Open Source, y todo el código y documentación está disponible en el repositorio del proyecto en GitHub - lovell/avif-cli