MP4 या WebM: कौन-सा एक्सपोर्ट करें?
साइट MP4 माँग रही है और मेरी फ़ाइल WebM है। यह कन्वर्ज़न है या सिर्फ़ नाम बदलना?
यह सवाल असल में दो सवाल हैं
MP4 और WebM कंटेनर हैं। कंटेनर एक फ़ाइलिंग सिस्टम है: यह एक या ज़्यादा ट्रैक रखता है, उनकी टाइमिंग दर्ज करता है, वह इंडेक्स रखता है जिससे प्लेयर आगे-पीछे जा सकता है, और मेटाडेटा ढोता है। यह कुछ भी कम्प्रेस नहीं करता। कम्प्रेशन कोडेक करता है, और कंटेनर जो ढो रहा होता है वह कोडेड बिटस्ट्रीम है।
तो “MP4 या WebM” पैकेजिंग का सवाल है, और “H.264, VP9 या AV1” कम्प्रेशन का। इन दोनों को गड्डमड्ड कर देने की वजह से ही लोग उन फ़ाइलों को दोबारा एन्कोड कर बैठते हैं जिन्हें सिर्फ़ दोबारा पैक करना था, और बेवजह क्वालिटी की एक पीढ़ी गँवा देते हैं।
हर एक के अंदर आम तौर पर क्या होता है
| पहलू | MP4 | WebM |
|---|---|---|
| आधार फ़ॉर्मैट | ISO बेस मीडिया फ़ाइल फ़ॉर्मैट (ISO/IEC 14496-12) | Matroska का एक प्रोफ़ाइल |
| आम वीडियो कोडेक | H.264, HEVC, AV1 | VP8, VP9, AV1 |
| आम ऑडियो कोडेक | AAC, कभी-कभी AC-3 या FLAC | Opus, Vorbis |
| लाइसेंसिंग का मिज़ाज | पेटेंट वाले कोडेक आम हैं | रॉयल्टी-मुक्त कोडेक के इर्द-गिर्द बनाया गया |
| सुरक्षित डिफ़ॉल्ट कहाँ है | फ़ोन, डेस्कटॉप प्लेयर, एडिटिंग सॉफ़्टवेयर, सोशल प्लेटफ़ॉर्म | वेब, खासकर VP9 या AV1 के साथ |
इनमें से कोई भी सूची नियम नहीं है। कंटेनर काफ़ी हद तक कोडेक से बेपरवाह होता है, और दोनों AV1 ढो सकते हैं। फ़र्क इस बात का है कि दूसरे सिरे पर बैठा सॉफ़्टवेयर क्या स्वीकार करने को तैयार है।
हर एक असल में चलता कहाँ है
H.264 और AAC वाला MP4 सार्वभौमिक वीडियो फ़ाइल के सबसे करीब है। यह फ़ोन पर, टीवी पर, एडिटिंग सॉफ़्टवेयर में और मैसेजिंग ऐप में चलता है, और अपलोड फ़ॉर्म जब “वीडियो” कहते हैं तो आम तौर पर यही मतलब होता है। इसी दबदबे की वजह से पिछले पंद्रह साल में बने लगभग हर डिवाइस में H.264 के हार्डवेयर डीकोडर मौजूद हैं, और यह कम्पैटिबिलिटी जितना ही बैटरी लाइफ़ के लिए भी मायने रखता है।
WebM वेब के लिए बना था, ऐसे कोडेक के साथ जिन पर स्ट्रीमिंग के लिए कोई रॉयल्टी की देनदारी नहीं। ब्राउज़र इसे अच्छे से संभालते हैं। ब्राउज़र के बाहर का सॉफ़्टवेयर कम भरोसेमंद है: कुछ एडिटिंग टूल, कुछ टीवी और कुछ फ़ोन गैलरी इसे खोलेंगे ही नहीं, और डबल-क्लिक करने वाले सहकर्मी को शायद कुछ भी न दिखे।
रीमक्स बनाम दोबारा एन्कोड करना
अगर आपकी फ़ाइल के अंदर का कोडेक मंज़िल को पहले से मंज़ूर है, तो कंटेनर बदलना एक रीमक्स है: कोडेड फ़्रेम ज्यों के त्यों कॉपी हो जाते हैं और सिर्फ़ पैकेजिंग दोबारा लिखी जाती है। यह तेज़ है, लॉसलेस है, और तस्वीर बिट-दर-बिट वही रहती है। अगर कोडेक मंज़ूर नहीं है — जैसे सिर्फ़ H.264 पढ़ने वाले प्लेयर के लिए VP9 को MP4 में डालना — तो फ़्रेम को डीकोड करके दोबारा एन्कोड करना पड़ता है, जिसमें सचमुच समय लगता है और क्वालिटी की एक पीढ़ी खर्च होती है।
इसीलिए काम का पहला सवाल “अंदर कौन-सा कोडेक है” होता है, “एक्सटेंशन क्या है” नहीं। FileSlimmer के वीडियो टूल पहले ट्रैक जाँचते हैं और जब भी मंज़िल इजाज़त देती है, दोबारा एन्कोड करने के बजाय रीमक्स करते हैं।
ऑडियो ट्रैक को मत भूलिए
ऑडियो को नज़रअंदाज़ करके किया गया कंटेनर बदलाव ग़लत प्लेयर पर एक ख़ामोश फ़ाइल देता है। MP4 परंपरा से AAC ढोता है; WebM परंपरा से Opus या Vorbis। Opus को MP4 में डालना स्पेसिफ़िकेशन के हिसाब से जायज़ है और असल दुनिया के बहुत सारे सॉफ़्टवेयर में असमर्थित, इसलिए MP4 में ईमानदार कन्वर्ज़न का मतलब आम तौर पर ऑडियो को भी AAC में एन्कोड करना होता है।
अगर किसी क्लिप में ऑडियो है ही नहीं, तो जो भी एक्सपोर्ट करें उसमें यह साफ़ बताएँ। कुछ प्लेयर तब अटक जाते हैं जब वे ऐसे ट्रैक की उम्मीद करते हैं जो मौजूद ही नहीं।
एक छोटी-सी फ़ैसला सूची
- फ़ाइल किसी व्यक्ति, प्लेटफ़ॉर्म या अपलोड फ़ॉर्म को भेजनी है: H.264 और AAC वाला MP4।
- फ़ाइल आप खुद, अपने पन्नों से, ब्राउज़र को परोस रहे हैं: VP9 वाला WebM, या किसी भी कंटेनर में AV1, और दर्शक विविध हों तो साथ में MP4 का फ़ॉलबैक।
- बाद में एडिट करना है: जिस कंटेनर में आया हो उसी में, अपने पास मौजूद सबसे ऊँची क्वालिटी वाला मूल रखें।
- सिर्फ़ कंटेनर ग़लत है और कोडेक पहले से सही हैं: रीमक्स करें, दोबारा एन्कोड न करें।
- पता ही नहीं कि अंदर क्या है: चुनने से पहले कोडेक जाँच लें, क्योंकि इसी जवाब से तय होगा कि इसमें कुछ सेकंड लगेंगे या एक घंटा।
जानने लायक सीमाएँ
ब्राउज़र में वीडियो एन्कोडिंग इस पर निर्भर है कि डिवाइस क्या उपलब्ध कराता है। हार्डवेयर एन्कोडर फ़ॉर्मैट-विशिष्ट होते हैं: कोई मशीन H.264 तेज़ी से और VP9 धीरे एन्कोड कर सकती है, या किसी कोडेक से पूरी तरह मना कर सकती है। समर्थन एक ही मशीन के अलग-अलग ब्राउज़र में भी अलग होता है, और किसी ब्राउज़र तथा फ़ोन पर उसी ब्राउज़र में भी। जो कन्वर्ज़न लैपटॉप पर कुछ सेकंड में हो जाता है, वही ऐसे फ़ोन पर कहीं ज़्यादा समय ले सकता है जो साथ में अपना तापमान भी संभाल रहा है।
कंटेनर का चुनाव उस फ़ाइल को नहीं बचा सकता जो अपनी सामग्री की वजह से बड़ी है। लंबी क्लिप, ऊँचे रेज़ॉल्यूशन पर, ढेर सारी हलचल के साथ, हर कंटेनर में बड़ी ही रहेगी। यह रेज़ॉल्यूशन, बिटरेट और अवधि तय करते हैं, और दोबारा पैक करने से इनमें कुछ नहीं बदलता।
इसके लिए टूल
स्रोत
- ISO/IEC 14496-12 — ISO base media file format
- The WebM Project — container guidelines
- ITU-T H.264 — Advanced Video Coding
- MDN — Media container formats and codec support