EXIF stripping કેવી?
JPEG ફાઇલ એ APP markers કહેવાતા tagged segments નો એક ક્રમ છે, જે બે-બાઇટ SOI signature (0xFFD8) ની તરત જ પછી શરૂ થાય છે. EXIF ડેટા APP1 માં રહે છે, GPS એ જ APP1 બ્લોકની અંદર એક sub-IFD તરીકે રહે છે, અને IPTC APP13 માં રહે છે. સ્ટ્રિપર દરેક marker પર ચાલે છે, મેટાડેટા વહન કરનારાઓને ઓળખે છે, એમને દૂર કરે છે, અને બાકીના payload ને એક માન્ય JPEG માં ફરી ભેગો કરે છે.
- APP markers parse. સાધન કાચો ArrayBuffer વાંચે છે અને JFIF marker ક્રમ પર બાઇટ-દર-બાઇટ ચાલે છે. દરેક બે-બાઇટ marker tag એક segment પ્રકાર ઓળખે છે: APP0 (JFIF હેડર), APP1 (EXIF અને XMP), APP13 (Photoshop અને IPTC), અને એ જ રીતે APP15 સુધી. પાર્સર કંઈપણ સ્પર્શ કરતા પહેલા દરેક segment નો ઑફસેટ અને બાઇટ લંબાઈ એક નાના કોષ્ટકમાં નોંધે છે, જેથી મૂળ બફર મેમરીમાં અકબંધ રહે.
- EXIF tags decode. APP1 payload એ ચાર Image File Directories સાથેનું એક મિની TIFF માળખું છે: 0th IFD (મુખ્ય image વિશેષતાઓ), Exif SubIFD (exposure, lens, focal length, ISO), GPS IFD (latitude, longitude, altitude, direction), અને 1st IFD (embedded thumbnail). દરેક tag એક સંખ્યાત્મક code, એક ડેટા પ્રકાર (byte, short, long, rational, ASCII string), અને એક મૂલ્ય વહન કરે છે. સાધન piexifjs ના tag dictionary નો ઉપયોગ કરીને સંખ્યાત્મક codes ને માનવ-વાંચનીય નામોમાં મેપ કરે છે, પછી એમને IFD પ્રમાણે જૂથબદ્ધ કરીને મેટાડેટા પેનલમાં રેન્ડર કરે છે.
- GPS tags flag. GPS IFD માંનો કોઈપણ tag લાલ ગોપનીયતા બૅજ સાથે હાઇલાઇટ થાય છે. Latitude અને longitude ત્રણ rational સંખ્યાઓ (degrees, minutes, seconds) ઉપરાંત એક સંદર્ભ દિશા (N અથવા S, E અથવા W) તરીકે સંગ્રહિત થાય છે. સાધન એમને છ અંકોની ચોકસાઈ સાથે signed દશાંશ degrees માં રૂપાંતરિત કરે છે (વિષુવવૃત્ત પર ~11 cm) અને OpenStreetMap લિંકની સાથે GPS પેનલમાં પરિણામ બતાવે છે. કોઈ tile request બહાર જતી નથી — લિંક સ્થાનિક રીતે ઉત્પન્ન થાય છે અને માત્ર ત્યારે જ ખૂલે છે જ્યારે તમે એના પર ક્લિક કરો.
- Metadata strip. JPEG ફાઇલો માટે ડિફૉલ્ટ પાથ APP1 segment ને સંપૂર્ણપણે દૂર કરવા piexifjs નો ઉપયોગ કરે છે, અને pixel ડેટા અસ્પૃશ્ય રાખીને એક નવો dataURL પરત આપે છે. જ્યારે "Keep orientation" ચાલુ હોય, ત્યારે સાધન સ્ટ્રિપ કરતા પહેલા image ને
<canvas>પર ફેરવે છે જેથી તે મૂળOrientationtag મૂલ્ય (1–8) સાથે મેળ ખાય, જેથી દૃશ્ય પરિણામ તમારા કૅમેરાના ઇરાદા સાથે મેળ ખાય — પરિભ્રમણ મેટાડેટા ફ્લેગ પર આધાર રાખવાને બદલે pixels માં જ બેક થઈ જાય છે. - Canvas re-encode રસ્તો. જ્યારે "Keep ICC color profile" બંધ કરવામાં આવે, ત્યારે સાધન image ને એક છૂપા
<canvas>પર દોરે છે અનેcanvas.toBlob('image/jpeg', quality)કૉલ કરે છે. આ પાથ બધું જ સ્ટ્રિપ કરે છે (EXIF, XMP, IPTC, ICC profile, thumbnail) અને તમને JPEG quality સ્લાઇડર 60 થી 100 સુધી નિયંત્રિત કરવા દે છે. ડિફૉલ્ટ 92 છે, જે મોટાભાગના ફોટામાં source થી અલગ ન પાડી શકાય તેવી quality પર મૂળ કદના થોડા ટકાની અંદર ફાઇલો ઉત્પન્ન કરે છે. - Clean file download. સાફ કરેલ blob
<original-name>-stripped.jpgનામની ડાઉનલોડ તરીકે ઑફર થાય છે. સાધન પરિણામને ફરી પાર્સ કરે છે અને ડાઉનલોડ લિંક દેખાય તે પહેલા પુષ્ટિ કરે છે કે EXIF GPS વિભાગ ખાલી છે, જેથી તમને ક્યારેય "stripped" લેબલવાળી ફાઇલ ન મળે જે હજુ પણ location tag વહન કરતી હોય. PNG અને WebP ફાઇલો પ્રથમ સ્થાને જ EXIF વહન કરતી નથી; સાધન "No EXIF" સંદેશ બતાવે છે અને એ ફોર્મેટ માટે સ્ટ્રિપ પગલું છોડી દે છે.
શેર કરતા પહેલાં EXIF કેમ દૂર કરવું
- સ્થાન ગોપનીયતા. સ્માર્ટફોન ડિફૉલ્ટ રૂપે દરેક ફોટામાં ચોક્કસ GPS coordinates એમ્બેડ કરે છે. કોઈ રેસ્ટોરન્ટ, ઑફિસ, અથવા ઘરમાંથી લીધેલ JPEG આશરે પાંચ-મીટરની ચોકસાઈ પર એ સરનામું એના મેટાડેટામાં વહન કરે છે. સોશિયલ મીડિયા પર પોસ્ટ કરતા, કોઈ અજાણ્યાને ઈમેલ કરતા, અથવા જાહેર support ticket માં screenshot જોડતા પહેલા GPS tag સ્ટ્રિપ કરો અને તમે એ location fingerprint સંપૂર્ણપણે દૂર કરી દો છો.
- પ્રકાશનોમાં અનામિતા. પત્રકારો, કાર્યકરો, અને whistleblowers ફોટા સબમિટ કરતા પહેલા EXIF સ્ટ્રિપ કરે છે કારણ કે કૅમેરા serial number, lens firmware version, અને creation timestamp — એ બધાને ફોટોગ્રાફરને ઓળખવા માટે અન્ય પ્રકાશિત images સામે ક્રૉસ-રેફરન્સ કરી શકાય છે. એ tags દૂર કરવા એ કોઈપણ વ્યક્તિ માટે મૂળભૂત operational-security પગલું છે જેની byline કોઈ ચોક્કસ ભૌતિક device સાથે જોડાવી ન જોઈએ.
- File size smaller. એક સામાન્ય સ્માર્ટફોન JPEG એના APP1 segment માં 5 થી 15 KB મેટાડેટા વહન કરે છે, જેમાં 160 × 120 embedded thumbnail સામેલ છે. એ 5 MB ફોટાની સાપેક્ષે નાનું છે, પણ 1,000 product images ના batch પર એને સ્ટ્રિપ કરવાથી પ્રતિ અપલોડ રાઉન્ડ-ટ્રિપ 5 થી 15 MB બચે છે — જ્યારે તમે product catalogue, stock-photo library, અથવા Pinterest export છાંટી રહ્યા હો ત્યારે ઉપયોગી.
- કૅમેરા ફિંગરપ્રિન્ટ દૂર કરો. Camera make, model, firmware version, lens identifier, અને shutter-actuation count એક fingerprint બનાવે છે જે EXIF અન્યથા સામાન્ય હોય ત્યારે પણ અલગ-અલગ અપલોડ્સ વચ્ચે ફોટા જોડી શકે છે. જો તમે તમારું hardware જાહેર કર્યા વગર images શૅર કરી રહ્યા હો (કોઈ bug report, કોઈ સ્પર્ધા સબમિશન, કોઈ anonymous portfolio), તો Exif SubIFD એ જગ્યા છે જ્યાં એ ઓળખ માહિતી રહે છે. એને સ્ટ્રિપ કરો અને જોડાણ તૂટી જાય છે.
સામાન્ય ઉપયોગ
EXIF સ્ટ્રિપિંગ ત્યારે પણ ઊભી થાય છે જ્યારે કોઈ ફોટો હાથ બદલે અને એ જે મેટાડેટા વહન કરે છે તે મોકલનાર અથવા વિષય માટે સમસ્યાઓ સર્જી શકે.
- સોશિયલ-મીડિયા અપલોડ્સ: મોટાભાગના પ્લેટફોર્મ કોઈપણ રીતે server-side EXIF સ્ટ્રિપ કરે છે, પણ પહેલા client-side સ્ટ્રિપ કરવાનો અર્થ એ છે કે મૂળ coordinates ક્યારેય પ્લેટફોર્મના સર્વર સુધી પ્રસારિત જ થતા નથી. જો એમની pipeline ક્યારેય લીક થાય (અથવા subpoena થાય), તો મૂળ GPS એમના logs માં નથી કારણ કે એ ક્યારેય મોકલાયું જ ન હતું.
- પત્રકારત્વ અને documentary photography: wire services અને photo desks ને સ્વચ્છ મેટાડેટા જોઈએ જેથી byline attribution અને caption ડેટા desk દ્વારા નિયંત્રિત થાય, કૅમેરા દ્વારા નહીં. AP, Reuters, અને AFP ના photo editors બધા આવનારી images ને wire પર પહોંચે તે પહેલા એક metadata-scrub પગલા દ્વારા ચલાવે છે.
- Property અને product listings: real-estate એજન્ટો અને e-commerce વેચનારાઓ નિયમિતપણે property અથવા warehouse સરનામે લીધેલા ફોટા અપલોડ કરે છે. અપલોડ પહેલા GPS સ્ટ્રિપ કરવાથી listing ને ફાઇલમાં ચોક્કસ વ્યવસાય સરનામું અજાણતા પ્રકાશિત કરતા અટકાવાય છે — જ્યારે warehouse એ ખાનગી રહેઠાણ હોય અથવા property હજુ વસેલી હોય ત્યારે ઉપયોગી.
ઉદાહરણ
તાજેતરના iPhone પર શૂટ કરેલ 3.5 MB JPEG આશરે 12 KB APP1 મેટાડેટા વહન કરે છે: bearing અને altitude સાથે GPS coordinates, મિલિસેકન્ડ સુધી capture timestamp, કૅમેરા model અને lens identifier, white-balance સેટિંગ્સ, અને એક 160 × 120 embedded thumbnail. ડિફૉલ્ટ piexif પાથ વડે સ્ટ્રિપ કર્યા પછી, ફાઇલ 3.488 MB પર આવે છે. એ 12 KB હળવી છે, મૂળ સાથે pixel-સમાન છે, અને location ping થી મુક્ત છે. ઉપરની GPS પેનલ તમે ડાઉનલોડ કરો તે પહેલા બરાબર ક્યા coordinates દૂર કરાયા તે બતાવશે.
EXIF metadata શું?
EXIF (Exchangeable Image File Format) એક પ્રમાણભૂત છે જે વ્યાખ્યાયિત કરે છે કે ડિજિટલ કૅમેરા અને સ્માર્ટફોન image ફાઇલોની અંદર મેટાડેટા કેવી રીતે સંગ્રહિત કરે છે. એક સામાન્ય સ્માર્ટફોન JPEG કૅમેરા make અને model, lens focal length, shutter speed, ISO, ચોક્કસ GPS સ્થાન (થોડા મીટર સુધી), creation timestamp, અને એક નાનું embedded thumbnail વહન કરે છે — એ બધું રેન્ડર થયેલ image માં પોતે અદૃશ્ય હોય છે પણ OS file browser અને મોટાભાગના photo-editing સાધનો સહિત કોઈપણ EXIF-જાણકાર એપ્લિકેશન દ્વારા વાંચનીય હોય છે.
ફોટો શેર કરતા પહેલાં મારે EXIF કેમ દૂર કરવું જોઈએ?
GPS tag ઉજાગર કરે છે કે ફોટો ક્યાં લેવાયો, થોડા મીટર સુધી. એને સ્ટ્રિપ કર્યા વગર ફોટો શૅર કરો અને તમે એ સ્થાન ફાઇલ મેળવનાર દરેક સાથે શૅર કરો છો. Camera serial numbers અને lens identifiers પણ અલગ-અલગ અપલોડ્સ વચ્ચે ફોટોગ્રાફરને fingerprint કરી શકે છે, જે ઉપનામથી પ્રકાશિત કરનાર કોઈપણ માટે મહત્વનું છે. સ્ટ્રિપિંગ ફાઇલ તમારું device છોડે તે પહેલા આ બધું દૂર કરી દે છે.
શું આનાથી છબીની ગુણવત્તા પર અસર પડે છે?
Default piexif path — image pixels touch without APP1 segment remove, quality bit-identical. Canvas re-encode path ("ICC color profile keep" off, or rotated image "Orientation keep" on) — selected JPEG quality slider value pixels re-encode — 95 or higher most photos close.
iPhone ની HEIC ફાઇલોનું શું?
HEIC સ્ટ્રિપિંગ તમારા બ્રાઉઝરના મૂળ HEIC સપોર્ટ પર આધાર રાખે છે. Safari 13+ HEIC ને મૂળ રૂપે ડિકોડ કરે છે; Chrome અને Firefox કરતા નથી. જો તમારું બ્રાઉઝર HEIC પ્રદર્શિત ન કરી શકે, તો પહેલા તમારા ફોનનો "Export as JPEG" વિકલ્પ વાપરો (iOS Photos માં: Share → Options → Most Compatible), પછી અહીં JPEG અપલોડ કરો. કન્વર્ટ થયેલ ફાઇલ પરનું સ્ટ્રિપ પગલું અન્ય કોઈપણ JPEG ની જેમ જ કામ કરે છે.
Every strip browser local. Original photo any server reach never, cleaned file upload time memory ArrayBuffer entirely produce. Photo above drop, metadata inspect, stripped copy download.