GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Optimieren Sie JPEG/JPG-Bilder in Ubuntu mit Jpegoptim

Die Bildauflösungsfähigkeit heutiger Fotoerfassungsgeräte wie Smartphones und Digitalkameras nimmt von Tag zu Tag zu. Der eigentliche Deal kommt, wenn wir diese Bilder teilen, sie in eine Cloud-Einrichtung hochladen oder sie sogar auf einem Gerät mit eingeschränktem Speicherplatz speichern müssen. Auch Grafikdesigner müssen sich mit dem gleichen Problem auseinandersetzen, aber sie sind gut mit Tools ausgestattet, die die Bilder komprimieren können, sodass sie problemlos mit den Beteiligten geteilt werden können.

Für Ubuntu gibt es viele grafische Dienstprogramme, mit denen Sie Ihre JPEGs optimieren und komprimieren können, aber hier werden wir ein Befehlszeilentool namens Jpegoptim diskutieren. Dies ist besonders nützlich für Terminal-Kenner, die ihre Aufgaben gerne mit minimalen Systemressourcen erledigen. Jpegoptim kann Ihnen dabei helfen, Ihre JPEG-, JPG- und JFIF-Dateien mit und ohne Qualitätsverlust zu komprimieren, je nachdem, wonach Sie suchen.

In diesem Artikel beschreiben wir, wie Sie das Befehlszeilenprogramm Jpegoptim auf Ubuntu installieren können. Wir erklären auch verschiedene Möglichkeiten, wie Sie diese Anwendung verwenden können, um Ihre JPEG-Bilddateien zu optimieren und zu komprimieren. Der Artikel wird Sie auch in die Lage versetzen, ein Bash-Skript zu schreiben und auszuführen, das den Prozess der Komprimierung aller JPEG-Dateien in einem einzigen Verzeichnis automatisiert.

Wir haben die in diesem Artikel erwähnten Befehle und Verfahren auf einem Ubuntu 18.04 LTS-System ausgeführt.

Jpegoptim auf Ubuntu installieren

Jpegoptim ist einfach über das offizielle Ubuntu-Repository verfügbar und kann einfach über die Befehlszeile mit dem Befehl apt-get installiert werden.

Öffnen Sie Ihre Terminal-Anwendung entweder über die Suche im Systemstartprogramm oder über die Tastenkombination Strg+Alt+T.

Der nächste Schritt besteht darin, den Repository-Index Ihres Systems mit dem folgenden Befehl zu aktualisieren:

$ sudo apt-get update

Dies hilft Ihnen, die neueste verfügbare Version einer Software aus dem Internet zu installieren. Bitte beachten Sie, dass nur ein autorisierter Benutzer Software auf Ubuntu hinzufügen, entfernen und konfigurieren kann.

Jetzt können Sie Image Jpegoptim installieren; Sie können dies tun, indem Sie den folgenden Befehl als sudo ausführen:

$ sudo apt-get install jpegoptim

Das System fragt Sie möglicherweise nach dem Passwort für sudo und bietet Ihnen auch eine Y/N-Option, um die Installation fortzusetzen. Geben Sie Y ein und drücken Sie dann die Eingabetaste; Die Software wird auf Ihrem System installiert. Der Vorgang kann jedoch abhängig von Ihrer Internetgeschwindigkeit einige Zeit in Anspruch nehmen.

Mit dem folgenden Befehl können Sie die Versionsnummer der Anwendung überprüfen und auch überprüfen, ob sie tatsächlich auf Ihrem System installiert ist:

$ jpegoptim --version

Verwenden von Jpegoptim für die Bildkomprimierung

Lassen Sie uns nun die Leistungsfähigkeit von Jpegoptim anhand der folgenden Verwendungsmöglichkeiten erkunden:

Ein einzelnes Bild verlustfrei komprimieren

Wenn Sie ein einzelnes Bild komprimieren möchten, ohne Kompromisse bei der Qualität eingehen zu wollen, verwenden Sie den folgenden Befehl:

$ jpegoptim Bildname.jpg

Beispiel:

$ jpegoptim sample.jpg

Hinweis: Bitte beachten Sie, dass das Tool das vorhandene Bild überschreibt, daher ist es eine gute Idee, das Originalbild woanders zu speichern.

Wenn Sie möchten, dass das Bild noch weiter komprimiert wird, können Sie denselben Befehl erneut ausführen. Jpegoptim beginnt jedoch, die Komprimierung zu überspringen, wenn es die Grenze erreicht, bei der Sie eine verlustfreie Bildqualität mit der stärksten Komprimierung haben.

So würde die Ausgabe in einer solchen Situation aussehen:

Ein Bild in einen anderen Ordner komprimieren

Wenn Sie befürchten, dass Sie Ihr Originalbild verlieren, weil Jpegoptim es überschreibt, können Sie das Tool anweisen, das komprimierte Bild in einem anderen Ordner zu speichern.

