2009-06-12 23 views
106

क्या आप किसी भी उपकरण (अधिमानतः कमांड लाइन) को स्वचालित रूप से और हानिकारक रूप से जेपीईजी अनुकूलित करने के बारे में जानते हैं जिन्हें मैं अपने निर्माण वातावरण में एकीकृत कर सकता हूं? पीएनजी के लिए मैं वर्तमान में PNGOUT का उपयोग कर रहा हूं, और यह आम तौर पर लगभग 40% बैंडविड्थ/छवि आकार बचाता है।जेपीईजी अनुकूलन के लिए उपकरण?

कम से कम, मुझे एक उपकरण चाहिए जो जेपीजी से मेटाडेटा को पट्टी कर सकता है - मैंने एक अजीब मामला देखा जहां मैंने एक तस्वीर से थंबनेल बनाने की कोशिश की, और इसे 34 केबी से छोटा नहीं मिला। अधिक जांच करने के बाद, मैंने पाया कि EXIF ​​डेटा अभी भी छवि का हिस्सा था, और मेटाडेटा को हटाने के बाद थंबनेल 3 केबी था।

और उससे परे - क्या जेपीजी को लापरवाही से और अनुकूलित करना संभव है? पीएनजी ऑप्टिमाइज़र विभिन्न संपीड़न रणनीतियों की कोशिश करता है, हफमान एन्कोडिंग इत्यादि के यादृच्छिक प्रारंभिकरण

मुझे पता है कि अधिकांश बचत जेपीईजी गुणवत्ता पैरामीटर से आती है, और यह एक बल्कि व्यक्तिपरक उपाय है। मैं केवल एक उपकरण की तलाश में हूं जिसे एक बिल्ड चरण के रूप में चलाया जा सकता है और यह छवियों से कुछ बाइट्स को लापरवाही से निचोड़ा जाता है।

+0

आप कह रहे हैं कि EXIF ​​हटा दिए जाने से पहले एक अनुकूलित जेपीजी में लगभग 10 केबी मूल्य EXIF ​​था?!?!? मुझे आश्चर्य है कि इसमें क्या है! – netrox

+0

यह डिजिटल कैमरे से संपूर्ण EXIF ​​ब्लॉक था, जिसमें इस तस्वीर के बारे में हर छोटी जानकारी (एक्सपोजर, शटर टाइम इत्यादि ...) – chris166

+0

@netrox chris166 उन विवरणों में ज्यादा जगह नहीं है, जो बहुत सी जगह लेता है पूर्वावलोकन (बाइनरी डेटा)। – Ariel

उत्तर

66

मैं लापरवाह संचालन के लिए libjpeg का उपयोग करता हूं। इसमें एक कमांड लाइन उपकरण jpegtran है जो आप चाहते हैं कि कर सकते हैं। कमांडलाइन विकल्प -copy none के साथ सभी मेटाडाटा छीन लिया गया है, और -optimize हफमान संपीड़न का लापरवाही अनुकूलन करता है। तुम भी -progressive साथ प्रगतिशील मोड के लिए छवियों को परिवर्तित कर सकते हैं, लेकिन यह संगतता समस्या के कारण हो सकता (किसी के बारे में अधिक पता है?)

+5

वाह, जो वादा करता है। यदि कोई दिलचस्पी लेता है, तो विंडोज के लिए डाउनलोड http://gnuwin32.sourceforge.net/packages/jpeg.htm – chris166

+0

पर है, मैं इसके लिए जा रहा हूं। यह मेरी पृष्ठभूमि छवि को 62 केबी से 49 केबी तक प्रगतिशील मोड में कम कर देता है। एक और छवि (27 केबी) को 23 केबी तक घटा दिया गया था। गुणवत्ता में कमी के बिना 15-20% बचत है! – chris166

+2

मूल रूप से सब कुछ में प्रगतिशील काम ठीक है, केवल एक ही दोष यह है कि यह डीकोड करने के लिए अधिक CPU का उपयोग करता है (पदार्थ के लिए पर्याप्त अतिरिक्त नहीं)। – Ariel

9

मैं छविमैजिक का प्रयास करूंगा। इसमें कमांड लाइन विकल्प हैं, यह मुफ़्त है और इसका एक अच्छा लाइसेंस है। http://www.imagemagick.org/script/command-line-options.php#strip

+0

धन्यवाद! नहीं पता था ImageMagick ऐसा कर सकता है। – chris166

3

मैं भी ImageMagick की सिफारिश करेंगे: http://www.imagemagick.org

है कि आप मदद कर सकते हैं पट्टी कहा जाता है एक विकल्प हो करने के लिए वहाँ लगता है। इसमें EXIF ​​मेटाडाटा

