Website-Suche

So optimieren und komprimieren Sie JPEG- oder PNG-Bilder in der Linux-Befehlszeile


Sie haben viele Bilder und möchten die Bilder optimieren und komprimieren, ohne ihre ursprüngliche Qualität zu verlieren, bevor Sie sie in eine Cloud oder einen lokalen Speicher hochladen? Es stehen zahlreiche GUI-Anwendungen zur Verfügung, die Ihnen bei der Optimierung der Bilder helfen. Hier sind jedoch zwei einfache Befehlszeilen-Dienstprogramme zum Optimieren von Bildern:

  1. jpegoptim – ist ein Dienstprogramm zum Optimieren/Komprimieren von JPEG-Dateien ohne Qualitätsverlust.
  2. OptiPNG – ist ein kleines Programm, das PNG-Bilder auf eine kleinere Größe optimiert, ohne dass dabei Informationen verloren gehen.

Mit diesen beiden Tools können Sie entweder ein einzelnes oder mehrere Bilder gleichzeitig optimieren.

Komprimieren oder optimieren Sie JPEG-Bilder über die Befehlszeile

jpegoptim ist ein Befehlszeilentool, mit dem JPEG-, JPG- und JFIF-Dateien optimiert und komprimiert werden können, ohne dass die tatsächliche Qualität verloren geht. Dieses Tool unterstützt die verlustfreie Optimierung, die auf der Optimierung der Huffman-Tabellen basiert.

Installieren Sie jpegoptim unter Linux

Um jpegoptim auf Ihren Linux-Systemen zu installieren, führen Sie den folgenden Befehl von Ihrem Terminal aus aus.

Über Debian und seine Derivate
apt-get install jpegoptim
or
sudo apt-get install jpegoptim
Auf RedHat-basierten Systemen

Auf RPM-basierten Systemen wie RHEL, CentOS, Fedora usw. müssen Sie das EPEL-Repository installieren und aktivieren. Alternativ können Sie auch Epel installieren Repository direkt über die Befehlszeile wie gezeigt:

yum install epel-release
dnf install epel-release    [On Fedora 22+ versions]

Als nächstes installieren Sie das jpegoptim-Programm aus dem Repository wie gezeigt:

yum install jpegoptim
dnf install jpegoptim    [On Fedora 22+ versions]

So verwenden Sie Jpegoptim Image Optimizer

Die Syntax von jpegoptm lautet:

jpegoptim filename.jpeg
jpegoptim [options] filename.jpeg

Komprimieren wir nun das folgende tecmint.jpeg-Bild, aber bevor Sie das Bild optimieren, ermitteln Sie zunächst die tatsächliche Größe des Bildes mit dem Befehl du, wie gezeigt.

du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Hier beträgt die tatsächliche Dateigröße 6,2 MB. Komprimieren Sie diese Datei nun, indem Sie Folgendes ausführen:

jpegoptim tecmint.jpeg 

Öffnen Sie das komprimierte Bild in einer beliebigen Bildbetrachtungsanwendung. Sie werden keine großen Unterschiede feststellen. Die Quell- und komprimierten Bilder haben die gleiche Qualität.

Der obige Befehl optimiert die Bilder auf die maximal mögliche Größe. Sie können das angegebene Bild jedoch auf eine bestimmte Größe komprimieren, dies deaktiviert jedoch die verlustfreie Optimierung.

Lassen Sie uns beispielsweise das obige Bild von 5,6 MB auf etwa 250 KB komprimieren.

jpegoptim --size=250k tecmint.jpeg

Batch-JPEG-Bildkomprimierung und -optimierung

Sie fragen sich vielleicht, wie man die Bilder im gesamten Verzeichnis komprimiert, das ist auch nicht schwierig. Gehen Sie in das Verzeichnis, in dem Sie die Bilder haben.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/img $ ls -l
total 65184
-rwxr----- 1 tecmint tecmint 6680532 Jan 19 12:21 DSC_0310.JPG
-rwxr----- 1 tecmint tecmint 6846248 Jan 19 12:21 DSC_0311.JPG
-rwxr----- 1 tecmint tecmint 7174430 Jan 19 12:21 DSC_0312.JPG
-rwxr----- 1 tecmint tecmint 6514309 Jan 19 12:21 DSC_0313.JPG
-rwxr----- 1 tecmint tecmint 6755589 Jan 19 12:21 DSC_0314.JPG
-rwxr----- 1 tecmint tecmint 6789763 Jan 19 12:21 DSC_0315.JPG
-rwxr----- 1 tecmint tecmint 6958387 Jan 19 12:21 DSC_0316.JPG
-rwxr----- 1 tecmint tecmint 6463855 Jan 19 12:21 DSC_0317.JPG
-rwxr----- 1 tecmint tecmint 6614855 Jan 19 12:21 DSC_0318.JPG
-rwxr----- 1 tecmint tecmint 5931738 Jan 19 12:21 DSC_0319.JPG

Führen Sie dann den folgenden Befehl aus, um alle Bilder auf einmal zu komprimieren.

