इस पेज का कोड चालू नहीं हुआ।

index.html को सीधे किसी फ़ोल्डर से खोलने पर ब्राउज़र JavaScript मॉड्यूल रोक देता है, इसलिए कोई फ़ोटो चुनने पर कुछ नहीं होगा। इसके बजाय फ़ोल्डर को http पर सर्व कीजिए:

powershell -ExecutionPolicy Bypass -File serve.ps1

फिर http://localhost:8080/ खोलिए।

HEIC से JPG — iPhone की फ़ोटो बदलिए

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

भाषा: हिन्दी
कोड देखें
यह टूल फ़ोटो कभी अपलोड नहीं करता। यहाँ कोई सर्वर है ही नहीं।

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

लाइव जाँच: जाँच जारी…

ऑफ़लाइन: जाँच जारी…

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

1 अपनी HEIC फ़ोटो चुनिए

सीधे फ़ोन से, किसी बैकअप में से, या मेमोरी कार्ड से कॉपी करके। फ़ाइल यहीं, इसी मशीन पर पढ़ी जाती है, और तस्वीर भी यहीं डिकोड होती है। इस पेज में अपलोड वाला कोई कदम है ही नहीं, और इसके पीछे कोई सर्वर भी नहीं।

2 बताइए कि आपको वापस क्या चाहिए

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

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

फ़ॉर्मैट
92

फ़ोटो का ब्योरा

3 बदलिए

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

HEIC फ़ोटो को JPG में कैसे बदलें

  1. अपनी HEIC फ़ोटो चुनिए। उन्हें पिकर पर छोड़ दीजिए या हाथ से चुन लीजिए, सीधे फ़ोन के बैकअप से या डेस्कटॉप के किसी फ़ोल्डर से। ब्राउज़र उन्हें आपकी डिस्क से पढ़ता है, और इस दौरान कुछ भी कहीं नहीं भेजा जाता। सूची बताती है कि हर फ़ाइल क्या है और उसके भीतर क्या है।
  2. देखिए कि फ़ोटो क्या-क्या ढो रही हैं। हर पंक्ति उस तारीख का नाम लेती है जब वह खींची गई, कैमरे का नाम लेती है, और हरे रंग में यह भी बताती है कि फ़ाइल में GPS निर्देशांक हैं या नहीं। हरा रंग इसलिए, क्योंकि ध्यान देने लायक हिस्सा यही है। यह सब तस्वीर डिकोड किए बिना कंटेनर से पढ़ा जाता है, इसलिए इसकी कोई कीमत नहीं लगती और यह तुरंत दिख जाता है।
  3. फ़ॉर्मैट चुनिए, और ब्योरे के बारे में फ़ैसला कीजिए। कोई खास वजह न हो तो JPEG ही चुनिए, क्योंकि यही वह फ़ॉर्मैट है जो हर जगह खुलता है, और बदलने का पूरा मकसद भी यही है। क्वालिटी का स्लाइडर 92 पर है, यानी उस सेटिंग पर जहाँ फ़ोटोग्राफ़ को असली से अलग बता पाना मुश्किल होता है। चेकबॉक्स तय करता है कि तारीख, कैमरा और जगह साथ आएँ या नहीं।
  4. “बदलिए” दबाइए, और डाउनलोड कीजिए। डिकोडर पहली बार बदलने पर आता है, करीब 1.4 MB और बस एक ही बार। उसके बाद हर फ़ोटो आपकी अपनी मशीन पर डिकोड होती है और लिखी जाती है। एक फ़ाइल पर डाउनलोड का बटन मिलता है, और कई पर एक ZIP भी।

विस्तार से

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

सवाल

क्या मेरी फ़ोटो कहीं अपलोड होती है?

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

यह पेज पहली बार 1.4 MB क्यों डाउनलोड करता है?

