Wéi optimiséieren a kompriméieren JPEG oder PNG Biller an Linux Commandline


Dir hutt vill Biller, a wëllt d'Biller optimiséieren an kompriméieren ouni hir ursprénglech Qualitéit ze verléieren ier Dir se an eng Wollek oder lokal Späicher eropluet? Et gi vill GUI Uwendungen verfügbar déi Iech hëllefen d'Biller ze optimiséieren. Wéi och ëmmer, hei sinn zwee einfach Kommandozeil Utilities fir Biller ze optimiséieren a si sinn:

  1. jpegoptim - ass en Utility fir JPEG Dateien ze optimiséieren/kompriméieren ouni Qualitéit ze verléieren.
  2. OptiPNG - ass e klenge Programm deen PNG Biller op méi kleng Gréisst optiméiert ouni Informatioun ze verléieren.

Mat dësen zwee Tools kënnt Dir entweder eng eenzeg oder méi Biller gläichzäiteg optimiséieren.

Kompriméieren oder optimiséieren JPEG Biller vun der Command Line

jpegoptim ass e Kommandozeilinstrument dat benotzt ka ginn fir JPEG, JPG a JFIF Dateien ze optimiséieren an ze kompriméieren ouni seng aktuell Qualitéit ze verléieren. Dëst Tool ënnerstëtzt lossless Optimisatioun, déi baséiert op der Optimisatioun vun den Huffman Dëscher.

Fir jpegoptim op Äre Linux Systemer z'installéieren, fuert de folgende Kommando vun Ärem Terminal.

# apt-get install jpegoptim
or
$ sudo apt-get install jpegoptim

Op RPM baséiert Systemer wéi RHEL, CentOS, Fedora etc., Dir musst EPEL Repository installéieren an aktivéieren oder alternativ kënnt Dir den Epel Repository direkt vun der Kommandozeil installéieren wéi gewisen:

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

Nächst installéiere jpegoptim Programm aus dem Repository wéi gewisen:

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

D'Syntax vum jpegoptm ass:

$ jpegoptim filename.jpeg
$ jpegoptim [options] filename.jpeg

Loosst eis elo de folgende tecmint.jpeg Bild kompriméieren, awer ier Dir d'Bild optiméiert, fannt Dir fir d'éischt d'tatsächlech Gréisst vum Bild mat du Kommando wéi gewisen.

$ du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Hei ass déi aktuell Dateigréisst 6.2MB, kompriméiert elo dës Datei andeems Dir leeft:

$ jpegoptim tecmint.jpeg 

Öffnen de kompriméierte Bild an all Image Viewer Applikatioun, Dir fannt keng grouss Differenzen. D'Quell a kompriméiert Biller wäerten déiselwecht Qualitéit hunn.

Deen uewe genannte Kommando optiméiert d'Biller op déi maximal méiglech Gréisst. Wéi och ëmmer, Dir kënnt dat gegebene Bild op eng spezifesch Gréisst kompriméieren, awer et deaktivéiert déi Verloschtlos Optimiséierung.

Zum Beispill, loosst eis iwwer d'Bild vu 5.6MB op ongeféier 250k kompriméieren.

$ jpegoptim --size=250k tecmint.jpeg

Dir kënnt froen wéi d'Biller am ganze Verzeechnes kompriméieren, dat ass och net schwéier. Gitt an den Dossier wou Dir d'Biller hutt.

[email  ~ $ cd img/
[email  ~/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

A lafen dann de folgende Kommando fir all Biller op eemol ze kompriméieren.

[email  ~/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.

Dir kënnt och verschidde ausgewielte Biller gläichzäiteg kompriméieren:

$ 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.

Fir méi Detailer iwwer jpegoptim Tool, kuckt d'Man Säiten.

$ man jpegoptim 

Kompriméieren oder optimiséieren PNG Biller vun der Command Line

OptiPNG ass e Kommandozeilinstrument dat benotzt gëtt fir PNG (portable Network graphics) Dateien ze optimiséieren an ze kompriméieren ouni seng originell Qualitéit ze verléieren.

D'Installatioun an d'Benotzung vun OptiPNG ass ganz ähnlech wéi jpegoptim.

Fir OptiPNG op Äre Linux Systemer z'installéieren, fuert de folgende Kommando vun Ärem Terminal.

# apt-get install optipng
or
$ sudo apt-get install optipng
# yum install optipng
# dnf install optipng    [On Fedora 22+ versions]

Bemierkung: Dir musst epel Repository op Äre RHEL/CentOS baséiert Systemer aktivéiert hunn fir optipng Programm z'installéieren.

Déi allgemeng Syntax vun optipng ass:

$ optipng filename.png
$ optipng [options] filename.png

Loosst eis d'tecmint.png Bild kompriméieren, awer ier Dir optiméiert, kontrolléiert éischt d'tatsächlech Gréisst vum Bild wéi gewisen:

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

Hei ass déi aktuell Dateigréisst vum uewe genannte Bild 350K, kompriméiert elo dës Datei andeems Dir leeft:

[email  ~/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)

Wéi Dir an der uewen Ausgab gesitt, ass d'Gréisst vun der tecmint.png Datei bis zu 30,39% reduzéiert ginn. Elo kontrolléiert d'Dateigréisst erëm mat:

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

Öffnen de kompriméierte Bild an all Image Viewer Applikatioun, Dir fannt keng grouss Differenzen tëscht den originelle a kompriméierte Dateien. D'Quell a kompriméiert Biller wäerten déiselwecht Qualitéit hunn.

Fir Batch oder méi PNG Biller gläichzäiteg ze kompriméieren, gitt just de Verzeechnes wou all Biller wunnen a lafen de folgende Kommando fir ze kompriméieren.

[email  ~ $ cd img/
[email  ~/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)
....

Fir méi Detailer iwwer d'Optipng kontrolléiert d'Man Säiten.

$ man optipng

Conclusioun

Wann Dir e Webmaster sidd a wëllt optimiséiert Biller iwwer Är Websäit oder e Blog servéieren, kënnen dës Tools ganz praktesch sinn. Dës Tools spueren net nëmmen den Disk Space, awer och reduzéieren d'Bandbreedung beim Eroplueden vun de Biller.

Wann Dir en anere bessere Wee kennt fir datselwecht z'erreechen, loosst eis et iwwer Kommentarer wëssen a vergiesst net dësen Artikel op Äre sozialen Netzwierker ze deelen an eis z'ënnerstëtzen.