Saltar al contenido principal
🇬🇧 English 🇧🇷 Português 🇩🇪 Deutsch
Convertidor de imágenes Convertidor de vídeo Convertidor de audio Convertidor de documentos
Herramientas Guías Formatos Precios API
Iniciar sesión
Guía

Convertir imágenes en lote (batch): guía con FFmpeg, ImageMagick y Photoshop

PC Por Pablo Cirre

Preguntas frecuentes

XnConvert es excelente — interfaz gráfica clara, soporta los mismos formatos que ImageMagick (de hecho usa libs similares), permite encadenar múltiples acciones (resize → strip metadata → convert) y guarda perfiles reutilizables. Para procesar 50-1000 archivos sin scripting es la opción más cómoda. ImageMagick CLI gana cuando: necesitas integrar en pipelines automatizados, procesar millones de archivos (XnConvert es lento por overhead GUI), trabajar en servidor sin display, o aplicar transformaciones que XnConvert no expone. Para uso ocasional manual: XnConvert. Para automatización: ImageMagick.

En la práctica el límite es la RAM del sistema y el espacio temporal en /tmp (ImageMagick descomprime cada imagen ahí). Una máquina con 8 GB RAM procesa cómodamente lotes de 5.000-10.000 JPGs medios. Para 100k+ archivos: (1) procesa en chunks de 1.000 con find + split, (2) limita memoria por proceso con -limit memory 1GB, (3) limpia /tmp entre chunks. La paralelización con xargs -P escala con cores; en un servidor 32-core puedes procesar fácilmente 1 millón de imágenes en una hora si caben en disco.

cwebp es el codificador WebP de referencia de Google, escrito específicamente para WebP con heurísticas perceptuales muy afinadas. ImageMagick usa libwebp (la misma librería base) pero con un wrapper genérico que no aprovecha todas las opciones. A misma calidad visual, cwebp produce archivos 5-15% más pequeños y respeta mejor la jerarquía de detalles importantes/ignorables del ojo humano. Para batch web optimization donde cada KB cuenta, cwebp con <code>-q 80 -m 6</code> es la mejor opción. ImageMagick gana en versatilidad (otros formatos, transformaciones complejas).

ImageMagick no chequea por defecto. Tres patrones para evitarlo: (1) procesa a una carpeta destino distinta — nunca al mismo directorio que los originales, (2) en bash añade un check explícito: <code>for f in *.png; do [ -f "${f%.png}.jpg" ] || magick "$f" "${f%.png}.jpg"; done</code>, (3) usa <code>cp -n</code> después si quieres mover, no sobrescribir. La opción más robusta es siempre la (1) — separar input/output en directorios diferentes. <code>magick mogrify</code> es especialmente peligroso porque sobrescribe siempre.

No — el archivo destino tiene la fecha de creación de la conversión, no la del original. Para preservar timestamps usa <code>touch -r original.png nuevo.jpg</code> después de cada conversión, o GNU parallel con <code>--keep-order</code>. Si los EXIF tienen fecha de captura (típico en fotos), conviene también copiar EXIF al destino: <code>exiftool -tagsFromFile original.png nuevo.jpg</code>. Para fotos de móvil donde la organización por fecha importa, este paso es crítico — sin él los nuevos archivos parecen "todos creados hoy" y el ordenamiento cronológico se pierde.

Ctrl+C es seguro — interrumpe el proceso actual pero los archivos ya generados quedan completos y válidos. ImageMagick escribe el archivo destino solo cuando la conversión termina exitosamente; si se interrumpe a medio archivo, no queda un archivo corrupto, simplemente no existe. Excepción: si usas <code>mogrify</code> que sobrescribe en sitio, el archivo en proceso puede quedar corrupto (raro pero posible). Por eso la regla de oro es siempre escribir a un directorio destino separado — Ctrl+C deja el directorio destino con un subset de archivos completos y el original intacto.

Usamos cookies y tecnologías similares para personalizar contenido y anuncios, y para analizar el tráfico. Más información sobre cookies.