क्योंकि HEIC वह अकेला तस्वीर फ़ॉर्मैट है जिसे ब्राउज़र नहीं खोलेगा। वह डिब्बों वाले कंटेनर में बैठा HEVC फ़्रेम है, और उसका डिकोडर सिर्फ़ Safari के पास है, वह भी Apple के हार्डवेयर पर। Chrome, Firefox और Edge फ़ाइल सिरे से मना कर देते हैं। तो HEIC कन्वर्टर को डिकोडर कहीं से तो चाहिए, और वह दो ही जगह से आ सकता है, या तो सर्वर से या पेज से। हर दूसरे कन्वर्टर ने सर्वर चुना, और ठीक इसीलिए उन सबको आपकी फ़ोटो अपलोड करानी पड़ती हैं। यह वाला इसके बजाय WebAssembly में संकलित libheif साथ लेकर चलता है। वह इसी साइट से आता है, पहली विज़िट के बाद कैश हो जाता है, और आपकी फ़ोटो के कहीं न जाने की पूरी कीमत बस यही है।

क्या JPEG में तारीख, कैमरा और जगह बची रहती है?

आप चाहें तो, और यह पेज पर एक चेकबॉक्स है। चालू रहने पर EXIF ब्लॉक HEIC से निकालकर JPEG में ठीक वैसे ही लिख दिया जाता है जैसे फ़ोन ने उसे लिखा था। इससे बदली हुई फ़ोटो अब भी उसी दिन के हिसाब से क्रम में लगती है जिस दिन वह खींची गई थी, न कि जिस दिन बदली गई, और HEIC कन्वर्टरों के बारे में आम शिकायत यही होती है। सिर्फ़ एक टैग बदला जाता है, ओरिएंटेशन, जिसे “सीधा” कर दिया जाता है। घुमाव पिक्सलों पर पहले ही लागू हो चुका होता है, और जो व्यूअर उसे दोबारा लगाता, वह हर खड़ी फ़ोटो को करवट पर लिटा देता। चेकबॉक्स बंद कर दीजिए, और JPEG में तस्वीर के सिवा कुछ नहीं आता।

क्या यह GPS निर्देशांक हटा देता है?

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

क्या तस्वीर दोबारा कंप्रेस होती है?

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

अगर फ़ाइल का नाम .jpg है पर वह असल में HEIC है तो?

तब भी काम चलेगा। यहाँ छोड़ी गई हर फ़ाइल की पहचान उसके नाम से नहीं, उसके पहले बाइटों से होती है। नाम तो वही होता है जो उस फ़ाइल को छूने वाले आखिरी ऐप ने तय कर दिया, और “.jpg” नाम से आई HEIC उन सबसे आम वजहों में से एक है जिनकी वजह से लोग ऐसा टूल ढूँढ़ने निकलते हैं। जो फ़ाइल सचमुच JPEG या PNG है, उसे अपनी ही नकल में बदलने के बजाय एक संदेश के साथ मना कर दिया जाता है।

क्या यह Live Photo या बर्स्ट बदल सकता है?

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

यह मेरी AVIF क्यों नहीं लेता?

क्योंकि उसके साथ करने को कुछ है ही नहीं। AVIF वही कंटेनर है जो HEIC का है, बस भीतर HEVC की जगह AV1 है, और आज का हर ब्राउज़र उसे खुद ही डिकोड कर लेता है। यानी कन्वर्टर ऐसी समस्या हल करने के लिए एक मेगाबाइट का इंजन भेज रहा होता जो आपको है ही नहीं। आपको AVIF को JPEG के रूप में चाहिए, तो इमेज कंप्रेसर और इमेज रिसाइज़र, दोनों AVIF पढ़ते हैं और उसी डिकोडर से JPEG लिख देते हैं जो आपके ब्राउज़र के पास पहले से है।

क्या यह मुफ़्त है, और क्या इसके लिए खाता बनाना पड़ेगा?

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

क्या यह ऑफ़लाइन चलता है?

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