ट्यूटोरियल्स

बिना सॉफ़्टवेयर इंस्टॉल किए ऑनलाइन बैच में छवियाँ कैसे बदलें

koboshiCo-founder
·9 मिनट पढ़ें
बिना सॉफ़्टवेयर इंस्टॉल किए ऑनलाइन बैच में छवियाँ कैसे बदलें
सारांश

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

आपके पास यात्रा की 200 HEIC तस्वीरें हैं। वे आपके Windows लैपटॉप पर नहीं खुलतीं, आपका वेब ऐप JPEG की अपेक्षा करता है, और आपकी फ़ोटो शेयरिंग साइट HEIC को पूरी तरह से अस्वीकार कर देती है। आप उन्हें एक-एक करके बदल सकते हैं: प्रति फ़ोटो चार क्लिक, कुल 800 क्लिक, आधी दोपहर बर्बाद। या आप फ़ोल्डर को ब्राउज़र टैब में डालकर छोड़ सकते हैं जबकि वह प्रोसेस करता है।

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

बैच रूपांतरण का वास्तविक अर्थ

बैच रूपांतरण "एक फ़ाइल बदलो, दोहराओ" नहीं है। एक वास्तविक बैच पाइपलाइन जहाँ संभव हो तीन काम समानांतर में करती है:

  1. पढ़ना: प्रारूप की पुष्टि करने के लिए प्रत्येक फ़ाइल का हेडर पार्स करें। .heic एक्सटेंशन कुछ भी सिद्ध नहीं करता। पाइपलाइन पहले 12 बाइट्स पढ़ती है, ftyp बॉक्स में heic/heif/mif1 की जाँच करती है, और पिक्सेल डेटा को छूने से पहले बेमेल को अस्वीकार कर देती है।
  2. डिकोड करना: स्रोत को कच्चे पिक्सेल में डीकंप्रेस करें। HEIC फ़ाइलों के लिए, इसका अर्थ है libheif का WebAssembly बिल्ड चलाना। JPEG और PNG के लिए, ब्राउज़र के मूल डिकोडर इसे संभालते हैं। यह चरण CPU-बाउंड है और अड़चन है।
  3. एन्कोड करना: कच्चे पिक्सेल को लक्ष्य प्रारूप में संपीड़ित करें। JPG एन्कोडिंग 90 गुणवत्ता पर, PNG DEFLATE के साथ, WebP ब्राउज़र के अंतर्निर्मित एन्कोडर के साथ।

डेस्कटॉप सॉफ़्टवेयर वही तीन चरण करता है। अंतर यह है कि CPU साइकिल कहाँ जलती है: किसी भी तरह आपकी मशीन पर, लेकिन ब्राउज़र टैब में कोई इंस्टॉलर नहीं, कोई एडमिन अनुमति नहीं, और आपके डेस्कटॉप पर कोई अस्थायी फ़ाइलें नहीं।

समर्थित प्रारूप जोड़े

हर प्रारूप हर दूसरे में अच्छी तरह से नहीं बदलता। वह मैट्रिक्स जो मायने रखती है:

सेJPG मेंPNG मेंWebP मेंICO में
HEIC
JPG
PNG
WebP
BMP

खाली प्रविष्टियाँ गायब सुविधाएँ नहीं हैं। HEIC से ICO एक निरर्थक रूपांतरण है: एक बहु-मेगाबाइट फ़ोटो 256×256 आइकन फ़ाइल में सिकुड़कर वह सब कुछ खो देती है जिसने उसे फ़ोटो बनाया था। उपकरण व्यर्थ पथों को छोड़ देता है।

PDF पृष्ठ एक अलग पाइपलाइन का पालन करते हैं। प्रत्येक पृष्ठ PDF.js के माध्यम से एक canvas पर रेंडर होता है, फिर लक्ष्य प्रारूप में एन्कोड होता है। हमारे PDF से JPG, PDF से PNG, और PDF से WebP कनवर्टर स्वचालित रूप से हर पृष्ठ को बैच-प्रोसेस करते हैं।

कार्यप्रवाह चरण दर चरण

1. सब कुछ एक साथ ड्रॉप करें

कनवर्टर पृष्ठ खोलें। अपने फ़ाइल प्रबंधक से एक फ़ोल्डर को ड्रॉप ज़ोन पर खींचें। आप फ़ाइल पिकर खोलने और कई फ़ाइलें चुनने के लिए क्लिक भी कर सकते हैं; Ctrl+A यहाँ काम करता है।

ड्रॉप ज़ोन ब्राउज़र के ड्रैग इवेंट से सीधे FileList ऑब्जेक्ट पढ़ता है। कोई अपलोड नहीं होता। फ़ाइलें File ऑब्जेक्ट के रूप में मेमोरी में रहती हैं, जो केवल डिस्क पर ब्लॉब्स के संदर्भ हैं जिनमें नाम, आकार और एक्सटेंशन से अनुमानित MIME प्रकार होता है।