Erstellen Sie zunächst einen Ordner, in dem die komprimierten Bilder gespeichert werden sollen. Wenn Sie möchten, dass sie in einem bereits vorhandenen Ordner gespeichert werden, müssen Sie keinen neuen erstellen. Sie können dann die folgende Befehlssyntax verwenden, um die Komprimierung durchzuführen:

$ jpegoptim -d ./[Zielordner] -p [Bildname].jpg

Zum Beispiel:

$ jpegoptim -d ./compressed -p sample.jpg

Der obige Befehl komprimiert und speichert meine sample.jpg-Datei in einem bereits vorhandenen Ordner mit dem Namen „compressed“.

Potenzielle Komprimierung prüfen

Wenn Sie vorher sehen möchten, wie stark ein Bild komprimiert werden kann, können Sie die Bildkomprimierung über Jpegoptim simulieren. Der folgende Befehl wird das Bild nicht wirklich komprimieren, er sagt Ihnen nur, wie stark das Bild komprimiert wird, wenn Sie jemals versuchen, es mit Jpegoptim zu komprimieren.

Das folgende Beispiel wird den Vorgang weiter erläutern:

Ich habe ein JPG-Bild namens sample.jpg. Ich werde seine Größe zuerst durch den du-Befehl wie folgt drucken:

$ du sample.jpg

Dann werde ich das Flag -n mit dem Befehl jpegoptim verwenden, um etwas über die mögliche Komprimierung zu erfahren.

$ jpegoptim -n sample.jpg

Als ich seine Größe erneut überprüfte, nachdem ich den Befehl jpegoptim wie oben verwendet hatte, sah ich keine Änderung seiner Größe. Dadurch wird sichergestellt, dass der jpeg-Befehl mit dem Flag -n nur den zukünftigen Komprimierungsprozentsatz und die Größe anzeigt, ohne das Bild tatsächlich zu komprimieren.

Bilder „mit“ Qualitätsverlust komprimieren

Manchmal möchten wir unsere Bilder komprimieren, weil wir wissen, dass der Prozess nicht verlustfrei ist. Das Gute ist, dass Sie mit Jpegoptim angeben können, mit wie viel Qualitätsverlust Sie einverstanden sind. Es gibt zwei Möglichkeiten, wie Sie Ihre Bilder „verlustbehaftet“ komprimieren können;

1. Verwendung des Flags -m zur Angabe des Qualitätsfaktors/Prozentsatzes: Legt den maximalen Bildqualitätsfaktor fest (deaktiviert den verlustfreien Optimierungsmodus, der standardmäßig aktiviert ist). Diese Option verringert die Qualität der Quelldateien, die mit einer höheren Qualitätseinstellung gespeichert wurden. Während Dateien, die bereits eine niedrigere Qualitätseinstellung haben, mit der verlustfreien Optimierungsmethode komprimiert werden.

So können Sie den Komprimierungsprozentsatz angeben:

$ jpegoptim -m[percentage_in_numbers] image.jpg

Dies war mein Originalbild:

Und so sieht es mit 10 Prozent Qualitätsfaktor aus:

2. Verwenden der Option –size zum Angeben der Größe des komprimierten Bildes: Versuchen Sie, die Datei auf eine bestimmte Größe zu optimieren (deaktiviert den verlustfreien Optimierungsmodus). Die Zielgröße wird entweder in Kilobyte (1 – n)

angegeben

oder als Prozentsatz (1 % – 99 %) der ursprünglichen Dateigröße.

So können Sie die Größe des resultierenden Bildes in KB angeben:

$ jpegoptim --size=[size-in-kb] image_name.jpg

Batch-Optimierung von Bilddateien

Es gibt mehrere Möglichkeiten, mit Jpegoptim mehrere Dateien gleichzeitig zu komprimieren.

Die erste besteht darin, alle Dateien, die Sie komprimieren möchten, in einem einzigen jpegoptim-Befehl wie folgt anzugeben:

$ jpegoptim file1.jpeg file2.jpg file3.jpg

Der Befehl überschreibt alle angegebenen Dateien und mit den neu komprimierten.

Die zweite Methode besteht darin, Jpegoptim anzuweisen, alle Dateien eines bestimmten Typs zu komprimieren, z. B. jpg, die sich alle im selben Ordner befinden:

$ jpegoptim *.jpg

Um zu sehen, wie dieser Befehl funktioniert, habe ich alle Dateien in meinem Bilderordner mit dem Flag -l aufgelistet. Dieser Befehl würde die Gesamtgröße aller Bilder ausgeben, die sich im aktuellen Ordner befinden:

$ ls -l

Dann habe ich denselben Befehl ls -l verwendet, um zu sehen, wie viel Unterschied der Befehl Jpegoptim zur Gesamtgröße aller Dateien gemacht hat. Sie können den bemerkenswerten Unterschied in den Gesamtbytes in der folgenden Ausgabe sehen:

Dies waren nur zwei Dateien; Sie können so viel Platz sparen. Das Schöne an dem ganzen Prozess ist, dass Sie keine Kompromisse bei der Qualität Ihrer wertvollen Bilder eingehen. Sie können das natürlich auch mit anderen Dateiformaten machen, die von Jpegoptim unterstützt werden.

