abox.tools

भाषा: हिन्दी

किसी तस्वीर को ठीक तय फ़ाइल साइज़ तक कैसे कंप्रेस करें

किसी ने आपको एक संख्या थमा दी है, चाहे वह 100 KB हो, 500 KB हो या 2 MB, और आपकी फ़ोटो उसके आसपास भी नहीं है। यहाँ लिखा है कि उस संख्या की कीमत क्या है, वह कीमत कहाँ खर्च करनी है, और कैसे पहचानें कि नतीजा भेजने लायक बचा है या नहीं।

इमेज कंप्रेसर खोलें साइज़ आप बताइए। बाकी हिसाब यह लगा लेगा।

Markdown के रूप में देखें

छोटा जवाब

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

इस पेज का बाकी हिस्सा उन मौकों के लिए है जब ऐसा न हो: जब नतीजा नरम लगे, जब PNG टस से मस न हो, या जब आप किसी को फ़ाइल भेजने से पहले जानना चाहें कि टूल आपकी तस्वीर के साथ असल में कर क्या रहा है।

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

फ़ाइल साइज़ की सीमा असल में माँग क्या रही है

JPEG या WebP आपकी फ़ोटोग्राफ़ नहीं सहेजती। वह उसका एक ब्योरा सहेजती है, और क्वालिटी की सेटिंग तय करती है कि उस ब्योरे को कितना विस्तृत होने की इजाज़त है। उसे नीचे कीजिए और फ़ाइल छोटी हो जाती है, क्योंकि ब्योरा धुँधला हो जाता है: बारीक बनावट औसत में घुल जाती है, ग्रेडिएंट में पट्टियाँ पड़ जाती हैं, और किनारों पर ब्लॉकों का हल्का घेरा उभर आता है।

यानी साइज़ की सीमा ब्योरे का बजट है। काम का सवाल यह नहीं है कि “क्या मैं 500 KB तक पहुँच सकता हूँ”, क्योंकि किसी भी संख्या तक हमेशा पहुँचा जा सकता है। काम का सवाल यह है कि “वहाँ तक पहुँचने के लिए मुझे तस्वीर का कितना हिस्सा छोड़ना पड़ेगा, और जिस काम के लिए मुझे यह चाहिए उसमें इससे फ़र्क पड़ता है या नहीं?”

अंदाज़े के दो नियम। असली दृश्य की फ़ोटोग्राफ़, यानी चेहरे, पत्तियाँ और कपड़ा, कंप्रेशन को अच्छी तरह छिपा लेती है, क्योंकि आँख के पास कोई ऐसा बिलकुल सपाट हिस्सा होता ही नहीं जिसमें नुकसान पकड़ में आए। स्क्रीनशॉट, चार्ट, लोगो, या बड़े-बड़े सपाट रंगों और सख्त टेक्स्ट किनारों वाली कोई भी चीज़ उसे तुरंत दिखा देती है, और उसे आम तौर पर JPEG होना ही नहीं चाहिए, बल्कि PNG या WebP होना चाहिए।

कोई फ़ॉर्मूला क्यों नहीं है, और इसका करें क्या

ऐसा कोई तरीका नहीं जिससे वह क्वालिटी सेटिंग गिनी जा सके जो 500 KB की फ़ाइल बनाती हो। इन दोनों का रिश्ता पूरी तरह इस पर टिका है कि तस्वीर में है क्या: उसी सेटिंग पर, सादी दीवार की फ़ोटो जंगल की फ़ोटो के दसवें हिस्से के साइज़ में निकल सकती है। जो टूल आपको “क्वालिटी: 60” थमाकर उम्मीद लगा लेता है, वह आपकी तरफ़ से अंदाज़ा लगा रहा है।

अकेला भरोसेमंद तरीका है आज़माना। तस्वीर एनकोड कीजिए, साइज़ देखिए, फेर-बदल कीजिए, फिर एनकोड कीजिए। यह हाथ से करना उकताने वाला काम है, और इसीलिए कंप्रेसर इसके बजाय आपसे क्वालिटी की संख्या माँग लेते हैं, और इस तरह उकताहट आपके हिस्से आ जाती है। इसे अपने आप करने में मोटे तौर पर आठ एनकोड लगते हैं, और फ़ोन की फ़ोटो के आठ एनकोड इस दशक में बनी किसी भी मशीन पर सेकंड के अंश भर लेते हैं। इसीलिए इस साइट का टूल साइज़ पूछता है और खोज खुद करता है।

