¿Conoce alguna herramienta (preferiblemente la línea de comandos) para optimizar automáticamente y sin pérdidas los archivos JPEG que pueda integrar en nuestro entorno de compilación? Para PNG, actualmente estoy usando PNGOUT , y generalmente ahorra alrededor del 40% de ancho de banda / tamaño de imagen.
Por lo menos, me gustaría una herramienta que pueda eliminar los metadatos de los JPG; noté un caso extraño en el que intenté hacer una miniatura a partir de una fotografía y no pude obtener un tamaño inferior a 34 kB. Después de investigar más, descubrí que los datos EXIF seguían siendo parte de la imagen y la miniatura era de 3 kB después de eliminar los metadatos.
Y más allá de eso, ¿es posible optimizar aún más los JPG sin pérdidas? El optimizador PNG prueba diferentes estrategias de compresión, inicialización aleatoria de la codificación Huffmann, etc.
Soy consciente de que la mayoría de los ahorros provienen del parámetro de calidad JPEG y que es una medida bastante subjetiva. Solo estoy buscando una herramienta que se pueda ejecutar como un paso de compilación y que exprima sin pérdidas algunos bytes de las imágenes.
fuente
Respuestas:
Utilizo libjpeg para operaciones sin pérdidas. Contiene una herramienta de línea de comandos jpegtran que puede hacer todo lo que quieras. Con la opción de línea de comandos, se eliminan
-copy none
todos los metadatos y se-optimize
realiza una optimización sin pérdidas de la compresión de Huffmann. También puede convertir las imágenes al modo progresivo con-progressive
, pero eso podría causar problemas de compatibilidad (¿alguien sabe más sobre eso?)fuente
Escribí una GUI para todas las herramientas de optimización de imágenes que pude encontrar , incluido MozJPEG y
jpegoptim
que optimizan tablas de Huffman, escaneos progresivos y (opcionalmente) eliminan metadatos invisibles.Si no tienes una Mac, también tengo una interfaz web básica que funciona en cualquier plataforma.
fuente
[SÓLO WINDOWS]
RIOT (Radical Image Optimization Tool) ¡Esta es la mejor herramienta de optimización de imágenes que he encontrado!
http://luci.criosweb.ro/riot/
Puede obtener fácilmente una imagen de 10 MB hasta 800 KB mediante submuestreo. Es compatible con PNG, GIF y JPEG. Incluso se integra en menús contextuales para que pueda enviar imágenes directamente allí. Le permite rotar, cambiar el tamaño, comprimir a KB especificados y más. También tiene complementos para GIMP e IrfanView y otras cosas.
También hay una DLL disponible si desea incorporarla a sus propios programas o programa java script / c ++.
Otra alternativa es http://pnggauntlet.com/ PNGGAUNTLET tarda una eternidad pero hace un buen trabajo.
[SÓLO WINDOWS]
fuente
Un nuevo servicio llamado JPEGmini produce resultados increíbles.
Es una pena que solo esté en línea.Editar : ahora está disponible para Windows y Macfuente
Probé varias de las sugerencias anteriores; personalmente, buscaba una compresión sin pérdidas.
Mi imagen de muestra tenía un tamaño original de 67,737 bytes.
Usando kraken.io, bajó a 64,718 Usando jpegtran, bajó a 64,718 Usando yahoo smush-it, bajó a 61,746 Usando imagemagick (-strip), bajó a 65,312
La opción smush.py parece prometedora, pero la instalación fue demasiado compleja para hacerla rápidamente
jpegrescan también parece prometedor, pero parece ser Unix y estoy usando Windows
jpegmini NO es sin pérdidas, pero no puedo notar la diferencia (hasta 22,172)
La aplicación Altrasoft jpegstripper de plinth no funciona en mi Windows 7
jpegoptim no es Windows, no es bueno para mí
Riot (manteniendo la calidad al 100%) lo bajó a 63,416 y con el submuestreo de croma configurado en alto, lo bajó a 61,912; sin embargo, no sé si eso es sin pérdidas o no, y creo que se ve más liviano que el original .
Entonces mi veredicto es yahoo smushit si debe ser sin pérdidas
fuente
Probaría Imagemagick. Tiene toneladas de opciones de línea de comandos, es gratis y tiene una buena licencia. http://www.imagemagick.org
Parece haber una opción llamada Strip que puede ayudarlo: http://www.imagemagick.org/script/command-line-options.php#strip
fuente
ImageOptim es realmente hábil. La opción de línea de comando publicada por el autor llenará la GUI y mostrará el progreso. Usé jpegtran para optimizar y convertir a progresivo, luego ImageOptim para optimizaciones progresivas adicionales y para otros tipos de archivos.
La reutilización del código de script también se encuentra en este foro (todos los archivos reemplazados en su lugar):
jpegtran
ImageOptim
fuente
En caso de que alguien esté mirando, he escrito una versión sin conexión de Smush.it de Yahoo. Optimiza sin pérdidas png, jpgs y gifs (animados y estáticos):
http://github.com/thebeansgroup/smush.py
fuente
Puede usar jpegoptim que optimizará sin pérdidas los archivos jpeg de forma predeterminada. La
--strip-all
opción elimina toda la información adicional incrustada. También puede especificar un modo con pérdida con el--max
interruptor, que es útil cuando tiene imágenes guardadas con una configuración de muy alta calidad, que no es necesaria para, por ejemplo. contenido web.Obtiene una optimización similar a la de jpegtran (consulte la respuesta de OutOfMemory) pero jpegoptim no puede guardar en jpegs progresivos.
fuente
Escribí una herramienta de línea de comandos llamada 'picopt' (similar a ImageOptim) que usa programas externos para optimizar archivos JPEG, PNG, GIFS, GIF animados e incluso contenido de archivo de cómics (CBR / CBZ).
Esto es adecuado para usar con homebrew en sistemas OS X o Linux donde haya instalado herramientas como jpegrescan, jpegtran, optipng, gifsicle, etc.
https://github.com/ajslater/picopt
fuente
Yo también recomendaría ImageMagick . Tiene una opción de línea de comando para eliminar metadatos EXIF
Hay muchas otras herramientas que hacen lo mismo.
En lo que respecta a la recompresión de archivos JPEG, no lo haga. Para empezar, los archivos JPEG tienen pérdidas, por lo que cualquier forma de recompresión solo dañará la calidad de la imagen. Sin embargo, si tiene imágenes codificadas sin pérdida, algunos codificadores hacen un mejor trabajo que otros. He notado que los archivos JPEG hechos con Photoshop se ven mejor constantemente que cuando se codifican con ImageMagick (a pesar del mismo tamaño de archivo) debido a razones complicadas . Además (y esto es relevante para usted), sé que al menos Photoshop puede guardar archivos JPEG como optimizados, lo que significa que eliminan la compatibilidad con algunas cosas que probablemente no le importan para ahorrar un par de KB. Además, asegúrese de no tener ningún perfil de color incrustado y es posible que pueda guardar otro par de KB.
fuente
Recomendaría usar http://kraken.io Es una aplicación web ultrarrápida que optimizará sus archivos PNG y JPEG mucho mejor que smush.it.
fuente
Recomiendo usar JpegOptim, es gratis y realmente agradable, puedes especificar la calidad, el tamaño que quieras ... Y fácil de usar en la línea de comandos.
JpegOptim
fuente
Puedo recomendar esto para una transparencia cercana:
Utiliza ImageMagick 's
convert
yjpeg-recompress
de jpeg-archivo .Ambos son de código abierto y funcionan en Windows, Mac y Linux. Es posible que desee modificar las opciones anteriores para diferentes expectativas de calidad.
fuente