¿Cómo redimensionar por lotes millones de imágenes para que se ajusten a un ancho y alto máximos?
Estoy buscando una forma de redimensionar por lotes aproximadamente 15 millones de imágenes de diferentes tipos de archivos para ajustarse a una determinada resolución de cuadro delimitador (en este caso, las imágenes no pueden ser más grandes que 1024 * 1024), sin distorsionar la imagen y, por lo tanto, conservando la relación de aspecto correcta. Todos los archivos se encuentran actualmente en un servidor Linux en el que tengo acceso a sudo, por lo que si necesito instalar algo, estoy listo.
Cosas que he probadoDespués de jugar con algunas herramientas en Windows (Adobe Photoshop y otras herramientas) ya no estoy dispuesto a ejecutar esto en mi propia máquina, ya que esto hace que sea prácticamente inutilizable al renderizar. Teniendo en cuenta el tamaño de este trabajo, realmente estoy buscando algo de magia de línea de comandos para ejecutarlo directamente en Linux, pero mis esfuerzos con ImageMagick hasta ahora no me han dado nada con lo que trabajar, ya que no recibo nada más que errores. Para ser honesto, la documentación de ImageMagick podría usar algo de trabajo ... o alguien debería hacer un esfuerzo para hacer una buena interfaz web para crear una de estas líneas míticas de conversión de imágenes.
Formato de salida requeridoNecesito cambiar el tamaño de las imágenes al mismo nombre de archivo y en un formato que se ajuste a una determinada dimensión máxima, por ejemplo 1024 * 1024, lo que significa:
un JPG de 2048 * 1024 se convierte en un JPG de 1024 * 512 con un 75% de calidadun PNG de 1024 * 2048 se convierte en un PNG de 512 * 1024La imagen resultante no debe contener píxeles transparentes adicionales para llenar los píxeles restantes; Solo estoy buscando una forma de convertir las imágenes a una resolución limitada.
¡Gracias por cualquier ayuda!