Die dritte und sehr nützliche Option ist, dass Sie sogar ein Shell-Skript verwenden können, um das Komprimieren aller Dateien eines einzigen Typs, die sich im aktuellen Verzeichnis befinden, zu automatisieren. So geht's:

Bash-Skript zum Komprimieren aller JPG-Dateien im aktuellen Verzeichnis

In diesem Abschnitt wird erklärt, wie Sie ein Shell-Skript schreiben können, das alle JPG-Dateien im aktuellen Verzeichnis in einen Ordner mit dem Namen „komprimiert“ komprimiert. Das Skript erstellt den Ordner nicht; Die Ausgabe wird lediglich in einem bereits erstellten Ordner mit diesem Namen gespeichert.

Wechseln Sie zuerst in den Ordner Dokumente, in dem wir das Skript erstellen werden:

$ cd Documents

Hinweis:Sie können das Skript an einem beliebigen Ort speichern. Es ist ratsam, alle Skripte im selben Ordner anzulegen, damit Sie nicht den Überblick verlieren, wo Sie sie gespeichert haben. Ich persönlich ziehe es vor, alle meine Skripte im Ordner Dokumente zu speichern.

Erstellen Sie das Skript

Öffnen Sie eine neue Skriptdatei in einem Ihrer bevorzugten Texteditoren. Wir werden den Nano-Editor verwenden, um eine leere Skriptdatei mit dem Namen compressAll.sh

zu öffnen
$ nano compressAll.sh

Fügen Sie in dieser leeren Datei das folgende Skript hinzu.

#!/bin/sh
# compress all *.jpg files in the current directory
# and place them in ./compressed directory
# with the same modification date as original files.

for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done

Tipp: Anstatt das gesamte Skript in Ihre Bash-Datei einzugeben, können Sie es von hier kopieren und im Terminal einfügen, indem Sie Strg+Umschalt+V verwenden oder die Option Einfügen aus dem Rechtsklickmenü verwenden.

So würde Ihre Datei aussehen:

Beenden Sie nun die Datei über die Tastenkombination Strg+X. Sie werden dann aufgefordert, die Datei auf der Schaltfläche „Save Modified Buffer?“ zu speichern. prompt. Geben Sie Y ein und drücken Sie dann die Eingabetaste; Ihre Skriptdatei wird jetzt im aktuellen Ordner gespeichert.

Um diese Datei für den aktuellen Benutzer ausführbar zu machen, führen Sie den folgenden Befehl in Ihrem Terminal aus:

$ chmod +x compressAll.sh

Um das Skript auszuführen, ändern Sie Ihr aktuelles Verzeichnis in dasjenige, dessen JPGs Sie komprimieren möchten (in meinem Fall das Bilderverzeichnis). Stellen Sie sicher, dass das Verzeichnis einen Ordner mit dem Namen „komprimiert“ enthält. Wenn es nicht vorhanden ist, erstellen Sie bitte eines, bevor Sie das Skript ausführen.

Führen Sie das Skript aus

Führen Sie abschließend das Skript wie folgt aus:

$ /home/[username]/Documents/compressAll.sh

Dieser Befehl führt das Bash-Skript aus dem Ordner aus, in dem Sie es erstellt haben. Aus diesem Grund mussten Sie den gesamten Pfad zu dieser .sh-Datei angeben.

Sie werden sehen, dass alle komprimierten Dateien in den Ordner „komprimiert“ geschrieben werden. Sie können dies mit dem folgenden Befehl überprüfen:

$ ls compressed

Hier drehte sich alles um die Bildoptimierung durch das Dienstprogramm Jpegoptim. Für weitere Details können Sie die Manpage mit dem folgenden Befehl anzeigen:

$ man jpegoptim

Jetzt sollte es kein Problem mehr sein, Ihre Bilder über das Internet zu teilen und sie an einen Ort mit eingeschränkter Bandbreite und Speicherkapazität hochzuladen


Ubuntu
  1. Ubuntu Xenial Xerus 16.04 Linux ISO-Image-Download mit zsync

  2. Installieren Sie Ubuntu 20.04 auf dem Raspberry Pi

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

  4. Kurztipp:Konvertieren Sie Bilder auf der Befehlszeile mit ImageMagick

  5. So teilen Sie Docker-Images mit anderen

Wie konvertiere ich PNG, JPEG in WebP in Ubuntu? (Auch WebP zu PNG und JPEG)

So flashen/brennen Sie ein Betriebssystem-Image mit Etcher unter Ubuntu

Verlustfreie Bildoptimierung/Komprimierung mit Trimage auf Ubuntu

Ändern Sie die Bildgröße mit Rechtsklick auf Ubuntu und anderen Linux-Distributionen [Kurztipp]

Linux-Jpeg-Bildoptimierungsbefehl

Automatische Bildverbesserung für Ubuntu