वह जो भी साइज़ बताता है, वह सचमुच एनकोड की गई फ़ाइल का साइज़ है, कोई अनुमान नहीं। जहाँ किसी फ़ॉर्म की सख्त सीमा हो, वहाँ यह मायने रखता है: 2% आशावादी अनुमान का मतलब है लौटा दिया गया अपलोड।

पिक्सल खर्च करने से पहले क्वालिटी खर्च कीजिए

इमेज फ़ाइल को छोटा करने के सिर्फ़ दो ही रास्ते हैं। आप उसी तस्वीर का ब्योरा कम सटीकता से दे सकते हैं, जो क्वालिटी है। या आप कम पिक्सलों का ब्योरा दे सकते हैं, जो आकार बदलना है। ये दोनों बराबर नहीं हैं, और क्रम मायने रखता है।

क्वालिटी पहले जाती है, क्योंकि क्वालिटी में पहली करीब 30% कटौती फ़ोटोग्राफ़ पर सचमुच अदृश्य होती है। आप वह ब्योरा फेंक रहे होते हैं जिसे फ़ॉर्मैट किसी भी आँख की जाँच से ज़्यादा सावधानी से सहेज रहा था। पिक्सल दूसरे नंबर पर जाते हैं, क्योंकि क्वालिटी इतनी गिर जाने के बाद कि दाग दिखने लगें, ठीक-ठाक क्वालिटी वाली छोटी तस्वीर उस पूरे साइज़ की तस्वीर से बेहतर दिखती है जो बिगाड़ दी गई हो। कम अच्छे पिक्सल ज़्यादा बुरे पिक्सलों से जीत जाते हैं।

पूरी रणनीति बस यही है, और यह जानना काम का है चाहे आप कोई दूसरा टूल इस्तेमाल करें: क्वालिटी तब तक नीचे लाइए जब तक वह गलत दिखने न लगे, फिर उसे और नीचे लाने के बजाय तस्वीर को ही छोटा कर दीजिए।

जान-बूझकर आकार कब बदलें

कभी-कभी वे पिक्सल कभी ज़रूरी थे ही नहीं। किसी वेब पेज के 600 पिक्सल चौड़े कॉलम में दिख रही 4000 पिक्सल चौड़ी फ़ोटो उससे छह गुना ब्योरा ढो रही है जितना कोई देखेगा। अगर आपको पता है कि तस्वीर आखिर में कहाँ जाएगी, तो पहले उसी नाप पर आकार बदल दीजिए और साइज़ की दिक्कत अक्सर बिना एक भी कतरा क्वालिटी खर्च किए गायब हो जाती है। उस काम के लिए इमेज रिसाइज़र है, और साइज़ चुनने पर उसकी अपनी गाइड बात करती है।

फ़ॉर्मैट चुनना

तीन फ़ॉर्मैट जानने लायक हैं, और ब्राउज़र तीनों लिख सकते हैं।

अगर फ़ाइल माँगने वाले की तरफ़ से आप पर कोई बंदिश नहीं है, तो WebP आपको तय साइज़ तक JPEG के मुकाबले कम दिखने वाले नुकसान के साथ पहुँचा देगा। अगर फ़ाइल किसी पुरानी चीज़ में जा रही है, या ऐसी व्यवस्था में जिसे आप जाँच नहीं सकते, तो सुरक्षित जवाब JPEG है।

आपकी PNG ज़्यादा छोटी क्यों नहीं होगी

यह सबसे आम हैरानी है, और यह आपके इस्तेमाल किए जा रहे किसी भी टूल की खराबी नहीं है। PNG नुकसान-रहित फ़ॉर्मैट है: यह हूबहू पिक्सल सहेजता है, और इसमें घुमाने के लिए क्वालिटी का कोई बटन है ही नहीं, क्योंकि ऐसा बटन घुमाने पर वह कोई और फ़ॉर्मैट बन जाता। PNG कंप्रेसर बस इतना कर सकता है कि उन्हीं पिक्सलों को ज़्यादा चतुराई से पैक कर दे, और इससे आम तौर पर कुछ प्रतिशत बचते हैं।

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

