GIF

GIF फ़ाइल क्या होती है?

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

GIF

GIF है क्या

GIF एक बाइनरी फ़ॉर्मेट है, जो सिर्फ़ उसी प्रोग्राम के लिए मायने रखता है जो इसे जानता हो। यह पिक्सेल की एक जाली सहेजता है, इसलिए अपने ही रिज़ॉल्यूशन से आगे बढ़ाने पर यह धुँधला पड़ जाता है। इसका इस्तेमाल वेब के लिए होता है।

एक्सटेंशन .gif है और पूरा नाम Graphics Interchange Format। दोनों उतना नहीं बताते जितना यह कि फ़ाइल अंदर क्या-क्या रख सकती है — और इस पन्ने का बाक़ी हिस्सा इसी के बारे में है।

GIF आया कहाँ से

इसे CompuServe ने 1987 में जारी किया था। विनिर्देश GIF89a है।

जो फ़ॉर्मेट इतने लंबे समय तक पढ़ा जाता रहा हो, उसे वह चीज़ सौंपी जा सकती है जो आपको दस साल बाद वापस चाहिए।

विनिर्देश सार्वजनिक है

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

यह एक पुराना फ़ॉर्मेट है

यह अब भी हर जगह खुलता है और पुराने प्रोग्राम इसे अब भी लिखते हैं, पर इसके इर्द-गिर्द नया कुछ नहीं बन रहा। जो सहेजकर रखना है उसे बदल लीजिए, और आज शुरू हो रहे किसी काम के लिए इसे मत चुनिए।

कुछ भी फेंका नहीं जाता

GIF फ़ाइल अपना अंदरूनी हिस्सा हूबहू सहेजती है। दोबारा सहेजने से कुछ नहीं बदलता, इसलिए इसे जितनी बार चाहें खोलिए, बदलिए और फिर से सहेजिए — नुक़सान जमा नहीं होता। यही बात इसे सौंपने का नहीं, काम करने का फ़ॉर्मेट बनाती है।

यह पारदर्शी हो सकती है

GIF फ़ाइल अपने साथ एक अल्फ़ा चैनल रखती है, इसलिए लोगो के किनारे पीछे जो कुछ भी हो उसके ऊपर नरम बने रहते हैं — वह सफ़ेद डिब्बे में बंद होकर नहीं पहुँचता।

यह एक से ज़्यादा फ़्रेम रख सकती है

GIF फ़ाइल ठहरी हुई एक तस्वीर के बजाय पूरा एनिमेशन सहेज सकती है। बदलने से पहले यह जान लेना ज़रूरी है: जो लक्ष्य सिर्फ़ एक फ़्रेम रखता है, वह पहला रख लेता है और बाक़ी गिरा देता है — अमूमन बिना बताए।

यह कौन-से रंग बयान कर सकता है

हर चैनल पर 8 बिट तक। यह इंडेक्स की गई पैलेट में काम कर सकता है।

हर चैनल पर आठ बिट वही है जो स्क्रीन दिखाती है और जो लगभग हर सौंपने वाला फ़ॉर्मेट साथ लाता है।

GIF में 256 रंगों की हद है

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

आकार की एक हद है, जिसे जान लेना चाहिए

GIF फ़ाइल ऐसी तस्वीर बयान नहीं कर सकती जिसकी कोई भुजा 65,535 पिक्सेल से लंबी हो। यह आम फ़ोटो से कहीं ऊपर है और जोड़कर बनाए गए पैनोरमा या ऊँचे रिज़ॉल्यूशन की स्कैन की पहुँच में — ठीक वहीं इससे सामना होता है।

GIF को खोलता कौन है

GIMP, Adobe Photoshop और ImageMagick इसे पढ़ते हैं, और इसी तरह के ज़्यादातर दूसरे प्रोग्राम भी।

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

इसे ब्राउज़र में खोलना

इसे हर मौजूदा ब्राउज़र पढ़ लेता है।

इसलिए इसे किसी पन्ने पर रखना या संदेश के साथ भेजना बेफ़िक्र होकर किया जा सकता है — सामने वाले ने क्या इंस्टॉल कर रखा है, यह सोचने की ज़रूरत नहीं।

यह सौंपने का फ़ॉर्मेट है

GIF सौंपने के लिए बना है, इसके अंदर काम करने के लिए नहीं। इसे बदलना मुमकिन है और शायद ही कभी सुखद; समझदारी का रास्ता मूल फ़ाइल से होकर और एक नए निर्यात से होकर जाता है।

इसके साथ ग़लत क्या होता है

बार-बार आने वाली शिकायतें: नरम ढलानें कभी-कभी दिखती हुई सीढ़ियों में निकलती हैं।

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

यह प्रारूप एनिमेशन के लिए नहीं बना था

GIF 1987 में CompuServe ने बनाया था, धीमी मॉडेम लाइनों पर तस्वीरें भेजने के लिए, जब 256 रंगों की सीमा एक समझौता थी न कि नुक़सान। एनिमेशन बाद में जोड़ा गया, अलग-अलग फ़्रेम एक के बाद एक दिखाकर, और वही तरकीब आज भी हर जगह इस्तेमाल होती है।

यही वजह है कि GIF आज तक ज़िंदा है जबकि इसकी बाक़ी क्षमताएँ — 256 रंगों की सीमा, इकाई-बिट पारदर्शिता — तीन दशक पहले पुरानी पड़ चुकी हैं। इसे कोई नहीं चुनता क्योंकि यह अच्छा है; इसे इसलिए चुना जाता है क्योंकि हर जगह चलता है।

इस साइट पर पारदर्शिता GIF में नहीं बचती

