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
Este comando instalará Avif-cli y la hará accesible desde cualquier lugar.
O tambien puedes ejecutarlo directamente con NPX
npx avif
Uso de Avif-cli
Conversión básica
Para convertir una sola imagen, utiliza el siguiente comando:
npx 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:
npx 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:
npx 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).
npx avif input.jpg -o output.avif -quality 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