mogrify -strip image.jpg 

वहां मौजूद अन्य कई टूल हैं जो एक ही काम करते हैं।

जहां तक ​​जेपीईजी को फिर से दबाया जाता है, नहीं। जेपीईजी शुरू करने के लिए हानिकारक हैं, इसलिए किसी भी प्रकार का पुनर्मूल्यांकन केवल छवि की गुणवत्ता को नुकसान पहुंचाएगा। हालांकि, अगर आपके पास लापरवाही से छवियों को एन्कोड किया गया है, तो कुछ एन्कोडर्स दूसरों की तुलना में बेहतर काम करते हैं। मैंने देखा है कि फ़ोटोशॉप के साथ किए गए जेपीईजी complicated reasons के कारण ImageMagick (उसी फ़ाइल आकार के बावजूद) के साथ एन्कोड किए जाने से बेहतर दिखते हैं। इसके अलावा (और यह आपके लिए प्रासंगिक है), मुझे पता है कि कम से कम फ़ोटोशॉप जेपीईजी को अनुकूलित के रूप में सहेज सकता है जिसका अर्थ है कि वे कुछ सामानों के साथ संगतता छोड़ देते हैं जिन्हें आप शायद कुछ केबी को बचाने की परवाह नहीं करते हैं। साथ ही, सुनिश्चित करें कि आपके पास एम्बेडेड कोई रंग प्रोफाइल नहीं है और आप केबी के दूसरे जोड़े को सहेजने में सक्षम हो सकते हैं।

+0

दिलचस्प। मैंने हमेशा सोचा कि 90% गुणवत्ता सभी छवि उपकरणों में समान है। क्या फ़ोटोशॉप एकमात्र टूल है जो अनुकूलित डीसीटी गुणांक का उपयोग करता है? – chris166

+1

हालांकि मैं फ़ोटोशॉप और इमेजमैजिक में एक ही छवियों को सहेजने की कोशिश करने तक 90% विभिन्न उपकरणों में समान होने वाला था। मैंने पाया कि फ़ोटोशॉप में वेब के लिए सेव में लगभग 70% फाइलें बनाई गई हैं जो छविमैजिक में 92% के समान आकार के थे, लेकिन फ़ोटोशॉप फाइलें काफी बेहतर गुणवत्ता थीं। मुझे नहीं पता कि अन्य उपकरण कैसे करते हैं। –

+0

क्या आप जानते हैं कि ImageMagick के PHP संस्करण का उपयोग करके EXIF ​​मेटा-डेटा स्ट्रिपिंग कैसे करें? – Sonny

69

मैं MozJPEG और jpegoptim कि Huffman टेबल, प्रगतिशील स्कैन का अनुकूलन, और सहित एक GUI for all image optimization tools I could find ने लिखा है (वैकल्पिक रूप से) अदृश्य मेटाडाटा हटा दें।

ImageOptim smushing it

आप एक मैक की जरूरत नहीं है, तो मैं भी एक बुनियादी web interface कि किसी भी मंच पर काम करता है।

+5

बढ़िया! आप, महोदय, एक Flattr बटन की जरूरत है। या गिटिप में शामिल हों। – Thilo

+2

ImageOptim और ImageAlpha बहुत अच्छे हैं! –

+0

ग्रेट टूल - मामूली सुझाव। जेपीईजीपीटीम को 80% गुणवत्ता तक सीमित क्यों करें - बड़ी पृष्ठभूमि छवियां अक्सर आप 60% या इससे भी कम तक जाना चाहेंगे। thx – niico

4

किसी के भी मामले में, मैंने याहू के Smush.it का ऑफ़लाइन संस्करण लिखा है।

http://github.com/thebeansgroup/smush.py

+0

