Connaissez-vous des outils (de préférence en ligne de commande) pour optimiser automatiquement et sans perte les fichiers JPEG que je pourrais intégrer dans notre environnement de construction? Pour les PNG, j'utilise actuellement PNGOUT , et cela économise généralement environ 40% de bande passante / taille d'image.
À tout le moins, j'aimerais un outil capable de supprimer les métadonnées des JPG - j'ai remarqué un cas étrange où j'ai essayé de créer une vignette à partir d'une photo et je ne pouvais pas la réduire à 34 ko. Après avoir enquêté davantage, j'ai trouvé que les données EXIF faisaient toujours partie de l'image et que la vignette faisait 3 Ko après la suppression des métadonnées.
Et au-delà de cela, est-il possible d'optimiser davantage les JPG sans perte? L'optimiseur PNG essaie différentes stratégies de compression, l'initialisation aléatoire de l'encodage Huffmann, etc.
Je suis conscient que la plupart des économies proviennent du paramètre de qualité JPEG et que c'est une mesure plutôt subjective. Je recherche uniquement un outil qui peut être exécuté comme étape de construction et qui extrait sans perte quelques octets des images.
la source
Réponses:
J'utilise libjpeg pour des opérations sans perte. Il contient un outil de ligne de commande jpegtran qui peut faire tout ce que vous voulez. Avec l'option de ligne de commande,
-copy none
toutes les métadonnées sont supprimées et-optimize
optimise sans perte la compression Huffmann. Vous pouvez également convertir les images en mode progressif avec-progressive
, mais cela pourrait poser des problèmes de compatibilité (est-ce que quelqu'un en sait plus à ce sujet?)la source
J'ai écrit une interface graphique pour tous les outils d'optimisation d'image que j'ai pu trouver , y compris MozJPEG et
jpegoptim
qui optimisent les tables de Huffman, les analyses progressives et (éventuellement) suppriment les métadonnées invisibles.Si vous n'avez pas de Mac, j'ai également une interface Web de base qui fonctionne sur n'importe quelle plate-forme.
la source
[WINDOWS SEULEMENT]
RIOT (Radical Image Optimization Tool) C'est le meilleur outil d'optimisation d'image que j'ai trouvé!
http://luci.criosweb.ro/riot/
Vous pouvez facilement obtenir une image de 10 Mo à 800 Ko par sous-échantillonnage. Il prend en charge les formats PNG, GIF et JPEG. Il s'intègre même dans les menus contextuels pour que vous puissiez y envoyer des images directement. Vous permet de faire pivoter, de redimensionner, de compresser en Ko spécifiés, etc. A également des plugins pour GIMP et IrfanView et d'autres choses.
Il existe également une DLL disponible si vous souhaitez l'intégrer dans vos propres programmes ou programme java script / c ++.
Une autre alternative est http://pnggauntlet.com/ PNGGAUNTLET prend une éternité, mais il fait un très bon travail.
[WINDOWS SEULEMENT]
la source
Un nouveau service appelé JPEGmini produit des résultats incroyables.
Dommage que ce soit uniquement en ligne.Edit : il est maintenant disponible pour Windows et Macla source
J'ai essayé un certain nombre des suggestions ci-dessus - personnellement, j'étais après une compression sans perte.
Mon exemple d'image avait une taille originale de 67 737 octets.
En utilisant kraken.io, il est passé à 64718 En utilisant jpegtran, il est passé à 64718 En utilisant yahoo smush-it, il est passé à 61746 En utilisant imagemagick (-strip), il est passé à 65312
L'option smush.py semble prometteuse, mais l'installation était trop complexe pour que je puisse la faire rapidement
jpegrescan semble aussi prometteur, mais semble être unix et j'utilise Windows
jpegmini n'est PAS sans perte, mais je ne peux pas faire la différence (jusqu'à 22172)
L'application jpegstripper Altrasoft de plinth ne fonctionne pas sous Windows 7
jpegoptim n'est pas Windows - ce n'est pas bon pour moi
Riot (en maintenant la qualité à 100%) l'a ramené à 63416 et avec le sous-échantillonnage de la chrominance réglé sur élevé, il l'a ramené à 61912 - je ne sais pas si c'est sans perte ou non, et je pense qu'il semble plus léger que l'original .
Donc mon verdict est yahoo smushit si ça doit être sans perte
la source
J'essaierais Imagemagick. Il a des tonnes d'options de ligne de commande, c'est gratuit et a une belle licence. http://www.imagemagick.org
Il semble y avoir une option appelée Strip qui peut vous aider: http://www.imagemagick.org/script/command-line-options.php#strip
la source
ImageOptim est vraiment élégant. L'option de ligne de commande publiée par l'auteur remplira l'interface graphique et affichera la progression. J'ai utilisé jpegtran pour l'optimisation et la conversion en progressif, puis ImageOptim pour d'autres optimisations progressives et pour d'autres types de fichiers.
Réutilisation du code de script également trouvé dans ce forum (tous les fichiers remplacés en place):
jpegtran
ImageOptim
la source
Au cas où quelqu'un chercherait, j'ai écrit une version hors ligne de Smush.it de Yahoo. Il optimisera sans perte les png, jpgs et gifs (animés et statiques):
http://github.com/thebeansgroup/smush.py
la source
Vous pouvez utiliser jpegoptim qui optimisera sans perte les fichiers jpeg par défaut. L'
--strip-all
option supprime toutes les informations intégrées supplémentaires. Vous pouvez également spécifier un mode avec perte avec le--max
commutateur, ce qui est utile lorsque vous avez des images enregistrées avec un réglage de très haute qualité, ce qui n'est pas nécessaire par exemple. contenu Web.Vous obtenez une optimisation similaire à celle de jpegtran (voir la réponse de OutOfMemory) mais jpegoptim ne peut pas enregistrer en jpeg progressif.
la source
J'ai écrit un outil de ligne de commande appelé 'picopt' (similaire à ImageOptim) qui utilise des programmes externes pour optimiser les fichiers JPEG, PNG, GIFS, GIFs animés et même le contenu des archives de bandes dessinées (CBR / CBZ).
Cela convient pour une utilisation avec homebrew sur les systèmes OS X ou Linux où vous avez installé des outils tels que jpegrescan, jpegtran, optipng, gifsicle, etc.
https://github.com/ajslater/picopt
la source
Je recommanderais moi aussi ImageMagick . Il a une option de ligne de commande pour supprimer les métadonnées EXIF
Il existe de nombreux autres outils qui font la même chose.
En ce qui concerne la recompression des fichiers JPEG, ne le faites pas. Les fichiers JPEG sont avec perte au départ, donc toute forme de recompression ne fera que nuire à la qualité de l'image. Cependant, si vous avez des images encodées sans perte, certains encodeurs font un meilleur travail que d'autres. J'ai remarqué que les JPEG réalisés avec Photoshop sont toujours plus beaux que lorsqu'ils sont encodés avec ImageMagick (malgré la même taille de fichier) pour des raisons complexes . De plus (et cela vous concerne), je sais qu'au moins Photoshop peut enregistrer les fichiers JPEG comme optimisés, ce qui signifie qu'ils perdent la compatibilité avec certaines choses dont vous ne vous souciez probablement pas d'économiser quelques Ko. Assurez-vous également qu'aucun profil de couleur n'est intégré et que vous pourrez peut-être enregistrer quelques Ko supplémentaires.
la source
Je recommanderais d'utiliser http://kraken.io C'est une application Web ultra-rapide qui optimisera vos fichiers PNG et JPEG bien mieux que smush.it.
la source
Je recommande d'utiliser JpegOptim, c'est gratuit et vraiment sympa, vous pouvez spécifier la qualité, la taille que vous voulez ... Et facile à utiliser en ligne de commande.
JpegOptim
la source
Puis-je recommander ceci pour une quasi-transparence:
Il utilise ImageMagick « s
convert
etjpeg-recompress
de jpeg-archives .Les deux sont open-source et fonctionnent sous Windows, Mac et Linux. Vous voudrez peut-être modifier les options ci-dessus pour différentes attentes de qualité.
la source