UStackUStack
optimo icon

optimo

optimo es una CLI gratuita y open-source para optimizar y convertir imágenes y videos web con compresión según formato basada en ImageMagick y FFmpeg.

optimo

¿Qué es optimo?

optimo es una herramienta CLI gratuita y open-source para optimizar y convertir imágenes y videos para la web. Aplica flujos de compresión específicos por formato basados en ImageMagick para imágenes y FFmpeg para videos, produciendo archivos más pequeños mientras busca resultados predecibles.

El propósito principal de optimo es tomar medios que ya tienes (archivos o directorios) y ejecutar pasos de optimización confiables —opcionalmente incluyendo conversión de formato y redimensionado— sin requerir que ensambles manualmente herramientas y flags distintos para cada formato.

Características principales

  • Pipelines específicos por formato para muchos formatos web: Usa pasos basados en ImageMagick para formatos de imagen (p. ej., PNG, JPEG, WebP, AVIF, HEIC, JPEG XL, GIF, SVG) y compresión basada en FFmpeg para formatos de video (p. ej., MP4, WebM, MOV, MKV, AVI, OGV).
  • Sin pérdidas por defecto, modo con pérdidas opcional: Ejecuta compresión sin pérdidas preservando la calidad a menos que actives --lossy para máxima compresión.
  • Controles de redimensionado en un solo flag: Redimensiona por porcentaje (p. ej., 50%), tamaño de archivo objetivo (p. ej., 100kB) o limita dimensiones con w{number} / h{number}.
  • Modo dry-run para vistas previas seguras: --dry-run muestra qué cambiaría sin modificar archivos —útil para pruebas y verificaciones en CI.
  • Procesamiento por lotes y recursivo de directorios: Procesa directorios recursivamente, omitiendo archivos ocultos y formatos no compatibles automáticamente.
  • API programática lista para Node.js / TypeScript: Usa optimo desde scripts para optimizar archivos individuales (optimo.file) o directorios (optimo.dir), con datos de resultados que incluyen tamaños original/optimizado.
  • Control CLI vía flags simples: Incluye opciones como --format (formato de salida), --mute (eliminar pistas de audio; por defecto true) y controles de logging como --verbose y --silent.
  • Requiere binarios externos para formatos compatibles: Optimo resuelve los compresores requeridos desde tu PATH y genera errores si faltan los binarios necesarios (por ejemplo, herramientas de ImageMagick para formatos de imagen y FFmpeg para videos).

Cómo usar optimo

Comienza ejecutando optimo con --dry-run para verificar qué archivos se optimizarían y cómo cambiarían las salidas. Luego prueba en un archivo individual primero, y solo tras confirmar los resultados, ejecútalo en directorios para procesamiento por lotes.

Flujos comunes incluyen (1) optimizar en sitio para un formato dado, (2) redimensionar con --resize cuando cambien dimensiones o tamaño, y (3) convertir a un formato de salida especificado con --format solo cuando se pretenda la conversión.

Casos de uso

  • Reducir carga de página y almacenamiento para conjuntos mixtos de imágenes: Optimiza un directorio de assets con PNG, JPEG, WebP, AVIF/HEIC, GIF y SVG en una sola ejecución en lugar de manejar cada formato por separado.
  • Aplicar redimensionado controlado para layouts responsivos: Usa --resize para escalar por porcentaje o limitar por ancho/alto (p. ej., w960 o h480) antes de confirmar assets optimizados.
  • Reducir agresivamente medios cuando importa el ancho de banda: Activa --lossy cuando necesites máxima compresión en lugar de preservar calidad con valores por defecto sin pérdidas.
  • Optimizar exportaciones de video con compresión orientada a web: Comprime directorios de video usando configuraciones impulsadas por FFmpeg, opcionalmente silenciando/eliminando pistas de audio vía --mute (por defecto true).
  • Integrar en verificaciones automáticas y control de versiones: Ejecuta --dry-run para validación en CI y configura un hook pre-commit para que archivos de medios en staging se auto-optimizen antes de confirmar cambios.

Preguntas frecuentes

¿En qué se basa optimo?
Optimo usa ImageMagick para procesamiento de imágenes y FFmpeg para compresión de video.

¿optimo modifica archivos por defecto?
No—usa --dry-run para previsualizar cambios sin modificar archivos. Sin --dry-run, optimo ejecuta optimización en las entradas proporcionadas.

¿Puedo elegir formatos de salida?
Sí. Usa la opción --format para convertir la salida a un formato especificado (por ejemplo, convertir una imagen a webp). La documentación del material fuente indica usar --format solo cuando se pretenda la conversión.

¿Cómo maneja optimo el procesamiento por lotes?
Puedes pasar directorios para procesamiento recursivo. Archivos ocultos y formatos no compatibles se omiten automáticamente.

¿Qué herramientas necesito instalar?
Optimo resuelve los compresores requeridos desde tu PATH y genera error si faltan binarios requeridos. Los binarios necesarios varían por formato (p. ej., herramientas relacionadas con ImageMagick para formatos de imagen, FFmpeg para videos).

Alternativas

  • Pipelines genéricos de optimización de imágenes/videos que ensamblas tú mismo: Usar herramientas y flags por separado manualmente (incluyendo ImageMagick/FFmpeg directamente) puede ser flexible, pero suele requerir toma de decisiones específica por formato que optimo centraliza.
  • Herramientas enfocadas en conversión de formatos: Las herramientas que principalmente convierten entre formatos de imagen/video pueden no ofrecer las mismas pipelines de compresión específicas por formato y valores predeterminados optimizados para web.
  • Plugins para sistemas de compilación o pipelines de assets: Las integraciones en pipelines de assets pueden automatizar la optimización durante las compilaciones, pero el flujo de trabajo y el nivel de control granular (p. ej., redimensionado por tamaño de archivo o vistas previas en modo dry-run) pueden diferir de una herramienta CLI-first como optimo.
optimo | UStack