2. सत्यापन को चलने दें

डिकोडिंग से पहले प्रत्येक फ़ाइल की जाँच की जाती है। HEIC फ़ाइलों के लिए, सत्यापनकर्ता ऊपर बताए अनुसार ftyp बॉक्स पढ़ता है। बाकी सब के लिए, ब्राउज़र का createImageBitmap() कॉल या तो सफल होता है (मान्य छवि) या त्रुटि फेंकता है (दूषित या गलत लेबल वाली फ़ाइल)।

अमान्य फ़ाइलों को लाल मार्कर और कारण के साथ चिह्नित किया जाता है: "मान्य HEIC फ़ाइल नहीं," "असमर्थित प्रारूप," "फ़ाइल 200 MB से अधिक है।" वे बाकी बैच को अवरुद्ध नहीं करते। मान्य फ़ाइलें प्रसंस्करण के लिए कतारबद्ध होती हैं।

3. आउटपुट प्रारूप चुनें

प्रत्येक कनवर्टर पृष्ठ एक विशिष्ट आउटपुट प्रारूप को लक्षित करता है। यदि आपको HEIC से JPG चाहिए, तो HEIC से JPG पृष्ठ का उपयोग करें। इसके बजाय HEIC से PNG चाहिए? HEIC से PNG। आउटपुट प्रारूप प्रति पृष्ठ निश्चित है, जो UI को सरल रखता है: कोई ड्रॉपडाउन नहीं, कोई भ्रम नहीं।

गुणवत्ता सेटिंग्स प्रारूप-विशिष्ट हैं। JPG आपको गुणवत्ता स्लाइडर देता है (10–100, डिफ़ॉल्ट 90)। PNG हमेशा लॉसलेस होता है, इसलिए स्लाइडर की आवश्यकता नहीं। WebP एक गुणवत्ता स्लाइडर का उपयोग करता है जो JPEG से भिन्न व्यवहार करता है: फ़ोटोग्राफ़िक सामग्री के लिए WebP 80 पर लगभग JPEG 92 के बराबर है।

4. प्रतीक्षा करें (संक्षेप में)

प्रसंस्करण समय तीन चीज़ों पर निर्भर करता है: फ़ाइलों की संख्या, फ़ाइल का आकार, और आपका CPU। 8 कोर वाला एक आधुनिक लैपटॉप प्रति सेकंड लगभग 2–4 HEIC-से-JPG रूपांतरण संभालता है। 200 iPhone फ़ोटो का एक फ़ोल्डर दो मिनट से कम में पूरा हो जाता है।

प्रत्येक फ़ाइल requestAnimationFrame-विभाजित खंडों के माध्यम से चलती है ताकि UI प्रतिक्रियाशील बना रहे। प्रगति पट्टी फ़ाइल-स्तरीय प्रगति दिखाती है, बाइट-स्तरीय नहीं: प्रत्येक फ़ाइल आकार की परवाह किए बिना एक टिक है।

5. डाउनलोड

आपके पास दो विकल्प हैं:

व्यक्तिगत डाउनलोड: प्रत्येक रूपांतरित फ़ाइल अलग-अलग डाउनलोड होती है। ब्राउज़र का डाउनलोड प्रबंधक इसे मूल रूप से संभालता है और यह हर जगह काम करता है।

ZIP संग्रह: सभी रूपांतरित फ़ाइलें एक .zip में पैक। स्ट्रीमिंग ZIP कार्यान्वयन के साथ मेमोरी में बनाया गया; फ़ाइलें तुरंत संपीड़ित होती हैं, किसी अस्थायी भंडारण की आवश्यकता नहीं।

मूल फ़ाइल नाम एक्सटेंशन बदलकर बने रहते हैं। IMG_4021.HEIC बन जाता है IMG_4021.jpg

गुणवत्ता और आकार के बीच संतुलन

प्रारूप बदलने का अर्थ है फ़ाइल आकार के बारे में चुनाव करना:

रूपांतरणसामान्य आकार परिवर्तनगुणवत्ता नोट्स
HEIC → JPG (q90)~2× बड़ासामान्य ज़ूम पर दृष्टिगत रूप से समान
HEIC → PNG~5–8× बड़ालॉसलेस, लेकिन फ़ोटो के लिए अत्यधिक
HEIC → WebP (q80)~1.2× बड़ासमान गुणवत्ता पर JPEG से छोटा
PNG → JPG (q90)~3–5× छोटापारदर्शिता सफ़ेद पृष्ठभूमि बन जाती है
BMP → JPG (q90)~10–20× छोटाBMP कच्चे पिक्सेल संग्रहीत करता है; JPG उन्हें संपीड़ित करता है
JPG → PNG~5–10× बड़ाकोई गुणवत्ता लाभ नहीं; बस आगे की हानि रोकता है

