فشرده‌سازی تصاویر JPEG با خط فرمان لینوکس

قانون نانوشته‌ای هست که میگه برای انجام هرکاری یه روش به سبک ترمینال لینوکسی وجود داره! فشرده‌سازی تصاویر JPEG هم از این قاعده مستثنی نیست.

با افزایش کیفیتِ دوربینِ گجت‌های تکنولوژیِ مختلف، خیلی اوقات نیاز داریم تا کیفیت عکس‌هایی که با این وسایل گرفتیمو کاهش بدیم؛ حالا چه این نیاز بخاطر ارسال راحتتر اون تصویر به دوستا و آشنا‌هامون باشه چه بخاطر محدودیت یه سایت برای آپلود تصویر پروفایل.
در این شرایط اولین کاری که انجام میدیم یه جستجوی سادس تو گوگل. و احتمالا می‌گردیم دنبال یه راه‌کار آنلاین! به طور مثال یه سایت که عکسمونو اونجا آپلود کنیم و بعد از این که سایت عکس رو فشرده کرد دوباره اونو دانلود کنیم.
برای یکی دو تا عکسِ نه چندان حجیم راهکار خوبی به نظر میاد اما اگه قرار باشه تعداد زیادی عکسِ با کیفیت خیلی بالا رو فشرده کنید منطقی‌تره که دنبال یه ابزار آفلاین بگردید.
در اینجا دوباره انتخاب با شماست که برید سراغ یه ابزار گرفیکی یا این که خط فرمانِ شیرینِ لینوکوسو انتخاب کنید! اگه انتخابتون گزینه‌ی آخره در ادامه با ما همراه باشید.

jpegoptim جادوگریه که میخوام معرفی کنم!

 نصب jpegoptim در Ubuntu و Debian و توزیع‌های زیرمجموعه اونها

 

$ sudo apt-get install jpegoptim

نصب jpegoptim در توزیع‌های خانواده RedHat
(Fedora/CentOS/RHEL)

 

قبل از نصب jpegoptim اول مخزن EPEL رو فعال کنید:

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

سپس jpegoptim رو نصب کنید:

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

jpegoptim چجوری کار میکنه؟

 

این نرم‌افزار از دو متد فشرده‌سازی/بهینه‌سازی تصاویر پشتیبانی میکنه:

  • بهینه‌سازی بدون کاهش کیفیت تصویر (براساس بهینه‌سازی جداول هافمن)
  • فشرده‌سازی همراه با کاهش کیفیت تصویر به همراه بهینه‌سازی جداول هافمن

در روش اول کیفیت تصویر شما کاهش پیدا نمیکنه اما تضمینی هم برای کاهش حجم تصویر به طور قابل ملاحظه وجود نداره. اما در حالت دوم شما به راحتی مشخص میکنی که دوس داری تصویرت تا چه اندازه کاهش حجم پیدا کنه.

نحوه‌ی کارکرد jpegoptim

 

فشرده‌سازی تصویر بدون کاهش کیفیت:

$ jpegoptim my-image.jpg

دستور بالا عکس بهینه شده رو جایگزین عکس اصلی می‌کنه و اگر عکس به دست اومده از فرآیند بهینه‌سازی حجمش کمتر نباشه فایل اصلی رو تغییر نمیده.

ذخیره عکس بهینه شده در دایرکتوری خاص:

$ jpegoptim --dest=./my-direcory my-image.jpg
$ jpegoptim --dest=./my-directory -o my-image.jpg # overwrite existing file

دقت کنید که نام تصویر یا تصاویر بهینه‌شده با نام فایل اصلیشون یکسان هستن و فقط دایرکتوری‌ای که توی اون ذخیره میشن مشخص میشه. (که به طور پیشفرض دایرکتوری فعلی هست)
اگر فایلی با همین نام در دایرکتوری مقصد وجود داشته باشه، می‌تونید با آپشن o- یا overwrite– فایل خروجی را جایگزین فایل فعلی کنید.

بهینه‌سازی چند تصویر به طور همزمان:

$ jpegoptim image1.jpg image2.jpg image3.jpg

بهینه‌سازی همه‌ی تصاویر با فرمت jpg:

$ jpegoptim *.jpg

کاهش کیفیت تصویر به اندازه‌ای مشخص:

دستور پایین کیفیت عکس رو تا سایز ۲۰۰ کیلوبایت کاهش میده: (ممکنه سایز تصویر دقیقا ۲۰۰ کیلوبایت نباشه و کمی کمتر بشه)

$ jpegoptim --size=200 my-image.jpg

دستور پایین حجم عکس رو به ۲۰ درصد از حجم فایل اصلی کاهش میده:

$ jpegoptim --size=20% my-image.jpg

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *