आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
यहाँ आप GIF को MP4 में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।
एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।
ये एक के बाद एक बदलती हैं और साथ में एक ZIP बनकर उतरती हैं।
GIF से MP4
पूरा फ़र्क़ एक ही विचार का है: मोशन कम्पेंसेशन। वीडियो एनकोडर एक पूरा फ़्रेम रखता है और उसके बाद के हर फ़्रेम के लिए सिर्फ़ इतना दर्ज करता है कि क्या बदला। स्थिर पृष्ठभूमि पर सरकते हुए लोगो के एनिमेशन में पहले फ़्रेम के बाद लगभग कुछ भी ख़र्च नहीं होता, क्योंकि लगभग कुछ अलग है ही नहीं।
GIF के पास ऐसा कोई इंतज़ाम नहीं है। वह हर फ़्रेम को पूरी तस्वीर की तरह रखता है, एक के बाद एक, और हर एक में ज़्यादा से ज़्यादा 256 रंग। यह बनावट 1989 की है और कभी बदली नहीं — इसीलिए पाँच सेकंड का GIF उस एक मिनट के वीडियो से भारी हो सकता है जिससे उसे काटा गया था। बदलने का मतलब उसी फ़ाइल को बेहतर दबाना नहीं है; मतलब उसी एनिमेशन को बुनियादी तौर पर ज़्यादा किफ़ायती तरीक़े से रखना है।
Twitter, Reddit, Discord या ज़्यादातर मैसेजिंग ऐप पर GIF चढ़ाइए और वह GIF नहीं रहता। पहुँचते ही चुपचाप वीडियो में बदल दिया जाता है और वीडियो की तरह ही परोसा जाता है। जो छोटा-सा «GIF» का ठप्पा आपको दिखता है वह बस ठप्पा है; उसके पीछे की फ़ाइल MP4 है।
वे यह इसलिए करते हैं क्योंकि बैंडविड्थ का ख़र्च उनका है, आपका नहीं। चढ़ाने से पहले ख़ुद कर लेने का मतलब है कि गुणवत्ता की सेटिंग आपके हाथ में रहती है, उनकी मानी हुई नहीं; अगर पन्ना आपका है तो वह तेज़ी से खुलता है; और यह बात आपको अभी पता चल जाती है, बाद में नहीं, कि एनिमेशन इस बदलाव में बचता है या नहीं — बचता है।
GIF अपने आप चलता है, दोहराता रहता है और उसमें कोई बटन नहीं होते, और यह उम्मीद करना वाजिब है कि उसकी जगह लेने वाली चीज़ भी वैसा ही करे। वीडियो एलिमेंट यह सब कर लेता है, पर तभी जब आप कहें: `autoplay`, `loop`, `muted` और `playsinline`। लोग `muted` पर ही अटकते हैं — आवाज़ वाले वीडियो को अपने आप चलाने से हर ब्राउज़र मना कर देता है, और GIF की जगह लेने वाली चीज़ में आवाज़ होती ही नहीं, इसलिए इसे लिख देने में कुछ खोता नहीं।
`playsinline` के बिना iOS वीडियो को वहीं चलाने के बजाय पूरी स्क्रीन पर खोल देता है, और यही दूसरी आम हैरानी है। चारों के साथ नतीजा GIF से अलग पहचाना ही नहीं जाता, सिवाय इसके कि पन्ना तेज़ी से खुलता है।
रंग पहले ही घटाए जा चुके थे। GIF हर फ़्रेम में ज़्यादा से ज़्यादा 256 रंग रखता है, और उससे जो पट्टियाँ बनीं वे उन्हीं फ़्रेमों में पक चुकी हैं जो एनकोडर को मिलते हैं। MP4 उन्हें ईमानदारी से रखता है और अपनी कोई अलग पैलेट नहीं जोड़ता, इसलिए एनिमेशन और ख़राब नहीं होता — पर GIF ने बनते वक़्त जो फेंक दिया था, वह लौटता भी नहीं।
अगर वह मूल वीडियो आपके पास है जिससे GIF काटा गया था, तो उसे सीधे बदलना GIF को बदलने से हमेशा बेहतर दिखेगा। यह पन्ना उस आम हालत के लिए है जहाँ आपके पास सिर्फ़ GIF ही है।
दस से तीस गुना छोटा होना आम दायरा है, और एनिमेशन जितना ठहरा हुआ हो यह दायरा उतना ही चौड़ा होता जाता है। किसी मेन्यू के खुलने की स्क्रीन रिकॉर्डिंग — जिसमें ज़्यादातर पिक्सल बदलते ही नहीं — पचास गुना तक छोटी हो सकती है। कंफ़ेटी की बौछार, जिसमें हर पिक्सल हिलता है, पाँच गुने के आसपास रहेगी।
दूसरी बचत वह है जो लोग भूल जाते हैं: GIF को ठीक से चलने से पहले पूरा उतरना पड़ता है, जबकि वीडियो अपने पहले फ़्रेमों से ही शुरू हो जाता है। फ़ोन पर अक्सर यही वह फ़र्क़ होता है जो सचमुच किसी को महसूस होता है।
GIF हर फ़्रेम के लिए सेकंड के सौवें हिस्सों में देरी तय करता है, और यह ज़रूरी नहीं कि ये देरियाँ बराबर हों। इसलिए GIF आम तौर पर ऐसी दरों पर चलते हैं जो किसी कैमरे ने कभी बनाई ही नहीं — 12.5 फ़्रेम प्रति सेकंड, या एक ही फ़ाइल के भीतर कई दरों का मेल।
यह बदलाव उस समय-निर्धारण को क़ायम रखता है, उसे किसी सुथरी संख्या में गोल नहीं करता, जिससे एनिमेशन उसी रफ़्तार पर चलता रहता है जिसके लिए वह बना था। अगर GIF में वह ठीक लगता था, तो MP4 में भी ठीक लगेगा।
GIF किसी एक रंग को पारदर्शी घोषित कर सकता है। MP4 में पारदर्शिता है ही नहीं, इसलिए पारदर्शी पिक्सल किसी ठोस रंग पर बैठा दिए जाते हैं — सफ़ेद पर, जब तक कोई और न चुना जाए।
ज़्यादातर GIF के लिए इससे कुछ नहीं बदलता, क्योंकि उनकी पृष्ठभूमि पहले से ठोस होती है। पर किसी रंगीन पन्ने पर बैठने के लिए बने लोगो एनिमेशन के लिए इससे सब कुछ बदल जाता है। अगर पारदर्शिता ही असल बात है, तो एनिमेटेड WebP उसे बचाकर रखता है और फिर भी हर ब्राउज़र में चलता है।
इस बदलाव की ईमानदार सीमा यह है कि कुछ जगहें अब भी सिर्फ़ GIF लेती हैं: कुछ फ़ोरम, पुराने टिकट सिस्टम, कुछ ईमेल हस्ताक्षर, और हर वह जगह जहाँ चीज़ को तस्वीर होना है, चलता हुआ प्लेयर नहीं।
यह सूची सिकुड़ती जा रही है, और मान लेने के बजाय जाँच लेना ठीक रहता है। बड़े चैट और सोशल प्लैटफ़ॉर्म वैसे भी चढ़ाते ही वीडियो में बदल देते हैं, इसलिए उन्हें GIF भेजने का मतलब सिर्फ़ इतना है कि यह बदलाव आपकी जगह वे करेंगे।
GIF को खोला जाता है और वीडियो को लिखा जाता है, दोनों आपके ब्राउज़र के भीतर, उसी मशीनरी से जो उसके पास मीडिया चलाने के लिए पहले से है। बीच में न कोई सर्वर है, न क़तार, न कोई खाता।
इस जोड़ी के लिए यह सुनने से ज़्यादा मायने रखता है, क्योंकि बहुत सारे GIF दरअसल स्क्रीन रिकॉर्डिंग होते हैं — कोई ख़राबी दिखाई जा रही होती है, कोई तरीक़ा समझाया जा रहा होता है — और स्क्रीन रिकॉर्डिंग में वह सब भी आ जाता है जो उस वक़्त स्क्रीन पर और खुला था।
| GIF | MP4 | |
|---|---|---|
| पूरा नाम | Graphics Interchange Format | MPEG-4 वीडियो |
| फ़ाइल एक्सटेंशन | .gif | .mp4 |
| मीडिया टाइप | image/gif | video/mp4 |
| कंप्रेशन | बिना नुक़सान — कुछ छोड़ा नहीं जाता | नुक़सान के साथ — छोटा आकार गुणवत्ता देकर ख़रीदा जाता है |
| पहली बार प्रकाशित | 1987 | 2001 |
| प्रकाशक | CompuServe | MPEG |
| विनिर्देश | GIF89a | ISO/IEC 14496-14 |
| लाइसेंस | खुला मानक | खुला मानक |
| आज की स्थिति | पुराना, फिर भी हर जगह पढ़ा जाता है | मौजूदा |
| बिट डेप्थ | 8 | — |
| रंग जो यह दर्ज कर सकता है | इंडेक्स्ड पैलेट | — |
| सबसे बड़ी इमेज | हर तरफ़ 65,535 px | — |
| ब्राउज़र में खुलता है | हर ब्राउज़र | हर ब्राउज़र |
| इसकी जगह विचारणीय | WebP | WebM, MKV, MOV |
MP4 एक कंटेनर है, कोई इकहरा फ़ॉर्मेट नहीं। जो चलता है वह उसके भीतर बैठा कोडेक है — आम तौर पर H.264, HEVC और AV1 — और इसीलिए एक ही एक्सटेंशन वाली दो फ़ाइलें एक ही उपकरण पर अलग-अलग बर्ताव कर सकती हैं।
GIF 1987 का है और अब मुश्किल से ही इस्तेमाल होता है। MP4 वह है जो आज के प्रोग्राम लिखते हैं, इसलिए यह कन्वर्ज़न पढ़े जाते रहने का भी सवाल है।
दोनों तरफ़ के प्रोग्राम अलग हैं: GIF फ़ाइल GIMP, Adobe Photoshop और ImageMagick में खुलती है और MP4 फ़ाइल VLC, HandBrake और Adobe Premiere Pro में — यानी नतीजा जिसके पास जाएगा, उसे दूसरी सूची में से कोई प्रोग्राम चाहिए होगा।
GIF CompuServe का फ़ॉर्मेट है, जो 1987 में आया। यह हर चैनल पर 8 बिट में दर्ज करता है।
MP4 MPEG का है और 2001 से चला आ रहा है, और ISO/IEC 14496-14 में तय किया गया है। VLC, HandBrake और Adobe Premiere Pro इस फ़ॉर्मेट को पढ़ लेते है।
नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो। इस जोड़ी के पीछे mediabunny है, WebCodecs के ऊपर चढ़ी एक परत, जो आपके अपने डिवाइस के हार्डवेयर डिकोडर उधार लेती है; आपका ब्राउज़र इसे एक बार उतारता है और फिर सहेज कर रखता है।
हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100। mediabunny आपकी अपनी मशीन पर उतरता है और वहीं चलता है — इसीलिए उस पर कोई गिनती नहीं है।
MP4 कंप्रेस करता है, इसलिए कुछ डेटा जाता है। तयशुदा सेटिंग पर यह पकड़ में नहीं आता; पक्का करना हो तो गुणवत्ता बढ़ा दीजिए। नतीजे में आवाज़ नहीं होती, क्योंकि GIF आवाज़ ढो ही नहीं सकता। हर फ़्रेम अपना समय रखे रहता है, इसलिए असमान ठहराव वाला एनिमेशन उसी रफ़्तार पर चलता है जिस पर बनाया गया था, किसी औसत रफ़्तार पर नहीं।
MP4 एक कंटेनर है, कोई इकहरा फ़ॉर्मेट नहीं। जो चलता है वह उसके भीतर बैठा कोडेक है — आम तौर पर H.264, HEVC और AV1 — और इसीलिए एक ही एक्सटेंशन वाली दो फ़ाइलें एक ही उपकरण पर अलग-अलग बर्ताव कर सकती हैं।
इस पेज पर GIF और MP4 के बारे में जो कहा गया है, वह जाँचा जा सकता है, और ये रहे वे दस्तावेज़ जो उसे तय करते हैं।