tecmint@tecmint ~/img $ jpegoptim *.JPG
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.
DSC_0313.JPG 6000x4000 24bit N Exif  [OK] 6514309 --> 5909840 bytes (9.28%), optimized.
DSC_0314.JPG 6000x4000 24bit N Exif  [OK] 6755589 --> 6144165 bytes (9.05%), optimized.
DSC_0315.JPG 6000x4000 24bit N Exif  [OK] 6789763 --> 6090645 bytes (10.30%), optimized.
DSC_0316.JPG 6000x4000 24bit N Exif  [OK] 6958387 --> 6354320 bytes (8.68%), optimized.
DSC_0317.JPG 6000x4000 24bit N Exif  [OK] 6463855 --> 5909298 bytes (8.58%), optimized.
DSC_0318.JPG 6000x4000 24bit N Exif  [OK] 6614855 --> 6016006 bytes (9.05%), optimized.
DSC_0319.JPG 6000x4000 24bit N Exif  [OK] 5931738 --> 5337023 bytes (10.03%), optimized.

Sie können auch mehrere ausgewählte Bilder gleichzeitig komprimieren:

$ jpegoptim DSC_0310.JPG DSC_0311.JPG DSC_0312.JPG 
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.

Weitere Informationen zum jpegoptim-Tool finden Sie in den Manpages.

man jpegoptim 

Komprimieren oder optimieren Sie PNG-Bilder über die Befehlszeile

OptiPNG ist ein Befehlszeilentool zum Optimieren und Komprimieren von PNG-Dateien (Portable Network Graphics), ohne die ursprüngliche Qualität zu verlieren.

Die Installation und Verwendung von OptiPNG ist der von jpegoptim sehr ähnlich.

Installieren Sie OptiPNG unter Linux

Um OptiPNG auf Ihren Linux-Systemen zu installieren, führen Sie den folgenden Befehl von Ihrem Terminal aus.

Über Debian und seine Derivate
apt-get install optipng
or
sudo apt-get install optipng
Auf RedHat-basierten Systemen
yum install optipng
dnf install optipng    [On Fedora 22+ versions]

Hinweis: Auf Ihren RHEL/CentOS-basierten Systemen muss das epel-Repository aktiviert sein, um optipng zu installieren Programm.

So verwenden Sie OptiPNG Image Optimizer

Die allgemeine Syntax von optipng lautet:

optipng filename.png
optipng [options] filename.png

Lassen Sie uns das Bild tecmint.png komprimieren, aber vor der Optimierung überprüfen Sie zunächst die tatsächliche Größe des Bildes wie gezeigt:

tecmint@tecmint ~/img $ ls -lh tecmint.png 
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png

Hier beträgt die tatsächliche Dateigröße des obigen Bilds 350 KB. Komprimieren Sie diese Datei nun, indem Sie Folgendes ausführen:

tecmint@tecmint ~/img $ optipng tecmint.png 
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: tecmint.png
1493x914 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 357525 bytes
Input file size = 358098 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211

Output IDAT size = 249211 bytes (108314 bytes decrease)
Output file size = 249268 bytes (108830 bytes = 30.39% decrease)

Wie Sie in der obigen Ausgabe sehen können, wurde die Größe der Datei tecmint.png um bis zu 30,39 % reduziert. Überprüfen Sie nun erneut die Dateigröße mit:

tecmint@tecmint ~/img $ ls -lh tecmint.png 
-rw-r--r-- 1 tecmint tecmint 244K Jan 19 12:56 tecmint.png

Öffnen Sie das komprimierte Bild in einer beliebigen Bildbetrachtungsanwendung. Sie werden keine großen Unterschiede zwischen der Original- und der komprimierten Datei feststellen. Die Quell- und komprimierten Bilder haben die gleiche Qualität.

Batch-PNG-Bildkomprimierung und -optimierung

Um Stapel- oder mehrere PNG-Bilder gleichzeitig zu komprimieren, gehen Sie einfach in das Verzeichnis, in dem sich alle Bilder befinden, und führen Sie zum Komprimieren den folgenden Befehl aus.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/img $ optipng *.png

OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: Debian-8.png
720x345 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 95151 bytes
Input file size = 95429 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388

Output IDAT size = 81388 bytes (13763 bytes decrease)
Output file size = 81642 bytes (13787 bytes = 14.45% decrease)

** Processing: Fedora-22.png
720x345 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 259678 bytes
Input file size = 260053 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 222479
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 220311
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744
                               
Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744

Output IDAT size = 216744 bytes (42934 bytes decrease)
Output file size = 217035 bytes (43018 bytes = 16.54% decrease)
....

Weitere Informationen zu optipng finden Sie in den Manpages.

man optipng

Abschluss

Wenn Sie ein Webmaster sind und optimierte Bilder auf Ihrer Website oder einem Blog bereitstellen möchten, können diese Tools sehr praktisch sein. Diese Tools sparen nicht nur Speicherplatz, sondern reduzieren auch die Bandbreite beim Hochladen der Bilder.

Wenn Sie einen anderen besseren Weg kennen, das Gleiche zu erreichen, lassen Sie es uns in den Kommentaren wissen und vergessen Sie nicht, diesen Artikel in Ihren sozialen Netzwerken zu teilen und uns zu unterstützen.