कैसे पहचानें कि नतीजा काफ़ी अच्छा है

थंबनेल देखने से कुछ साबित नहीं होता, क्योंकि थंबनेल के साइज़ पर सब कुछ ठीक लगता है। दो जाँचें इससे बेहतर हैं।

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

अगर टूल कोई माप देता है, तो उसे पढ़िए। यहाँ का कंप्रेसर अपना ही नतीजा डिकोड करके असली तस्वीर से मिलाता है, और SSIM बताता है: एक ऐसी संख्या जो बदले हुए पिक्सल गिनने के बजाय स्थानीय चमक, कंट्रास्ट और बनावट की तुलना करती है, और इसीलिए उस बात के कहीं ज़्यादा करीब है जिस पर आँख को आपत्ति होती है। मोटे तौर पर 0.98 से ऊपर दोनों तस्वीरों को आमने-सामने रखकर अलग बता पाना मुश्किल है। करीब 0.95 से नीचे, भेजने से पहले देख लीजिए। वह PSNR भी बताता है, यानी वही पुराना डेसिबल वाला आँकड़ा, उनके लिए जिन्हें वह ज़्यादा पसंद है।

दोनों आपकी अपनी मशीन पर गिने जाते हैं और आपको दिखा दिए जाते हैं, और इन्हें रखने का मकसद यही है: इससे “कम से कम क्वालिटी का नुकसान” दावे से निकलकर ऐसी संख्या बन जाता है जिसे आप जाँच सकते हैं।

एक परिणाम पंक्ति: मूल फ़ाइल 1.4 MB, दबाई गई नकल 196 kB, वहाँ पहुँचाने वाली गुणवत्ता, और दोनों की तुलना का लिंक।
जो सचमुच निकला, उसके बगल में जो गया था। तुलना का लिंक ही वह रास्ता है जिससे पता चलता है कि उस संख्या ने आपको कुछ दिखने लायक चुकाया या नहीं।

फ़ाइल भेजने से पहले जानने लायक तीन बातें

कंप्रेस करने से मेटाडेटा हट जाता है। दोबारा एनकोड करने का मतलब है तस्वीर को पिक्सलों में डिकोड करना और उन पिक्सलों को दोबारा एनकोड करना, और पिक्सलों से भरा कैनवस कोई टैग नहीं ढोता। इसलिए GPS स्थिति, कैमरे का मॉडल, समय और बाकी सब नई फ़ाइल में लिखे ही नहीं जाते। आम तौर पर यह फ़ायदे की बात है। अगर आप टैग हटाना चाहते थे पर तस्वीर छूनी नहीं थी, तो वह अलग काम है: EXIF व्यूअर और रिमूवर कंटेनर दोबारा लिखता है, कुछ भी दोबारा कंप्रेस किए बिना, और उसकी गाइड बताती है कि भीतर है क्या।

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

असली फ़ाइल बचाकर रखिए। नुकसान वाले एनकोड से वापसी का कोई रास्ता नहीं है। आप जो भी भेजें, जिस फ़ाइल से आपने शुरू किया था उसे कहीं बचाकर रखिए।

इसमें से किसी के लिए अपलोड की ज़रूरत नहीं

हर ब्राउज़र सालों से JPEG, PNG और WebP एनकोडर साथ लाता रहा है, और यह वही कोड है जो कैनवस से तस्वीर सहेजता है। तस्वीर कंप्रेस करना उन कामों में से है जिनमें सर्वर को शामिल करने की कोई तकनीकी वजह ही नहीं, और इसीलिए यहाँ के टूल के पास सर्वर है ही नहीं। तस्वीर आपकी अपनी मशीन पर डिकोड होती है, एनकोड होती है और नापी जाती है, और पेज की Content-Security-Policy में ऐसा कोई पता है ही नहीं जो इस साइट का हो और जिस पर उसे भेजा जा सके।

इसकी पुष्टि का सबसे आसान तरीका, यहाँ भी और कहीं और भी, यह है कि पेज लोड कीजिए, इंटरनेट काट दीजिए, और तब भी कुछ कंप्रेस करके देखिए। वह तब भी चलता है, तो कुछ अपलोड नहीं हो रहा था। क्या ऑनलाइन कन्वर्टर पर फ़ाइलें अपलोड करना सुरक्षित है? ऐसी ही तीन और जाँचें बताता है।