Python's Pillow no parece admitir archivos AVIF todavía , y otros paquetes como pyheif , solo admiten lectura. ¿Hay alguna herramienta de Python para convertir imágenes jpg al nuevo formato avif ?
Hasta donde yo sé, no hay soporte para 'avif' en este momento. Pero hay soportes de API. Por ejemplo, esta API está funcionando bien. Tal vez podrían ocurrir problemas de seguridad. El sitio web no se ve bien, pero funciona bien.
Revisé un poco el código fuente de la API y descubrí que puede realizar esta conversión sin necesidad de esta API. API está usando el comando magick para hacer esta conversión. No sé cómo usar este comando, pero creo que podría averiguarlo si busca un poco o revisa el código fuente.
Lo mejor que pude encontrar hasta ahora fue instalar libavif :
brew install libavif
Y codifique los archivos jpg directamente ejecutando el codificador avif:
import subprocess input_file = '/some-path/file1.jpg' output_file = '/some-path/file1.avif' subprocess.run(f"avifenc --min 0 --max 63 -a end-usage=q -a cq-level=18 -a tune=ssim {input_file} {output_file}", shell=True) Las opciones --min 0 --max 63 -a end-usage=q -a cq-level=18 -a tune=ssim son algunas configuraciones recomendadas para imágenes AVIF.
Puedes hacer esto con pillow y pillow-avif-plugin :
from PIL import Image import pillow_avif JPGimg = Image.open(<filename> + 'jpg') JPGimg.save(<filename> + '.AVIF','AVIF')Necesitas instalar la almohada AVIF para hacer eso.