यह ठीक काम करता है लेकिन वहाँ png संपीड़न के साथ एक समस्या :( –

4

आप jpegoptim जो losslessly डिफ़ॉल्ट रूप से JPEG फ़ाइलों को अनुकूलित करेंगे उपयोग कर सकते हैं: यह losslessly PNG का, JPG और GIF (एनिमेटेड और स्थिर) अनुकूलित करेंगे। --strip-all विकल्प सभी अतिरिक्त एम्बेडेड जानकारी स्ट्रिप्स करता है। आप --max स्विच के साथ एक हानिकारक मोड भी निर्दिष्ट कर सकते हैं जो उपयोगी है जब आपके पास छवियों को बहुत उच्च गुणवत्ता सेटिंग से सहेजा जाता है, जो कि उदाहरण के लिए आवश्यक नहीं है। वेब सामग्री।

आपको jpegtran के साथ समान अनुकूलन मिलता है (आउटऑफमेमरी द्वारा उत्तर देखें) लेकिन jpegoptim प्रगतिशील jpegs को सहेज नहीं सकता है।

2

मैं http://kraken.io का उपयोग करने की अनुशंसा करता हूं यह अल्ट्रा-फास्ट वेबैप है जो आपके पीएनजी और जेपीईजी फ़ाइलों को smush.it करता है से कहीं बेहतर अनुकूलित करेगा।

11

JPEGmini नामक एक नई सेवा अविश्वसनीय परिणाम उत्पन्न करती है। एक शर्म की बात है कि यह केवल ऑनलाइन है।संपादित: यह अब विंडोज और मैक के लिए उपलब्ध है

+0

अब हम एक मैक अनुप्रयोग उपलब्ध (प्रकटीकरण: मैं विकास दल पर हूँ) है – DanJ

+4

मैं नहीं जानता अगर आप लेखक या नहीं कर रहे हैं, लेकिन यह एप्लिकेशन उपयोगकर्ताओं को भटकाने का है। आप [jpegquality.c] (चलाते हैं http://www.hackerfactor.com/src/jpegquality।सी) संपीड़न राशि का पता लगाने के लिए अपनी "मिनी" छवियों पर, और फिर उसी गुणवत्ता के साथ छवि मैगिक के साथ मूल को संपीड़ित करें => आपको एक ही परिणाम मिलते हैं, दोनों छवियों में एक ही जेपीईजी कलाकृतियों को मिलता है। Imagemagick ओपन-सोर्स हो सकता है, लेकिन इससे इसका उपयोग करना ठीक नहीं होता है और फिर दावा करता है कि आपने एक नई संपीड़न तकनीक विकसित की है –

+0

@onetrickpony: मैं किसी भी तरह से उनके साथ संबद्ध नहीं हूं। –

11

[केवल Windows]

दंगा (कट्टरपंथी छवि अनुकूलन उपकरण) यह सबसे बड़ी छवि अनुकूलन उपकरण मैं पाया है है!

http://luci.criosweb.ro/riot/

आप आसानी से उप नमूने के माध्यम से 800KB करने के लिए नीचे एक 10 एमबी छवि प्राप्त कर सकते हैं। यह पीएनजी, जीआईएफ, और जेपीईजी का समर्थन करता है। यह संदर्भ मेनू में भी एकीकृत करता है ताकि आप सीधे चित्र भेज सकें। आपको घुमाने, पुनः आकार, निर्दिष्ट KB के लिए संपीड़ित करने की अनुमति देता है, आदि। जीआईएमपी और इरफान व्यू और अन्य चीजों के लिए प्लगइन भी हैं।

यदि आप इसे अपने प्रोग्राम या जावा स्क्रिप्ट/सी ++ प्रोग्राम में शामिल करना चाहते हैं तो एक डीएलएल भी उपलब्ध है।

एक और विकल्प http://pnggauntlet.com/ PNGGAUNTLET हमेशा के लिए लेता है लेकिन यह एक बहुत अच्छा काम करता है।

[केवल Windows]

+7

** चेतावनी: ** आरआईओटी अच्छा दिखता है लेकिन यह आपको पूछे बिना ट्यूनअप और बकवास स्थापित करता है, .. मैं इसे मैलवेयर के रूप में वर्गीकृत करता हूं। – DanFromGermany

+1

@DanFromGermany सही है। यहां समीक्षा देखें: http://download.cnet.com/RIOT/3000-12511_4-10911908.html#summaryList – RNickMcCandless

+1

यह हाल ही में कभी नहीं हुआ। – Ben

10

उपरोक्त सुझावों की एक संख्या की कोशिश की - मैं व्यक्तिगत रूप से दोषरहित संपीड़न के बाद किया गया था।

मेरी नमूना छवि का मूल आकार 67,737 बाइट था।

kraken.io का उपयोग करना, यह 64,718 तक नीचे चला गया jpegtran का उपयोग करना, यह 64,718 तक नीचे चला गया याहू का उपयोग करना Smush-यह है, यह 61,746 तक नीचे चला गया ImageMagick (-strip) का उपयोग करना, यह 65,312

तक नीचे चला गया

स्मश।py विकल्प होनहार है, लेकिन मुझे जल्दी से

jpegrescan दिखता भी वादा किया करने के लिए स्थापना बहुत जटिल था, लेकिन यूनिक्स हो रहा है और मैं खिड़कियों

jpegmini दोषरहित नहीं है का उपयोग कर रहा है, लेकिन मैं नहीं कर सकता (22,172 से नीचे)

कुर्सी के Altrasoft jpegstripper एप्लिकेशन मेरी विंडोज 7

jpegoptim पर काम नहीं करता अंतर बताने खिड़कियां नहीं है - मेरे लिए अच्छा नहीं

दंगा (100% पर गुणवत्ता रखने के लिए) यह मिल गया 6 तक नीचे 3,416 और क्रोमा सबसमलिंग के साथ उच्च पर सेट किया गया, यह इसे 61, 9 12 तक गिर गया - मुझे नहीं पता कि यह हानि रहित है या नहीं, और मुझे लगता है कि यह मूल से हल्का दिखता है।

तो मेरी फैसले याहू smushit अगर यह दोषरहित

+0

jpegrescan विंडोज पर काम करता है। यह जादू की तरह आकार को बंद करता है (गुणवत्ता में कोई नुकसान नहीं होने पर 5-15%), जो आश्चर्यजनक है, क्योंकि यह केवल AFAIK के प्रगतिशील स्कैन को फिर से ऑर्डर कर रहा है (आप अन्य कार्यक्रमों में भी ऐसा ही देख सकते हैं, फाइलें कभी-कभी फ़ोटोशॉप में मामूली रूप से छोटी होती हैं यदि आप स्पष्ट कारणों से स्कैन की अलग-अलग संख्या चुनते हैं)। इसके अलावा, यह उन लोगों में से एक द्वारा बनाया गया था जो x264 बनाते हैं, वह संपीड़न के क्षेत्र में इतनी उग्रता है। –

7

ImageOptim वास्तव में चालाक है होना चाहिए है। लेखक द्वारा पोस्ट किया गया कमांड लाइन विकल्प जीयूआई को पॉप्युलेट करेगा और प्रगति दिखाएगा। मैंने jpegtran का उपयोग प्रगतिशील को अनुकूलित करने और बदलने के लिए किया, फिर आगे प्रगतिशील अनुकूलन और अन्य फ़ाइल प्रकारों के लिए ImageOptim। स्क्रिप्ट कोड की

पुन: उपयोग भी (सभी फाइलों जगह में बदल दिया) इस मंच में पाया:

jpegtran

for file in $(find $DIR -type f \(-name "*.jpg" -or -name "*.jpeg" -or -name "*.JPG" \)); do 
    echo found $file for optimizing... 
    jpegtran -copy comments -optimize -progressive -outfile $file $file 
done 

ImageOptim

for file in $(find $DIR -type f \(-name "*.jpg" -or -name "*.png" -or -name "*.gif" \)); do 
do 
    echo found $file for optimizing... 
    open -a ImageOptim.app $file 
done 
1

मैं JpegOptim उपयोग करने के लिए सलाह देते हैं, यह मुफ़्त है और वास्तव में अच्छा है, आप गुणवत्ता, आकार जो आप चाहते हैं ... और कमांड लाइन में उपयोग करने में आसान निर्दिष्ट कर सकते हैं।

JpegOptim

4

मैं 'picopt' (ImageOptim के समान) बाहरी प्रोग्राम का उपयोग करता है JPEGs, PNG का, GIF, एनिमेटेड GIF और यहां तक ​​कि हास्य पुस्तक संग्रह सामग्री (सीबीआर/CBZ अनुकूलन करने के लिए कहा जाता है एक कमांड लाइन उपकरण लिखा है)।

यह ओएस एक्स या Linux सिस्टम जहां jpegrescan, jpegtran, optipng, gifsicle जैसे उपकरणों स्थापित किया है पर homebrew के साथ प्रयोग के लिए उपयुक्त है, आदि

https://github.com/ajslater/picopt

+0

क्या इसका कोई विंडोज संस्करण है? – starbeamrainbowlabs

+0

यदि आप अपने पॉजिक्स निर्भरताओं को विंडोज वातावरण में साइगविन जैसे स्थापित कर सकते हैं तो यह हो सकता है। हालांकि, आप इसका परीक्षण करने वाले पहले व्यक्ति होंगे। –

1

मैं लगभग पारदर्शिता के लिए यह सलाह देते हैं मई :

convert 'yourfile.png' ppm:- | jpeg-recompress -t 97 -q veryhigh -a -m smallfry -s -r -S disable - yourfile.jpg 

यह का उपयोग करता है imagemagick के convert और jpeg-recompressjpeg-archive से।

दोनों ओपन-सोर्स और विंडोज, मैक और लिनक्स पर काम करते हैं। आप विभिन्न गुणवत्ता अपेक्षाओं के लिए उपरोक्त विकल्पों को ट्विक करना चाहते हैं।

संबंधित मुद्दे