EXIF स्ट्रिपिंग कैसे काम करती है
JPEG फ़ाइल APP मार्कर नामक टैग किए सेगमेंट की एक श्रृंखला है, जो दो-बाइट SOI सिग्नेचर (0xFFD8) के ठीक बाद शुरू होती है। EXIF डेटा APP1 में रहता है, GPS उसी APP1 ब्लॉक में सब-IFD के रूप में है, और IPTC APP13 में है। स्ट्रिपर हर मार्कर देखता है, मेटाडेटा वाले पहचानता है, उन्हें हटाता है और शेष पेलोड को एक मान्य JPEG में पुनः जोड़ता है।
- APP मार्कर पार्स करें. टूल कच्चा ArrayBuffer पढ़ता है और JFIF मार्कर अनुक्रम को बाइट दर बाइट देखता है। प्रत्येक दो-बाइट मार्कर टैग एक सेगमेंट प्रकार पहचानता है: APP0 (JFIF हेडर), APP1 (EXIF और XMP), APP13 (Photoshop और IPTC), और इसी तरह। पार्सर कुछ भी बदलने से पहले प्रत्येक सेगमेंट का ऑफसेट और बाइट लंबाई एक छोटी तालिका में रिकॉर्ड करता है, ताकि मूल बफर मेमोरी में अक्षुण्ण रहे।
- EXIF टैग डीकोड करें. APP1 पेलोड चार Image File Directories के साथ एक मिनी TIFF संरचना है: 0th IFD (मुख्य इमेज विशेषताएँ), Exif SubIFD (एक्सपोज़र, लेंस, फोकल लेंथ, ISO), GPS IFD (अक्षांश, देशांतर, ऊंचाई, दिशा), और 1st IFD (एम्बेडेड थंबनेल)। प्रत्येक टैग में एक संख्यात्मक कोड, डेटा प्रकार और मान होता है। टूल piexifjs के टैग शब्दकोश का उपयोग करके संख्यात्मक कोड को मानव-पठनीय नामों में मैप करता है, फिर उन्हें IFD के अनुसार समूहित मेटाडेटा पैनल में प्रस्तुत करता है।
- GPS टैग चिह्नित करें. GPS IFD में कोई भी टैग लाल गोपनीयता बैज से हाइलाइट किया जाता है। अक्षांश और देशांतर तीन परिमेय संख्याओं (डिग्री, मिनट, सेकंड) और संदर्भ दिशा (N या S, E या W) के रूप में संग्रहीत होते हैं। टूल उन्हें छह अंकों की सटीकता के साथ हस्ताक्षरित दशमलव डिग्री में परिवर्तित करता है (~भूमध्य रेखा पर 11 सेमी) और GPS पैनल में OpenStreetMap लिंक के साथ परिणाम दिखाता है।
- मेटाडेटा हटाएँ. JPEG फ़ाइलों के लिए डिफ़ॉल्ट पथ APP1 सेगमेंट को पूरी तरह हटाने के लिए piexifjs का उपयोग करता है, पिक्सेल डेटा अछूता रखते हुए एक नया dataURL लौटाता है। जब "ओरिएंटेशन रखें" चालू हो, टूल स्ट्रिप करने से पहले मूल
Orientationटैग मान (1–8) के अनुसार इमेज को<canvas>पर घुमाता है, ताकि दृश्य परिणाम आपके कैमरे के इरादे से मेल खाए। - Canvas री-एनकोड पथ. जब "ICC कलर प्रोफाइल रखें" बंद हो, टूल इमेज को एक छुपे
<canvas>पर ड्रॉ करता है औरcanvas.toBlob('image/jpeg', quality)कॉल करता है। यह पथ सब कुछ हटाता है (EXIF, XMP, IPTC, ICC प्रोफाइल, थंबनेल) और आपको JPEG गुणवत्ता स्लाइडर 60 से 100 तक नियंत्रित करने देता है। डिफ़ॉल्ट 92 है। - साफ़ फ़ाइल डाउनलोड करें. साफ़ किया blob
<original-name>-stripped.jpgनाम से डाउनलोड के रूप में प्रस्तुत किया जाता है। टूल परिणाम को पुनः पार्स करता है और डाउनलोड लिंक दिखाने से पहले पुष्टि करता है कि EXIF GPS सेक्शन खाली है, ताकि आपको कभी "stripped" लेबल वाली फ़ाइल न मिले जिसमें अभी भी स्थान टैग है। PNG और WebP फ़ाइलों में EXIF नहीं होता; टूल उन फॉर्मेट के लिए "No EXIF" संदेश दिखाता है।
साझा करने से पहले EXIF क्यों हटाएँ
- स्थान गोपनीयता. स्मार्टफोन डिफ़ॉल्ट रूप से हर फ़ोटो में सटीक GPS निर्देशांक एम्बेड करते हैं। किसी रेस्तराँ, कार्यालय या घर में ली गई JPEG में लगभग पाँच मीटर की सटीकता पर वह पता मेटाडेटा में होता है। सोशल मीडिया पर पोस्ट करने, किसी अजनबी को ईमेल करने या सार्वजनिक सपोर्ट टिकट में अटैच करने से पहले GPS टैग हटाएँ और वह स्थान फिंगरप्रिंट पूरी तरह हट जाता है।
- प्रकाशनों में गुमनामी. पत्रकार, कार्यकर्ता और व्हिसलब्लोअर फ़ोटो सबमिट करने से पहले EXIF हटाते हैं क्योंकि कैमरा सीरियल नंबर, लेंस फर्मवेयर वर्शन और निर्माण टाइमस्टैम्प सभी को अन्य प्रकाशित इमेज के साथ क्रॉस-रेफर करके फोटोग्राफर की पहचान की जा सकती है। उन टैग हटाना किसी के लिए भी बुनियादी परिचालन सुरक्षा कदम है जिसका बायलाइन किसी विशिष्ट डिवाइस से नहीं जुड़ना चाहिए।
- छोटा फ़ाइल आकार. एक सामान्य स्मार्टफोन JPEG अपने APP1 सेगमेंट में 5 से 15 KB मेटाडेटा रखता है, जिसमें 160×120 एम्बेडेड थंबनेल शामिल है। यह 5 MB फ़ोटो के सापेक्ष छोटा है, लेकिन 1,000 उत्पाद इमेज के बैच पर हटाने से प्रति अपलोड राउंड-ट्रिप 5 से 15 MB की बचत होती है।
- कैमरा फिंगरप्रिंट हटाएँ. कैमरा मेक, मॉडल, फर्मवेयर वर्शन, लेंस पहचानकर्ता और शटर-एक्चुएशन काउंट एक फिंगरप्रिंट बनाते हैं जो अलग-अलग अपलोड में फ़ोटो जोड़ सकता है। यदि आप हार्डवेयर उजागर किए बिना इमेज साझा कर रहे हैं, तो Exif SubIFD वह जगह है जहाँ वह पहचान जानकारी रहती है। इसे हटाएँ और लिंक टूट जाता है।
सामान्य अनुप्रयोग
EXIF स्ट्रिपिंग कभी भी आती है जब फ़ोटो हाथ बदलती है और उसका मेटाडेटा भेजने वाले या विषय के लिए समस्या पैदा कर सकता है।
- सोशल मीडिया अपलोड: अधिकांश प्लेटफॉर्म वैसे भी सर्वर-साइड EXIF हटाते हैं, लेकिन पहले क्लाइंट-साइड हटाने का मतलब है कि मूल निर्देशांक कभी प्लेटफॉर्म के सर्वर तक पहुँचे ही नहीं।
- पत्रकारिता और डॉक्यूमेंट्री फोटोग्राफी: वायर सेवाओं और फोटो डेस्क को साफ़ मेटाडेटा चाहिए ताकि बायलाइन attribution और कैप्शन डेटा डेस्क द्वारा नियंत्रित हों, कैमरे द्वारा नहीं।
- संपत्ति और उत्पाद लिस्टिंग: रियल एस्टेट एजेंट और ई-कॉमर्स विक्रेता नियमित रूप से संपत्ति या गोदाम पते पर ली गई फ़ोटो अपलोड करते हैं। अपलोड से पहले GPS हटाना सटीक व्यवसाय पते को फ़ाइल में अनायास प्रकाशित होने से रोकता है।
एक व्यावहारिक उदाहरण
एक हालिया iPhone पर ली गई 3.5 MB JPEG में लगभग 12 KB का APP1 मेटाडेटा होता है: GPS निर्देशांक बेयरिंग और ऊंचाई के साथ, मिलीसेकंड तक कैप्चर टाइमस्टैम्प, कैमरा मॉडल और लेंस पहचानकर्ता, व्हाइट-बैलेंस सेटिंग, और 160×120 एम्बेडेड थंबनेल। डिफ़ॉल्ट piexif पथ से हटाने के बाद, फ़ाइल 3.488 MB पर आती है — 12 KB हल्की, पिक्सेल मूल के समान, और स्थान पिंग से मुक्त।
EXIF मेटाडेटा क्या है?
EXIF (Exchangeable Image File Format) एक मानक है जो परिभाषित करता है कि डिजिटल कैमरे और स्मार्टफोन इमेज फ़ाइलों में मेटाडेटा कैसे स्टोर करते हैं। एक सामान्य स्मार्टफोन JPEG में कैमरा मेक और मॉडल, लेंस फोकल लेंथ, शटर स्पीड, ISO, सटीक GPS स्थान (कुछ मीटर तक), निर्माण टाइमस्टैम्प और एक छोटा एम्बेडेड थंबनेल होता है — सभी प्रस्तुत इमेज में अदृश्य लेकिन किसी भी EXIF-जागरूक एप्लिकेशन द्वारा पठनीय।
फ़ोटो साझा करने से पहले EXIF क्यों हटाएँ?
GPS टैग उजागर करता है कि फ़ोटो कहाँ ली गई, कुछ मीटर तक। बिना हटाए फ़ोटो साझा करें और आप वह स्थान फ़ाइल पाने वाले हर किसी के साथ साझा करते हैं। कैमरा सीरियल नंबर और लेंस पहचानकर्ता भी अलग-अलग अपलोड में फोटोग्राफर को फिंगरप्रिंट कर सकते हैं। स्ट्रिपिंग यह सब फ़ाइल आपके डिवाइस छोड़ने से पहले हटा देती है।
क्या इससे इमेज गुणवत्ता प्रभावित होती है?
डिफ़ॉल्ट piexif पथ इमेज पिक्सेल को छुए बिना APP1 सेगमेंट हटाता है, इसलिए गुणवत्ता मूल के बिट-समान है। Canvas री-एनकोड पथ (जब "ICC कलर प्रोफाइल रखें" बंद हो, या घुमाई गई इमेज के लिए "ओरिएंटेशन रखें" चालू हो) चयनित JPEG गुणवत्ता स्लाइडर मान पर पिक्सेल री-एनकोड करता है।
iPhone की HEIC फ़ाइलों के बारे में क्या?
HEIC स्ट्रिपिंग आपके ब्राउज़र के मूल HEIC सपोर्ट पर निर्भर करती है। Safari 13+ HEIC को मूल रूप से डीकोड करता है; Chrome और Firefox नहीं करते। यदि आपका ब्राउज़र HEIC प्रदर्शित नहीं कर सकता, तो पहले अपने फ़ोन के "JPEG के रूप में निर्यात करें" विकल्प का उपयोग करें (iOS Photos में: शेयर करें → विकल्प → सर्वाधिक संगत), फिर यहाँ JPEG अपलोड करें।
हर स्ट्रिप आपके ब्राउज़र में स्थानीय रूप से चलती है। मूल फ़ोटो कभी किसी सर्वर तक नहीं पहुँचती, और साफ़ फ़ाइल पूरी तरह अपलोड के समय मेमोरी में लोड हुए ArrayBuffer से बनती है। ऊपर फ़ोटो छोड़ें, मेटाडेटा जाँचें, और साफ़ कॉपी डाउनलोड करें।