MP4 फ़ाइलें: इनके अंदर क्या होता है, और इन्हें किसमें बदलें
MP4 में असल में क्या होता है, एक ही एक्सटेंशन में अलग-अलग कोडेक क्यों हो सकते हैं, और कौन-से कन्वर्ज़न लॉसलेस हैं। ब्राउज़र में MP4 कन्वर्ट करें, बिना अपलोड।
एक नज़र में
- प्रकार
- वीडियो
- कंटेनर फ़ॉर्मैट
- हाँ
- एक्सटेंशन
- .mp4
- MIME टाइप
- video/mp4
- आम कोडेक
- h264, h265, av1, aac
- दूसरे नाम
- MPEG-4 Part 14
MP4 एक कंटेनर है, कोडेक नहीं — और इस फ़ॉर्मेट की लगभग हर उलझन इसी एक बात से निकलती है। फ़ाइल अंदर से एक-दूसरे में रखे बॉक्सों का पेड़ है (स्पेसिफ़िकेशन इन्हें box कहता है, पुराने टूल atom), जिसे ISO/IEC 14496-14 परिभाषित करता है, और वह ख़ुद ISO Base Media File Format का एक प्रोफ़ाइल है, जो Apple ने QuickTime से दिया था। काम में दो ही बॉक्स मायने रखते हैं: moov, यानी हर ट्रैक का ब्योरा देने वाला इंडेक्स, और mdat, यानी असली कंप्रेस किए हुए फ़्रेमों का बंद डिब्बा।
और पढ़ें
क्योंकि कंटेनर सिर्फ़ ट्रैक का ब्योरा देता है, दो फ़ाइलें दोनों सही MP4 होकर भी आपस में कुछ और साझा न करें, ऐसा हो सकता है। एक में H.264 वीडियो और AAC ऑडियो हो सकता है, दूसरी में H.265, तीसरी में AV1 — और जो प्लेयर पहली चला लेता है वह तीसरी पर अटक सकता है, जबकि दोनों का एक्सटेंशन .mp4 और MIME टाइप video/mp4 ही होता है। इसीलिए “क्या यहाँ MP4 चलेगा” का कोई एक जवाब नहीं है, और इसीलिए MP4 से MOV या MKV का कन्वर्ज़न आमतौर पर पल भर में हो जाता है जबकि WebM में नहीं: पहले में बस री-पैकिंग होती है, दूसरे में हर फ़्रेम को दोबारा एनकोड करना पड़ता है।
moov इंडेक्स से -movflags +faststart का मतलब भी समझ आता है, जो यह साइट अपनी बनाई हर MP4 पर लगाती है। एनकोडर स्वाभाविक रूप से moov को फ़ाइल के आख़िर में रखते हैं, क्योंकि ट्रैक की लंबाई एनकोडिंग ख़त्म होने पर ही पता चलती है। ऐसे में HTTP पर स्ट्रीम करने वाला प्लेयर आख़िरी बाइट आने तक शुरू नहीं कर पाता। Faststart फ़ाइल को दोबारा लिखकर इंडेक्स को आगे ले आता है — एक्सपोर्ट के समय एक पास ज़्यादा लगता है, बदले में प्लेबैक तुरंत शुरू हो जाता है।
नाम एक चलन है, नियम नहीं। .m4a ऐसी MP4 फ़ाइल है जिसमें सिर्फ़ ऑडियो है, .m4v Apple का वीडियो वाला रूप है, और .mp4 आम मामला है — तीनों एक ही कंटेनर हैं, और नाम बदलने से कन्वर्ज़न नहीं होता। नाम बदलना कोई शॉर्टकट भी नहीं है: यहाँ ऑडियो को M4A में निकालने पर वह री-एन्कोड होता है, मौजूदा AAC ट्रैक को जस का तस नहीं उठाया जाता, इसलिए यह MP3 की तरह ही दूसरा लॉसी दौर है, बस उसी कोडेक परिवार में।
MP4 को दूसरे फ़ॉर्मैट में बदलें
MP4सेMP3
सिर्फ़ ऑडियो ट्रैक रखता है, छोटी फ़ाइल में कंप्रेस करकेMP4सेGIF
क्लिप को एनिमेटेड GIF में बदलता हैMP4सेWAV
सिर्फ़ ऑडियो ट्रैक रखता है, क्वालिटी में कोई कमी नहींMP4सेMOV
वही स्ट्रीम नए पैकेज में रखता है — लॉसलेस और लगभग तुरंतMP4सेAVI
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता हैMP4सेWebM
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता हैMP4सेMKV
वही स्ट्रीम नए पैकेज में रखता है — लॉसलेस और लगभग तुरंतMP4सेM4A
सिर्फ़ ऑडियो ट्रैक रखता है, छोटी फ़ाइल में कंप्रेस करकेMP4सेAAC
सिर्फ़ ऑडियो ट्रैक रखता है, छोटी फ़ाइल में कंप्रेस करकेMP4सेFLAC
सिर्फ़ ऑडियो ट्रैक रखता है, क्वालिटी में कोई कमी नहीं
दूसरे फ़ॉर्मैट को MP4 में बदलें
MOVसेMP4
वही स्ट्रीम नए पैकेज में रखता है — लॉसलेस और लगभग तुरंतMKVसेMP4
वही स्ट्रीम नए पैकेज में रखता है — लॉसलेस और लगभग तुरंतAVIसेMP4
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता हैWebMसेMP4
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता हैWMVसेMP4
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता हैFLVसेMP4
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता हैMPEGसेMP4
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता है3GPसेMP4
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता हैTSसेMP4
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता हैM4VसेMP4
वही स्ट्रीम नए पैकेज में रखता है — लॉसलेस और लगभग तुरंतOGVसेMP4
नए कंटेनर के लिए हर फ़्रेम को री-एन्कोड करता हैMP3सेMP4
ऑडियो को काले फ़्रेम के साथ वीडियो कंटेनर में रखता हैWAVसेMP4
ऑडियो को काले फ़्रेम के साथ वीडियो कंटेनर में रखता है
MP4: अक्सर पूछे जाने वाले सवाल
MP4 लॉसी है या लॉसलेस?
दोनों में से कोई नहीं — कंटेनर की अपनी कोई राय नहीं होती, फ़ैसला अंदर के ट्रैक करते हैं। असल में MP4 में लगभग हमेशा लॉसी H.264 या H.265 वीडियो और लॉसी AAC ऑडियो होता है, इसलिए आपकी फ़ाइल लगभग पक्का लॉसी है, लेकिन यह कोडेक की ख़ासियत है, MP4 की नहीं।
मेरी MP4 किसी-किसी डिवाइस पर क्यों नहीं चलती?
एक्सटेंशन प्लेयर को कोडेक के बारे में कुछ नहीं बताता। H.265 या AV1 वीडियो वाली फ़ाइल ऐसे हार्डवेयर पर नहीं खुलेगी जो सिर्फ़ H.264 डीकोड करता है, भले ही दोनों फ़ाइलें सही MP4 हों। H.264 वीडियो और AAC ऑडियो वाली MP4 में बदलना सबसे ज़्यादा कम्पैटिबिलिटी वाला विकल्प है, और यह साइट यही बनाती है।
MP4 के कौन-से कन्वर्ज़न लॉसलेस हैं?
MP4 से MOV, MKV और M4V, बशर्ते अंदर के कोडेक टार्गेट कंटेनर में पहले से मान्य हों। ये स्ट्रीम कॉपी के रूप में चलते हैं: कंप्रेस किए हुए फ़्रेम बिना छुए आगे चले जाते हैं और वीडियो बिट-दर-बिट वैसा ही रहता है। ऐसा होने पर आपको “बिना री-एन्कोड किए कॉपी किया गया — क्वालिटी में कोई कमी नहीं” वाला नोट दिखेगा। जो भी कन्वर्ज़न कोडेक बदलता है — MP4 से WebM, MP4 से MP3 — उसमें री-एन्कोड होना तय है।
MP4, M4A और M4V में क्या फ़र्क़ है?
कंटेनर एक ही है, बस उसमें आमतौर पर रखी जाने वाली चीज़ अलग है: M4A में सिर्फ़ ऑडियो होता है, M4V Apple का वीडियो वाला रूप है, MP4 आम मामला है। एक्सटेंशन बदलने से बाइट नहीं बदलते, इसलिए कुछ भी कन्वर्ट नहीं होता — हाँ, इससे प्लेयर का अंदाज़ा ग़लत ज़रूर हो सकता है।
यह साइट कितनी बड़ी MP4 संभाल सकती है?
यह इस पर निर्भर है कि आप उसे किसमें बदल रहे हैं, क्योंकि सीमा इनपुट से नहीं बल्कि इससे तय होती है कि काम के दौरान कितना कुछ साथ रखना पड़ता है। डेस्कटॉप पर ऑडियो निकालने के लिए 2 GB तक चलता है, क्योंकि आउटपुट सोर्स का छोटा-सा हिस्सा होता है; कंटेनर बदलने के लिए करीब 667 MB, क्योंकि आउटपुट इनपुट जितना ही बड़ा होता है; और फ़ोन पर हर जगह सीमा 512 MB है। 64 MB से बड़ी फ़ाइल को कन्वर्टर की मेमोरी में कॉपी करने के बजाय वहीं से पढ़ा जाता है जहाँ वह रखी है, और इसी वजह से कई GB के इनपुट संभव हो पाते हैं। हर अपलोड बॉक्स उस जोड़ी के लिए असली आँकड़ा दिखाता है।
क्या यहाँ MP4 कन्वर्ट करने पर मेरा वीडियो अपलोड होता है?
नहीं। डीमक्सिंग और एनकोडिंग, दोनों आपके ब्राउज़र के एक बैकग्राउंड थ्रेड में ffmpeg के WebAssembly बिल्ड से चलते हैं। शुरू करने से पहले नेटवर्क पैनल खोल लें: किसी भी रिक्वेस्ट में फ़ाइल नहीं जाती।
MP4 से WebM, MP4 से MKV के मुक़ाबले इतना धीमा क्यों है?
MKV H.264 स्वीकार करता है, इसलिए वीडियो ट्रैक कॉपी हो जाता है और काम लगभग फ़ाइल को दोबारा लिखने जितना है। WebM न H.264 स्वीकार करता है न AAC, इसलिए हर फ़्रेम को डीकोड करके VP8 या VP9 में दोबारा एनकोड करना पड़ता है — यह असली कंप्रेशन का काम है, जो आपके CPU पर होता है।
क्या मैं MP4 से कोई स्टिल इमेज निकाल सकता हूँ?
हाँ, और यह जानना काम का है कि आपको क्या मिलता है: एक डीकोड किया हुआ फ़्रेम, जिसे PNG या JPG में दोबारा एनकोड किया गया है। क्योंकि सोर्स फ़्रेम पहले से लॉसी है, उसकी PNG सिर्फ़ उस फ़्रेम के हिसाब से लॉसलेस है, असली दृश्य के हिसाब से नहीं।