कंटेनर और कोडेक, और कन्वर्ज़न की रफ़्तार इतनी अलग क्यों होती है
वही “MP4 में बदलें” तीन सेकंड भी ले सकता है और चालीस मिनट भी, और कुछ भी न खोए या क्वालिटी की एक दिखने वाली जनरेशन खो दे। एक ही फ़र्क़ दोनों बातें समझाता है, और आपको पहले से अंदाज़ा लगाने देता है कि इस बार क्या होने वाला है।
आख़िरी समीक्षा
फ़र्क़
कंटेनर डिब्बा है। MP4, MKV, MOV, WebM और AVI कंटेनर हैं: वे तय करते हैं कि फ़ाइल में हिस्से कैसे रखे जाते हैं, प्लेयर हर हिस्से की शुरुआत कैसे ढूंढता है, टाइमस्टैम्प कैसे दर्ज होते हैं, और कौन-सी अतिरिक्त चीज़ें रखी जा सकती हैं — सबटाइटल ट्रैक, चैप्टर, कई भाषाएं, कवर आर्ट।
कोडेक वह तरीक़ा है जिससे अंदर की तस्वीर और आवाज़ कंप्रेस होती है। वीडियो के लिए H.264, H.265, VP9, AV1; ऑडियो के लिए AAC, MP3, Opus, Vorbis, AC-3।
फ़ाइल एक्सटेंशन सिर्फ़ कंटेनर का नाम बताता है, और लगभग सारी उलझन यहीं से आती है। दो .mkv फ़ाइलों के अंदर कुछ भी एक जैसा न हो, यह मुमकिन है, और एक ही H.264 वीडियो वाली .mp4 और .mkv, जिस स्तर पर मायने रखता है, अलग-अलग डिब्बों में एक ही वीडियो हैं। एक्सटेंशन से लगभग कुछ पता नहीं चलता कि कन्वर्ज़न कितना मुश्किल होगा।
रीमक्स या ट्रांसकोड: पूरा सवाल यही है
जब आप कोई वीडियो कन्वर्ट करते हैं, तो दो बिल्कुल अलग चीज़ों में से एक होती है।
रीमक्सिंग मौजूदा कंप्रेस की हुई स्ट्रीम को बिना डिकोड किए नए कंटेनर में रख देती है। कुछ भी दोबारा कंप्रेस नहीं होता, इसलिए तस्वीर बिट-दर-बिट वैसी ही रहती है, फ़ाइल लगभग उतनी ही बड़ी रहती है, और दो घंटे की फ़िल्म सेकंडों में पूरी हो जाती है। यह हर उस स्थिति में मुमकिन है जब अंदर के कोडेक ऐसे हों जिन्हें टारगेट कंटेनर स्वीकार करता है।
ट्रांसकोडिंग हर फ़्रेम को डिकोड करके फिर से एन्कोड करती है। इसमें वीडियो की लंबाई के अनुपात में समय लगता है, और क्वालिटी की एक जनरेशन की क़ीमत चुकानी पड़ती है — नया एन्कोडर पुराने की ख़राबियों को असली बारीकी से अलग नहीं पहचान सकता, इसलिए उन्हें बचाने में बिट ख़र्च करता है। जब कोडेक मंज़िल के साथ मेल नहीं खाते, तो इससे बचा नहीं जा सकता।
अगर कन्वर्ज़न लगभग तुरंत पूरा हो जाए, तो यही अच्छा नतीजा है। लोग कभी-कभी मान लेते हैं कि बहुत जल्दी होने की वजह से कुछ गड़बड़ हुई। सच इसका उल्टा है।
कौन-सा कन्वर्ज़न कौन-सा है
**MKV को MP4 में बदलें: आम तौर पर रीमक्स।** ज़्यादातर MKV में AAC के साथ H.264 होता है, जो ठीक वही है जो MP4 चाहता है। सेकंड लगते हैं, कुछ नहीं खोता।
**MOV को MP4 में बदलें: आम तौर पर रीमक्स, और मुश्किल से कन्वर्ज़न कहलाने लायक।** MP4 स्पेसिफ़िकेशन QuickTime के फ़ाइल फ़ॉर्मैट से बना था, इसलिए दोनों की अंदरूनी बनावट एक ही है। iPhone की .mov में H.264 या H.265 होता है और वह सीधे चला आता है। अपवाद प्रोफ़ेशनल फ़ुटेज है — ProRes या DNxHD — जिसे ट्रांसकोड करना ही पड़ता है और जो बहुत ज़्यादा छोटा हो जाएगा।
**WEBM को MP4 में बदलें: हमेशा ट्रांसकोड। WebM में Vorbis या Opus के साथ VP8, VP9 या AV1 होता है, और इनमें से कोई भी MP4 में इस तरह नहीं बैठता कि चीज़ें भरोसे से चल सकें। असली समय लगने की उम्मीद करें, और फ़ाइल के बड़ी** होने की भी, क्योंकि नए कोडेक H.264 से ज़्यादा कुशल हैं।
**AVI को MP4 में बदलें: हमेशा ट्रांसकोड। AVI 1992 का है और उसमें DivX, Xvid या मोशन JPEG होता है। यहां फ़ाइल आम तौर पर छोटी** हो जाती है, क्योंकि H.264 अंदर मौजूद कोडेक से लगभग दोगुना कुशल है — नुक़सान की एक जनरेशन के बदले एक असली फ़ायदा।
एक कंटेनर क्या रख सकता है जो दूसरा नहीं
कन्वर्ज़न में खोने वाली चीज़ों का यह दूसरा हिस्सा है, और इसका क्वालिटी से कोई लेना-देना नहीं। आम इस्तेमाल में MKV सबसे ज़्यादा जगह वाला कंटेनर है: अलग-अलग भाषाओं के कई ऑडियो ट्रैक, ढेर सारे सबटाइटल ट्रैक, चैप्टर मार्कर, कवर आर्ट, यहां तक कि स्टाइल वाले सबटाइटल दिखाने के लिए ज़रूरी फ़ॉन्ट फ़ाइलें भी। व्यवहार में MP4 एक वीडियो और एक ऑडियो ट्रैक आराम से रखता है और बाक़ी के साथ असहज है।
इसलिए MKV को MP4 में बदलने पर आम तौर पर हर चीज़ की पहली रहती है और बाक़ी पीछे छूट जाती हैं — इसी तरह लोगों के पास ग़लत भाषा वाली फ़िल्म रह जाती है, या उन सबटाइटल के बिना जिनके लिए उन्होंने उसे कन्वर्ट किया था। ख़ास तौर पर सबटाइटल नहीं बचते: SRT और फ़ैनसब में इस्तेमाल होने वाले स्टाइल वाले ASS फ़ॉर्मैट की MP4 में कोई ठीक जगह नहीं है। उन्हें पहले निकाल लें और वीडियो के बगल में अलग .srt फ़ाइल के रूप में रखें, जिसे हर प्लेयर और टीवी लोड कर लेगा।
MOV में टाइमकोड और कैमरा मेटाडेटा होता है जिसे एडिटर टेक को सिंक करने के लिए इस्तेमाल करता है; ये भी आगे नहीं जाते। और ProRes में ट्रांसपेरेंसी के लिए अल्फ़ा चैनल हो सकता है, जो MP4 में H.264 नहीं रख सकता — इसलिए कोई टाइटल या लोगो क्लिप एक पूरी तरह सही वीडियो में बदल जाती है, जिसमें ट्रांसपेरेंसी की जगह काला बैकग्राउंड होता है, और आपको चेतावनी देने के लिए आपकी अपनी आंखों के सिवा कुछ नहीं होता।
व्यावहारिक नतीजे
जांचें कि आपको कन्वर्ट करने की ज़रूरत है भी या नहीं। VLC, MPV और ज़्यादातर मौजूदा स्मार्ट टीवी MKV और WebM सीधे चलाते हैं। जो फ़ाइल आपका प्लेयर पहले से चला लेता है, उसे कन्वर्ट करने में समय, साइज़ और क्वालिटी बेवजह ख़र्च होते हैं। असली वजहें हैं Apple डिवाइस, कोई पुराना कंसोल, कोई वीडियो एडिटर जो फ़ॉर्मैट को स्वीकार न करे, या कोई मैसेजिंग ऐप।
ट्रिमिंग भी इसी विचार का फ़ायदा उठाती है। क्लिप काटना वीडियो को दोबारा एन्कोड करने के बजाय एन्कोड किया वीडियो कॉपी कर सकता है, जो तुरंत और लॉसलेस है — लेकिन कट को किसी की-फ़्रेम पर पड़ना होता है, और वे एक से दस सेकंड के अंतर पर होते हैं। इसीलिए कॉपी वाला कट थोड़ा पहले शुरू होता है और सटीक कट में ज़्यादा समय लगता है और क्वालिटी घटती है: वह शुरुआती हिस्से को दोबारा एन्कोड करता है ताकि ठीक आपके चुने फ़्रेम पर पहुंचे।
जब ट्रांसकोड करना ही हो, तो एक बार और अच्छे से करें। हर री-एन्कोड स्थायी है, इसलिए अपने पास मौजूद सबसे अच्छे सोर्स से कन्वर्ट करें, ऐसी क्वालिटी सेटिंग पर जो दूसरी जनरेशन को अदृश्य रखे, और नतीजा जांचने तक ओरिजिनल संभालकर रखें।
इसके लिए टूल्स
अक्सर पूछे जाने वाले सवाल
मैं कैसे जानूं कि मेरी फ़ाइल के अंदर कौन-सा कोडेक है?
VLC इसे Tools और फिर Codec Information में दिखाता है, और MediaInfo एक मुफ़्त टूल है जो सिर्फ़ यही करता है। लंबे कन्वर्ज़न से पहले यह जांचना फ़ायदेमंद है — अगर कोडेक पहले से MP4 के साथ चलता है, तो आप ऐसी चीज़ पर एक घंटा लगाने वाले हैं जो सेकंडों में हो सकती थी।
क्या MKV, MP4 से बेहतर है?
कंटेनर के रूप में, हां — यह ज़्यादा रखता है और कम रोक-टोक करता है। कम्पैटिबिलिटी में MP4 जीतता है, और आम तौर पर लोग इसी वजह से कन्वर्ट करते हैं। इनमें से कोई भी तस्वीर की क्वालिटी पर बिल्कुल असर नहीं डालता; वह पूरी तरह कोडेक और उसकी सेटिंग पर निर्भर है।
मेरी WebM, MP4 बनकर बड़ी क्यों हो गई?
क्योंकि VP9 और AV1, H.264 से ज़्यादा कुशल हैं, और उन्हें छोड़ने पर वह बचत चली जाती है। आप साइज़ नहीं, कम्पैटिबिलिटी ख़रीद रहे हैं — MP4 लगभग हर चीज़ पर चलती है, और WebM नहीं।
क्या मैं क्वालिटी खोए बिना कन्वर्ट कर सकता हूं?
हां, जब भी कोडेक रीमक्स की इजाज़त दें — MKV से MP4 और MOV से MP4 में आम तौर पर यही होता है। जब ट्रांसकोड से बचा न जा सके, तो हाई क्वालिटी सेटिंग नुक़सान को व्यावहारिक रूप से अदृश्य बना देती है, लेकिन वह कभी भी सचमुच शून्य नहीं होता।
फ़ाइल का एक्सटेंशन बदलने से कभी-कभी काम क्यों चल जाता है?
क्योंकि कभी-कभी अंदर से कंटेनर सच में एक ही होता है — जैसे .f4v असल में दूसरे नाम वाली MP4 है। बाक़ी हर चीज़ के लिए यह फ़ेल हो जाता है, और नाम बदली गई फ़ाइल जो खुले नहीं, वह ईमानदारी से रिजेक्ट की गई फ़ाइल से ज़्यादा उलझाती है। आज़मा लें, लेकिन इस पर भरोसा न करें।