JPEG- tai PNG-kuvien optimointi ja pakkaaminen Linuxin komentorivillä


Sinulla on paljon kuvia ja haluat optimoida ja pakata kuvat menettämättä niiden alkuperäistä laatua, ennen kuin lataat ne mihin tahansa pilveen tai paikalliseen tallennustilaan? Saatavilla on paljon GUI-sovelluksia, jotka auttavat sinua optimoimaan kuvia. Tässä on kuitenkin kaksi yksinkertaista komentorivin apuohjelmaa kuvien optimoimiseksi, ja ne ovat:

  1. jpegoptim – on apuohjelma JPEG-tiedostojen optimointiin/pakkaukseen laadun heikkenemättä.
  2. OptiPNG – on pieni ohjelma, joka optimoi PNG-kuvat pienemmiksi menettämättä tietoja.

Näiden kahden työkalun avulla voit joko optimoida yhden tai useita kuvia kerrallaan.

Pakkaa tai optimoi JPEG-kuvat komentoriviltä

jpegoptim on komentorivityökalu, jota voidaan käyttää JPEG-, JPG- ja JFIF-tiedostojen optimointiin ja pakkaamiseen menettämättä todellista laatuaan. Tämä työkalu tukee häviötöntä optimointia, joka perustuu Huffman-taulukoiden optimointiin.

Asenna jpegoptim Linuxiin

Asenna jpegoptim Linux-järjestelmiisi suorittamalla seuraava komento päätteestäsi.

Debianilla ja sen johdannaisilla
apt-get install jpegoptim
or
sudo apt-get install jpegoptim
RedHat-pohjaisissa järjestelmissä

RPM-pohjaisissa järjestelmissä, kuten RHEL, CentOS, Fedora jne., sinun on asennettava ja otettava käyttöön EPEL-arkisto tai vaihtoehtoisesti voit asentaa epelin arkisto suoraan komentoriviltä kuvan mukaisesti:

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

Asenna seuraavaksi jpegoptim-ohjelma arkistosta kuvan mukaisesti:

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

Jpegoptim-kuvanoptimointityökalun käyttäminen

Jpegoptm:n syntaksi on:

jpegoptim filename.jpeg
jpegoptim [options] filename.jpeg

Pakkaa nyt seuraava tecmint.jpeg-kuva, mutta ennen kuvan optimointia selvitä ensin kuvan todellinen koko käyttämällä du-komentoa kuvan mukaisesti.

du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Tässä todellinen tiedoston koko on 6,2 Mt, nyt pakkaa tämä tiedosto suorittamalla:

jpegoptim tecmint.jpeg 

Avaa pakattu kuva missä tahansa kuvankatselusovelluksessa, et löydä suuria eroja. Lähde- ja pakattujen kuvien laatu on sama.

Yllä oleva komento optimoi kuvat mahdollisimman suureen kokoon. Voit kuitenkin pakata annetun kuvan tiettyyn kokoon, mutta se poistaa häviöttömän optimoinnin käytöstä.

Pakkaapa esimerkiksi kuvan yläpuolella oleva 5,6 Mt arvosta noin 250 kt.

jpegoptim --size=250k tecmint.jpeg

Erä JPEG-kuvan pakkaus ja optimointi

Saatat kysyä, kuinka koko hakemiston kuvat pakataan, se ei myöskään ole vaikeaa. Siirry hakemistoon, jossa sinulla on kuvat.

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

Suorita sitten seuraava komento pakataksesi kaikki kuvat kerralla.

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.

Voit myös pakata useita valittuja kuvia kerralla:

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

Lisätietoja jpegoptim-työkalusta on man-sivuilla.

man jpegoptim 

Pakkaa tai optimoi PNG-kuvat komentoriviltä

OptiPNG on komentorivityökalu, jota käytetään PNG-tiedostojen (portable network graphics) optimointiin ja pakkaamiseen menettämättä alkuperäistä laatuaan.

OptiPNG:n asennus ja käyttö on hyvin samankaltaista kuin jpegoptim.

Asenna OptiPNG Linuxiin

Asenna OptiPNG Linux-järjestelmiisi suorittamalla seuraava komento päätteestäsi.

Debianilla ja sen johdannaisilla
apt-get install optipng
or
sudo apt-get install optipng
RedHat-pohjaisissa järjestelmissä
yum install optipng
dnf install optipng    [On Fedora 22+ versions]

Huomaa: epel-tietovaraston on oltava käytössä RHEL/CentOS-pohjaisissa järjestelmissäsi, jotta voit asentaa optipng-sovelluksen. ohjelmaa.

OptiPNG-kuvanoptimointityökalun käyttäminen

optipng:n yleinen syntaksi on:

optipng filename.png
optipng [options] filename.png

Pakkaamme tecmint.png-kuvan, mutta ennen optimointia tarkista ensin kuvan todellinen koko kuvan mukaisesti:

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

Tässä yllä olevan kuvan todellinen tiedostokoko on 350 kt, nyt pakkaa tämä tiedosto suorittamalla:

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)

Kuten yllä olevassa tulosteessa näkyy, tecmint.png-tiedoston kokoa on pienennetty 30,39 prosenttiin. Tarkista nyt tiedoston koko uudelleen käyttämällä:

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

Avaa pakattu kuva missä tahansa kuvankatseluohjelmassa, et löydä suuria eroja alkuperäisten ja pakattujen tiedostojen välillä. Lähde- ja pakattujen kuvien laatu on sama.

Erä PNG-kuvan pakkaus ja optimointi

Jos haluat pakata erän tai useita PNG-kuvia kerralla, mene hakemistoon, jossa kaikki kuvat sijaitsevat, ja suorita seuraava pakkauskomento.

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

Katso lisätietoja optpngista man-sivuilta.

man optipng

Johtopäätös

Jos olet verkkovastaava ja haluat näyttää optimoituja kuvia verkkosivustollasi tai blogissasi, nämä työkalut voivat olla erittäin käteviä. Nämä työkalut eivät vain säästä levytilaa, vaan myös vähentävät kaistanleveyttä kuvien lataamisen aikana.

Jos tiedät jonkin muun paremman tavan saavuttaa sama asia, kerro siitä meille kommenttien kautta ja älä unohda jakaa tätä artikkelia sosiaalisissa verkostoissasi ja tukea meitä.