कोई अपलोड नहीं, 100% स्थानीय, कोई खाता नहीं

लेख

GIF इतनी भारी क्यों होती हैं

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

GIF इमेज का एक क्रम है, वीडियो स्ट्रीम नहीं

Graphics Interchange Format, जिसे CompuServe ने 1987 में पेश किया और GIF89a के रूप में 1989 में संशोधित किया, एनिमेशन को क्रम में चलाई गई अलग-अलग इमेज फ़्रेम की एक सीरीज़ के रूप में स्टोर करता है, हर एक अपनी खुद कंप्रेस्ड स्टिल इमेज। H.264 जैसा असली वीडियो कोडेक इसकी बजाय ज़्यादातर फ़्रेम को पिछली फ़्रेम से फ़र्क के रूप में एनकोड करता है, क्योंकि लगातार वीडियो फ़्रेम आमतौर पर काफ़ी मिलती-जुलती होती हैं, सिर्फ़ जो बदला वही स्टोर करके। GIF के पास इसका कोई समकक्ष तंत्र नहीं है: लगभग स्टैटिक सीन भी हर अकेली फ़्रेम का बड़ा हिस्सा दोबारा स्टोर करता है।

GIF की तुलना करता डायग्राम, जो हर फ़्रेम पर एक पूरी स्वतंत्र इमेज स्टोर करता है, उस वीडियो कोडेक से जो ज़्यादातर फ़्रेम को पिछली से फ़र्क के रूप में स्टोर करता है।

256 रंग, चाहे सोर्स को उतनी ज़रूरत हो या न हो

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

रंग स्वैच तुलना: एक 256-रंग GIF पैलेट, मूल फ़ोटो या वीडियो सोर्स की पूरी रंग रेंज के बगल में।

फ़ॉर्मेट को कभी कोई आधुनिक विकल्प क्यों नहीं मिला

GIF की एनिमेशन लूपिंग और यूनिवर्सल सपोर्ट, हर ब्राउज़र और मैसेजिंग ऐप बिना किसी प्लगइन के इसे चला सकता है, ने इसे बेहतर विकल्प मौजूद होने के बाद भी लगातार इस्तेमाल में रखा, ठीक वैसे जैसे ज़्यादा कारगर ऑडियो कोडेक आने के बाद भी MP3 टिका रहा। WebP और APNG दोनों असली पर-फ़्रेम कंप्रेशन और कहीं ज़्यादा रंगों के साथ एनिमेशन सपोर्ट करते हैं, और उसी कंटेंट के लिए साफ़ छोटी फ़ाइलें बनाते हैं, लेकिन दोनों में से कोई भी हर प्लेटफ़ॉर्म और शेयरिंग कॉन्टेक्स्ट में GIF के यूनिवर्सल सपोर्ट के स्तर तक नहीं पहुंचा, इसलिए छोटी लूपिंग एनिमेशन के लिए GIF डिफ़ॉल्ट बनी हुई है, भले ही यह इसे स्टोर करने का सबसे कम कारगर तरीका है।

उसी क्लिप की MP4 आमतौर पर कहीं छोटी होती है

उसी छोटी क्लिप को H.264 के साथ MP4 में कन्वर्ट करना वीडियो कोडेक का फ़्रेम-फ़र्क कंप्रेशन और पूरी रंग रेंज बनाए रखता है, यही वजह है कि फ़ाइल आमतौर पर समकक्ष GIF के एक अंश जितनी रह जाती है, वही कंटेंट और लंबाई के लिए। ट्रेड-ऑफ़ यह है कि MP4 को हर उस जगह इमेज की तरह इनलाइन दिखने की बजाय, जहां GIF दिखती है, एक वीडियो प्लेयर चाहिए, हालांकि ज़्यादातर आधुनिक मैसेजिंग ऐप और सोशल प्लेटफ़ॉर्म पहले से छोटी MP4 को उसी तरह ऑटोप्ले करते हैं जैसे GIF को करते।

बिना कुछ अपलोड किए GIF और वीडियो के बीच कन्वर्ट करना

हमारा GIF-to-video टूल एनिमेटेड GIF को एक कॉम्पैक्ट MP4 में दोबारा एनकोड करता है, और video-to-GIF उलटा करता है जब किसी कॉन्टेक्स्ट को खासतौर पर असली GIF की ज़रूरत हो, दोनों पूरी तरह आपके ब्राउज़र में WebAssembly में कम्पाइल किए ffmpeg का इस्तेमाल करते हुए। किसी मौजूदा भारी GIF को पहले MP4 में कन्वर्ट करना, फिर सिर्फ़ उन कुछ कॉन्टेक्स्ट के लिए GIF पर वापस जाना जिन्हें सच में इस फ़ॉर्मेट की ज़रूरत है, आमतौर पर लूप खोए बिना शेयर की गई एनिमेशन की फ़ाइल साइज़ घटाने का सबसे तेज़ तरीका है।

इस लेख में उल्लेखित टूल्स

अक्सर पूछे जाने वाले सवाल

छोटी GIF कहीं ज़्यादा लंबी MP4 वीडियो से भारी क्यों होती है?

GIF बिना किसी क्रॉस-फ़्रेम कंप्रेशन के, 256 रंगों तक सीमित, हर फ़्रेम का ज़्यादातर हिस्सा स्वतंत्र रूप से दोबारा स्टोर करती है, जबकि MP4 ज़्यादातर फ़्रेम को सिर्फ़ पिछली से फ़र्क के रूप में एनकोड करता है और कहीं ज़्यादा रंग डिटेल रखता है। GIF फ़ॉर्मेट का पर-फ़्रेम ओवरहेड वीडियो की लंबाई के एक अंश जितनी क्लिप के लिए भी तेज़ी से जुड़ जाता है।

क्या मैं GIF को वीडियो में कन्वर्ट किए बिना छोटा बना सकता हूं?

हां, एक हद तक: फ़्रेम रेट घटाना, पिक्सल डाइमेंशन छोटा करना, या क्लिप को छोटा ट्रिम करना सीधे GIF का साइज़ घटाते हैं, क्योंकि कम या छोटी फ़्रेम का मतलब है कम डेटा स्टोर करना। इनमें से कोई भी फ़ॉर्मेट की क्रॉस-फ़्रेम कंप्रेशन की बुनियादी कमी नहीं बदलता, यही वजह है कि MP4 में कन्वर्ट करना आमतौर पर GIF को ट्रिम करने से कहीं ज़्यादा बचाता है।

क्या MP4 भी GIF की तरह अपने आप लूप करेगी?

ज़्यादातर मैसेजिंग ऐप और सोशल प्लेटफ़ॉर्म छोटी MP4 को इनलाइन ऑटोप्ले और लूप करते हैं, ठीक वैसे जैसे GIF को संभालते हैं, इसलिए देखने वाले के लिए विज़ुअल नतीजा आमतौर पर एक जैसा होता है। जो कॉन्टेक्स्ट रॉ इमेज टैग दिखाता है और वीडियो प्लेयर सपोर्ट नहीं करता, कुछ ईमेल और पुराने फ़ोरम सॉफ़्टवेयर, उन्हें अब भी असली GIF फ़ाइल चाहिए।

स्रोत