यह साइट GIF लिखते वक़्त कोई पारदर्शी सूचकांक तय नहीं करती — रंग-सारणी भेजी जाती है, पर उसमें कोई भी प्रविष्टि पारदर्शी घोषित नहीं होती। नतीजा यह कि पूरी तरह पारदर्शी पिक्सेल भी काले रंग में बदल जाता है, चाहे स्रोत तस्वीर में पारदर्शिता कितनी भी हो।

इसीलिए किसी भी तस्वीर, आइकन या SVG को GIF में बदलते वक़्त पृष्ठभूमि का रंग चुनने का विकल्प दिया जाता है — पारदर्शी हिस्सों को उसी रंग से भर दिया जाता है, डिफ़ॉल्ट सफ़ेद। यह भराई आकार बदलने से पहले होती है, ताकि किनारों पर कोई गहरी झालर न बने।

इस साइट पर एनिमेशन का सच

तस्वीर से बदली गई GIF — JPG, PNG, WebP, AVIF, ICO, TIFF, SVG और अन्य से — हमेशा एक अकेला स्थिर फ़्रेम होती है, क्योंकि इंजन सिर्फ़ एक बार फ़्रेम लिखता है। इनमें से किसी स्रोत में एनिमेशन था ही नहीं, तो यह सीमा किसी को छूती नहीं।

वीडियो से बदली गई GIF — MP4, MOV, WebM, MKV, M4V से — इसके उलट सचमुच एनिमेट होती है, क्योंकि यह पूरी तरह अलग इंजन से गुज़रती है। यही एक जगह है जहाँ इस साइट पर एनिमेटेड GIF सचमुच बनती है।

वीडियो से GIF: सटीक सीमाएँ

डिफ़ॉल्ट 12 फ़्रेम प्रति सेकंड, 480 पिक्सेल चौड़ाई, वीडियो के पहले दस सेकंड — और अधिकतम 600 फ़्रेम, जिससे आगे जाने पर नतीजा चुपचाप छोटा कर दिया जाता है। 30 फ़्रेम प्रति सेकंड पर पूरा एक मिनट माँगने पर सिर्फ़ बीस सेकंड मिलते हैं, बिना किसी चेतावनी के।

हर फ़्रेम की रंग-सारणी अलग से 256 रंगों में क्वांटाइज़ होती है, इसलिए रंगों में हल्की टिमटिमाहट दिख सकती है जहाँ मूल वीडियो में रंग बदलते हैं। ध्वनि का कोई सवाल ही नहीं — GIF में ध्वनि का चैनल है ही नहीं।

रंग और गुणवत्ता पर नियंत्रण नहीं है

GIF हमेशा 256 रंगों की सीमित सारणी में क्वांटाइज़ होती है, और इस साइट पर रंगों की संख्या घटाने या गुणवत्ता चुनने का कोई विकल्प नहीं — यह वेक्टर से ट्रेसिंग वाले औज़ार की सुविधा है, GIF की नहीं।

यह LZW संपीड़न लॉसलेस है, पर उससे पहले होने वाला 256-रंग क्वांटाइज़ेशन नहीं है — इसलिए रंग-समृद्ध तस्वीर GIF में बदलते ही अपने कुछ रंग-स्तर खो देती है, चाहे बाद का संपीड़न कुछ भी न बिगाड़े।

GIF को दोबारा वीडियो में बदलना

उलटी दिशा में — GIF से MP4, MOV, WebM, MKV, M4V — हर फ़्रेम की अपनी असली अवधि इस्तेमाल होती है, न कि कोई एक तय दर। जिस GIF में फ़्रेम असमान गति से बदलते थे, वह उसी असमान गति पर चलती है।

नतीजे में कोई ऑडियो ट्रैक नहीं होता, क्योंकि GIF में देने के लिए कुछ था ही नहीं। MP4, MOV, MKV और M4V को H.264 मिलता है; WebM को VP9।

यह संपीड़न औज़ार में शामिल नहीं है

इस साइट का इमेज-संपीड़न औज़ार JPG, WebP, AVIF, JXL, PNG और PDF पर काम करता है — GIF, BMP, ICO और TIFF जान-बूझकर बाहर रखे गए हैं। किसी GIF का आकार घटाना है तो रंगों या फ़्रेम दर में बदलाव ही रास्ता है, कोई अलग संपीड़न कदम नहीं।

व्यवहार में इसका मतलब है कि जो GIF इस साइट पर बनती है, उसका आकार सीधे स्रोत सामग्री, चुने गए फ़्रेम-रेट और चौड़ाई पर टिका है — बाद में कोई और सफ़ाई-चरण उपलब्ध नहीं।

कब GIF सही चुनाव नहीं है

फ़ोटोग्राफ़ या ग्रेडिएंट वाली तस्वीर के लिए GIF लगभग हमेशा ग़लत चुनाव है — 256 रंगों की सीमा में यह बैंडिंग और धब्बेदार रंग-बदलाव दिखाती है जो JPG या WebP में नहीं दिखते। पारदर्शिता चाहिए तो PNG या WebP सही जवाब है, क्योंकि उनमें पूरा अल्फ़ा-चैनल है, GIF का इकाई-बिट पारदर्शिता (जो इस साइट पर लिखी भी नहीं जाती) नहीं।

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

ज़रूरी जानकारी, एक जगह

GIF फ़ॉर्मेट की पहचान और उसका स्रोत।
एक्सटेंशन.gif
मीडिया टाइपimage/gif
प्रकाशकCompuServe
पहली बार प्रकाशित1987
विनिर्देशGIF89a

ये आँकड़े कहाँ से आए

इस पेज पर जो कहा गया है वह जाँचा जा सकता है, और ये रहे वे दस्तावेज़ जो उसे तय करते हैं।