Il y a quelques jours, nous avons écrit un tutoriel très utile sur la façon d'optimiser/compresser les fichiers PNG sous Linux à l'aide de la fantastique commande optipng. Cependant, de nombreux utilisateurs ont également des fichiers JPG / JPEG, qui sont largement utilisés pour les photographies haute résolution. Quelle est la commande Linux d'optimisation d'image jpeg pour compresser ces fichiers ?
Qu'est-ce que le format JPG ?
Le format de fichier JPG est l'un des formats d'image les plus anciens et les plus utilisés sur le World Wide Web. C'est vraiment utile et suggéré pour les images photo haute résolution. JPEG permet plusieurs degrés de compression qui peuvent être ajustés manuellement lorsque vous prenez une photo ou modifiez une photo sur un éditeur de photos, le niveau de compression peut être réglé entre 10:1 avec peu ou pas de perte perceptible de la qualité de la photographie.
Jpegoptim :la meilleure commande d'optimisation d'image Jpeg sous Linux
Les photos jpeg peuvent consommer votre bande passante si vous ne les optimisez pas. De nombreux utilisateurs prennent généralement une photo avec leur téléphone ou leur appareil photo numérique, et en raison de la haute résolution / qualité de ces appareils photo, le résultat est une superbe image, mais lorsque vous téléchargez ces images sur un site Web, vous remarquerez qu'elles prennent une éternité à charger.
Dans cet article, nous essaierons de répondre à des questions telles que :
- Comment puis-je compresser/optimiser les images JPEG sur mon serveur Linux ?
- Comment puis-je économiser de la bande passante sur mes images CDN sur Amazon Cloud front, Cloudflare ou MaxCDN ?
- Est-il possible d'utiliser un compresseur d'image pour créer une compression sans perte sur les fichiers JPEG/JPEG en vrac à l'aide de Linux, et en même temps éviter la perte de qualité d'image ?
Voyons quelles sont les meilleures options pour compresser les fichiers jpeg, il existe de nombreux outils de compression jpeg en ligne, cependant, si vous avez un contrôle root total sur votre serveur Linux / Unix, il existe un meilleur moyen d'optimiser jpeg, nous utiliserons un célèbre outil de compression jpeg (réducteur jpg) qui fera tout le travail pour vous.
Oubliez les anciennes méthodes lentes d'optimisation jpeg et optimisez les fichiers jpg à l'aide de compresseurs en ligne, avec jpegtrim, vous pourrez même compresser plusieurs fichiers jpg avec une seule commande. Commençons.
Optimisez vos fichiers JPEG de deux manières
1) Réduisez la résolution des photos
Vous pouvez utiliser des éditeurs d'images simples comme GIMP, qui est disponible pour toutes les principales distributions Linux. Si vous prenez une photo et qu'elle fait 2000×1024 pixels, réduisez-la de moitié, vous aurez toujours une belle grande image, et votre taille jpeg sera de 50% en moins.
2) Utilisez jpegoptim pour optimiser la taille JPG
La commande jpegoptim est celle qui fera toute la magie. C'est un outil basé sur la ligne de commande qui vous aidera à optimiser/compresser les fichiers jpeg. Cette application vous permet une optimisation sans perte en optimisant les tables JPG Huffman. Ceci est également connu sous le nom d'optimisation d'image "avec perte".
Cette commande est utile pour tout type de serveur basé sur Linux, elle fonctionnera sur des serveurs dédiés, des serveurs vps, des serveurs cloud, et bien sûr, si vous utilisez un CDN comme Akamaik, Cloudfront, Cloudflare, StackPath (MaxCDN), cela vous aidera pour réduire la taille finale du fichier, économisant de la bande passante sur votre fournisseur CDN jour après jour.
Installer jpegoptim sur Ubuntu/Debian
Exécutez cette commande apt-get pour installer cet outil sur des serveurs basés sur Debian :
apt-get install jpegoptim
Installer jpegoptim sur CentOS/RHEL/Fedora
Installez le dépôt EPEL pour vous assurer que jpegoptim sera installé :
yum install epel-release
Installez le paquet :
yum install jpegoptim
Exemples de sorties :
syntaxe jpegoptim / utilisation
L'utilisation de la commande est assez simple :
- jpegoptim
- jpegoptim [options]
Afin d'optimiser une photo, vous pouvez essayer comme vous le voyez ci-dessus :
jpegoptim your-photo.jpeg
Exemples de sorties pour les fichiers photo cPanelTips.com :
[[email protected]:~]jpegoptim Fig.-01.-Screenshot-of-jpeoptim-installation-on-Linux-624x599.jpg Fig.-01.-Screenshot-of-jpeoptim-installation-on-Linux-624x599.jpg 624x599 24bit N JFIF [OK] 53186 --> 51301 bytes (3.54%), optimized. [[email protected]:~]
Comment puis-je traiter ce rétrécissement jpeg en lot/en masse ?
Vous pouvez utiliser une boucle for classique de bash, par exemple :
for i in 1.jpeg 2.jpeg 3.jpeg; do jpegoptim "$i"; done
Options jpegoptim
Voici les options disponibles à partir de la page de manuel en exécutant jpegoptim –help :
jpegoptim v1.4.4 Copyright (c) 1996-2016, Timo Kokkonen Usage: jpegoptim [options] -d, --dest= specify alternative destination directory for optimized files (default is to overwrite originals) -f, --force force optimization -h, --help display this help and exit -m, --max= set maximum image quality factor (disables lossless optimization mode, which is by default on) Valid quality values: 0 - 100 -n, --noaction don't really optimize files, just print results -S, --size= Try to optimize file to given size (disables lossless optimization mode). Target size is specified either in kilo bytes (1 - n) or as percentage (1% - 99%) -T, --threshold= keep old file if the gain is below a threshold (%) -b, --csv print progress info in CSV format -o, --overwrite overwrite target file even if it exists (meaningful only when used with -d, --dest option) -p, --preserve preserve file timestamps -P, --preserve-perms preserve original file permissions by overwriting it -q, --quiet quiet mode -t, --totals print totals after processing all files -v, --verbose enable verbose mode (positively chatty) -V, --version print program version -s, --strip-all strip all markers from output file --strip-none do not strip any markers --strip-com strip Comment markers from output file --strip-exif strip Exif markers from output file --strip-iptc strip IPTC/Photoshop (APP13) markers from output file --strip-icc strip ICC profile markers from output file --strip-xmp strip XMP markers markers from output file --all-normal force all output files to be non-progressive --all-progressive force all output files to be progressive --stdout send output to standard output (instead of a file) --stdin read input from standard input (instead of a file)
À ce stade, vous devriez pouvoir utiliser jpegoptim, probablement la meilleure commande d'optimisation d'image Jpeg Linux disponible pour les distributions Linux modernes.
Connaissez-vous d'autres commandes pour optimiser les fichiers JPEG/JPG sous Linux/Unix ? Partagez vos connaissances avec nous.
Autres lectures :
- jpegoptim
- page de manuel jpegoptim