HEIC से PNG वह जाल है जिसमें लोग फँसते हैं। HEIC पहले से ही लॉसी है। लॉसी को लॉसलेस में बदलने से गुणवत्ता पुनर्प्राप्त नहीं होती; यह वर्तमान स्थिति को 5× फ़ाइल आकार पर स्थिर करता है। वेब के लिए फ़ोटो के लिए, HEIC से JPG या WebP ईमानदार रास्ता है। संपादक में जाने वाली फ़ोटो के लिए, PNG समझ में आता है क्योंकि यह बाद के सहेजने पर पीढ़ीगत हानि को रोकता है। यही तर्क सभी मामलों में लागू होता है। पूर्ण व्याख्या के लिए हमारा लॉसी बनाम लॉसलेस संपीड़न गाइड देखें।

ब्राउज़र बनाम डेस्कटॉप बनाम सर्वर

ब्राउज़र-आधारितडेस्कटॉप सॉफ़्टवेयरसर्वर/क्लाउड
इंस्टॉलकोई नहींडाउनलोड + इंस्टॉलकोई नहीं
गोपनीयताफ़ाइलें स्थानीय रहती हैंफ़ाइलें स्थानीय रहती हैंफ़ाइलें सर्वर पर अपलोड
गतिWebAssembly (लगभग मूल)मूलनेटवर्क अपलोड + कतार + डाउनलोड
बैच आकारमेमोरी-सीमित (~500+ फ़ाइलें)डिस्क-सीमितमुफ़्त स्तरों पर अक्सर सीमित
अपडेटहमेशा नवीनतममैन्युअल अपडेटहमेशा नवीनतम

ब्राउज़र-आधारित कनवर्टर अधिकांश लोगों के लिए सर्वोत्तम स्थान पर हैं: कोई इंस्टॉल नहीं, कोई अपलोड नहीं, और इतने तेज़ कि पिछले पाँच वर्षों में बनी किसी भी चीज़ पर मूल से अंतर अगोचर है।

WebAssembly का विवरण मायने रखता है। HEIC डिकोडर एक संकलित C लाइब्रेरी (libheif) है जो WASM सैंडबॉक्स में चल रही है। इसकी कोई फ़ाइलसिस्टम पहुँच नहीं, कोई नेटवर्क पहुँच नहीं, और आपके डेटा को कहीं भी भेजने का कोई तरीका नहीं। ब्राउज़र इन सीमाओं को इंजन स्तर पर लागू करता है, एप्लिकेशन स्तर पर नहीं। इस आर्किटेक्चर पर अधिक जानकारी हमारे WebAssembly व्याख्याकार और ब्राउज़र गोपनीयता गहन विश्लेषण में।

जब बैच रूपांतरण विफल होता है

कुछ चीज़ें बैच रन को पूरी तरह से रोक देती हैं:

  • गलत कनवर्टर में मिश्रित प्रारूप। HEIC-से-JPG पृष्ठ पर JPEG डालना। सत्यापनकर्ता इन्हें पकड़ता है और छोड़ देता है। अस्वीकृत फ़ाइलों को स्पष्ट लेबल मिलता है ताकि आप उन्हें सही कनवर्टर पर पुनर्निर्देशित कर सकें।
  • बहुत बड़े बैच पर मेमोरी समाप्ति। 2,000 24 MP RAW फ़ाइलों को संसाधित करना अंततः ब्राउज़र मेमोरी सीमाओं को हिट करेगा। समाधान है बैच को कुछ सैकड़ों के खंडों में विभाजित करना। सामान्य फ़ोन फ़ोटो (12 MP, ~2 MB HEIC) के लिए, प्रति रन 500+ फ़ाइलें ठीक हैं।
  • Safari का डाउनलोड व्यवहार। Safari Chrome या Firefox की तुलना में समवर्ती डाउनलोड को अधिक आक्रामक रूप से सीमित करता है। व्यक्तिगत डाउनलोड ठीक काम करते हैं। ZIP डाउनलोड इसे पूरी तरह से दरकिनार करते हैं: एक फ़ाइल, कोई समवर्ती समस्या नहीं।

संबंधित उपकरण

इस साइट पर प्रत्येक छवि कनवर्टर बैच प्रसंस्करण का समर्थन करता है:

कोई खाता आवश्यक नहीं। कोई प्रति-फ़ाइल शुल्क नहीं। फ़ोल्डर ड्रॉप करें और परिणाम डाउनलोड करें।

और ब्लॉग पोस्ट्स पढ़ें