Kako optimizirati i komprimirati JPEG ili PNG slike u Linux naredbenom retku


Imate puno slika i želite optimizirati i komprimirati slike bez gubitka izvorne kvalitete prije nego što ih učitate u bilo koji oblak ili lokalnu pohranu? Postoji mnogo dostupnih GUI aplikacija koje će vam pomoći da optimizirate slike. Međutim, ovdje su dva jednostavna pomoćna programa naredbenog retka za optimizaciju slika, a to su:

  1. jpegoptim – je uslužni program za optimiziranje/sažimanje JPEG datoteka bez gubitka kvalitete.
  2. OptiPNG – mali je program koji optimizira PNG slike na manje veličine bez gubitka informacija.

Pomoću ova dva alata možete optimizirati jednu ili više slika odjednom.

Komprimirajte ili optimizirajte JPEG slike iz naredbenog retka

jpegoptim je alat naredbenog retka koji se može koristiti za optimizaciju i komprimiranje JPEG, JPG i JFIF datoteka bez gubitka stvarne kvalitete. Ovaj alat podržava optimizaciju bez gubitaka, koja se temelji na optimizaciji Huffmanovih tablica.

Instalirajte jpegoptim u Linuxu

Da biste instalirali jpegoptim na svoje Linux sustave, pokrenite sljedeću naredbu sa svog terminala.

Na Debianu i njegovim derivatima
apt-get install jpegoptim
or
sudo apt-get install jpegoptim
Na RedHat sustavima

Na RPM sustavima kao što su RHEL, CentOS, Fedora itd., trebate instalirati i omogućiti EPEL repozitorij ili alternativno možete instalirati epel repozitorij izravno iz naredbene linije kao što je prikazano:

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

Zatim instalirajte program jpegoptim iz repozitorija kao što je prikazano:

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

Kako koristiti Jpegoptim Image Optimizer

Sintaksa jpegoptm je:

jpegoptim filename.jpeg
jpegoptim [options] filename.jpeg

Komprimirajmo sada sljedeću sliku tecmint.jpeg, ali prije optimiziranja slike prvo saznajte stvarnu veličinu slike pomoću naredbe du kao što je prikazano.

du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Ovdje je stvarna veličina datoteke 6,2 MB, sada komprimirajte ovu datoteku pokretanjem:

jpegoptim tecmint.jpeg 

Otvorite komprimiranu sliku u bilo kojoj aplikaciji za pregled slika, nećete pronaći velike razlike. Izvorna i komprimirana slika bit će iste kvalitete.

Gornja naredba optimizira slike na najveću moguću veličinu. Međutim, možete komprimirati danu sliku na određenu veličinu, ali to onemogućuje optimizaciju bez gubitaka.

Na primjer, komprimirajmo sliku iznad s 5,6 MB na oko 250 k.

jpegoptim --size=250k tecmint.jpeg

Skupna kompresija i optimizacija JPEG slike

Možda ćete pitati kako komprimirati slike u cijelom direktoriju, ni to nije teško. Idite u direktorij u kojem imate slike.

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

Zatim pokrenite sljedeću naredbu za komprimiranje svih slika odjednom.

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.

Također možete komprimirati više odabranih slika odjednom:

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

Za više detalja o jpegoptim alatu, provjerite stranice priručnika.

man jpegoptim 

Komprimirajte ili optimizirajte PNG slike iz naredbenog retka

OptiPNG je alat naredbenog retka koji se koristi za optimizaciju i komprimiranje PNG (prijenosne mrežne grafike) datoteka bez gubitka izvorne kvalitete.

Instalacija i upotreba OptiPNG vrlo je slična jpegoptim.

Instalirajte OptiPNG u Linuxu

Da biste instalirali OptiPNG na svoje Linux sustave, pokrenite sljedeću naredbu sa svog terminala.

Na Debianu i njegovim derivatima
apt-get install optipng
or
sudo apt-get install optipng
Na RedHat sustavima
yum install optipng
dnf install optipng    [On Fedora 22+ versions]

Napomena: Morate imati epel repozitorij omogućen na svojim sustavima koji se temelje na RHEL/CentOS da biste instalirali optipng program.

Kako koristiti OptiPNG Image Optimizer

Opća sintaksa optipng je:

optipng filename.png
optipng [options] filename.png

Komprimirajmo sliku tecmint.png, ali prije optimizacije prvo provjerite stvarnu veličinu slike kao što je prikazano:

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

Ovdje je stvarna veličina datoteke gornje slike 350K, sada komprimirajte ovu datoteku pokretanjem:

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)

Kao što vidite u gornjem rezultatu, veličina datoteke tecmint.png smanjena je do 30,39%. Sada ponovno provjerite veličinu datoteke koristeći:

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

Otvorite komprimiranu sliku u bilo kojoj aplikaciji za preglednik slika, nećete pronaći velike razlike između izvorne i komprimirane datoteke. Izvorna i komprimirana slika bit će iste kvalitete.

Skupna kompresija i optimizacija PNG slike

Za komprimiranje grupe ili više PNG slika odjednom, samo idite u direktorij u kojem se nalaze sve slike i pokrenite sljedeću naredbu za komprimiranje.

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

Za više detalja o optipng provjerite man stranice.

man optipng

Zaključak

Ako ste webmaster i želite posluživati optimizirane slike preko svoje web stranice ili bloga, ovi alati mogu biti vrlo zgodni. Ovi alati ne samo da štede prostor na disku, već i smanjuju propusnost tijekom učitavanja slika.

Ako znate neki drugi bolji način da postignete istu stvar, javite nam putem komentara i ne zaboravite podijeliti ovaj članak na svojim društvenim mrežama i podržati nas.