एक MP4 कंटेनर की तुलना में FLV कंटेनर में H.264 वीडियो इतना तेज़ क्यों है?


9

मैं एक ट्यूब साइट विकसित कर रहा हूं, और वर्तमान में H.264 प्रारूप के साथ समस्या है। मैंने देखा कि YouTube ने उनके हाय-डीफ़ वीडियो को MP4 कंटेनर में डाल दिया है, इसलिए तार्किक रूप से मैंने भी यही किया।

इसके बाद, मैंने mod_h264_streamingस्ट्रीमिंग और टाइम-स्क्रबिंग कार्य करने के लिए लाइटटैप के लिए स्थापित किया।

समस्या यह है कि बड़ी फाइलें (> कुछ हद तक उच्च संकल्प पर 500 एमबी) भी बफरिंग शुरू करने के लिए हमेशा के लिए ले जाती हैं (मैंने पढ़ा कि फ्लोप्लेयर और अन्य फ्लैश खिलाड़ियों को पहले मेटाडेटा डाउनलोड करना होगा)। मैंने MP4Box के साथ फ़ाइल के सामने xmov परमाणु को स्थानांतरित किया (मैंने क्यूटी क्विकस्टार्ट भी कोशिश की), लेकिन इससे कोई मदद नहीं मिली।

इसके बाद, मैंने पढ़ा कि मुझे ऑडियो ट्रैक को इंटरलेव करने की आवश्यकता है, इसलिए मैंने भी ऐसा किया। इससे कोई परिवर्तन नहीं हुआ: वीडियो अभी भी धीमा था।

इसलिए मैंने एक ही H.264 मूवी को FLV कंटेनर में डालने की कोशिश की, और प्लेबैक बफरिंग लगभग तुरंत शुरू हुई - कोई सुस्ती नहीं।

तो मैं यहाँ क्या याद कर रहा हूँ? मैं मॉड्यूल के साथ MP4 कंटेनर का चयन क्यों करूँगा mod_264_streaming, जो कि सुपर-स्लो लगता है, एक नियमित FLV कंटेनर के साथ लाइटटैप के अंतर्निर्मित है mod_flv_streaming? जाहिर है, कई वेबसाइट MP4 कंटेनर उठाती हैं, लेकिन मैं यह समझने में नाकाम हूं कि क्यों।

और एक पक्ष के प्रश्न के रूप में, मैंने <video>उसी एच .264 एमपी 4 फिल्म की कोशिश करने के लिए एचटीएमएल 5 टैग का उपयोग करने की कोशिश की, और स्क्रबिंग तेजी से चमक रही थी ! मैंने लाइटटैप की लॉग फ़ाइल में देखा, और मैंने देखा कि फ्लैश खिलाड़ी video.mp4?start=234हर बार समयरेखा को खंगालते हैं, जबकि देशी एचटीएमएल 5 <video>टैग का उपयोग करने वाले ब्राउज़र ऐसी कोई बात नहीं करते हैं। यह किसी तरह की सीमा है Flash? फ्लैश स्ट्रीमिंग एचटीएमएल 5 स्ट्रीमिंग जितनी तेज क्यों नहीं हो सकती?

जवाबों:


4

TL; DR: MP4 का उपयोग तब किया जाता है जब वीडियो साइट FLV समर्थन की तुलना में वीडियो में अधिक मेटाडेटा संग्रहीत करती है, या एक ऑडियो कोडेक का उपयोग करती है जो FLV समर्थन नहीं करता है। यदि आपके पास MP4 उपयोग करने का कोई अच्छा कारण नहीं है तो FLV की सादगी और फॉर-स्ट्रीमिंग डिज़ाइन इसे एक अच्छा विकल्प बनाती है।

फ्लैश की टाइमलाइन स्क्रबिंग के रूप में, मुझे नहीं पता कि ऐसा क्यों होता है क्योंकि मैंने कभी भी फ्लैश को कोड नहीं किया है, लेकिन यह संभव है कि यह एक नॉब का उपयोग करता है, या ऐसा कुछ जो विशेष रूप से फाइल में तलाश करने के लिए एडोब के स्ट्रीमिंग सर्वर के साथ काम करता है। यह पेसकी उपयोगकर्ता को उसकी डिस्क पर फ़ाइल रखने से रोकने के तरीके के रूप में भी काम करता है।


कुछ सामान जो आप पहले से जानते थे:

( FLVऔर MP4उर्फ आइसोमेडिया) कंटेनरों के बीच मूलभूत अंतर हैं । FLV को Adobe द्वारा स्ट्रीमिंग कंटेनर के रूप में शुरू से तैयार किया गया था, और यह वास्तव में सरल है । यह सब करता है एक वीडियो पैकेट, फिर ऑडियो पैकेट, फिर वीडियो पैकेट भेजा जाता है ... हालांकि, यह केवल बहुत कम कोडेक्स का समर्थन करता है, और मिलिसेकंड में टाइमस्टैम्प के अलावा कोई मेटाडेटा नहीं है। जब तक आपको MP4- विशिष्ट सुविधाओं की आवश्यकता होती है, आप FLV के साथ ठीक करेंगे।

दूसरी ओर ISO मीडिया, Apple के MOV कंटेनर पर आधारित है। यह परमाणुओं में अलग हो गया है, और एक विशेष परमाणु है moov, जिसे किसी भी अन्य परमाणुओं को पढ़ने से पहले डिकोड किया जाना चाहिए। MP4 के साथ आपके पास समस्या इसलिए है क्योंकि moovफ़ाइल के अंत में परमाणु लिखा गया है, जो कि एन्कोडिंग प्रोग्राम के लिए करना बहुत आसान है। ऐसे उपकरण हैं, जैसे कि क्यूटेस्टस्टार्ट , जो moovफ़ाइल की शुरुआत में परमाणु को डालने के लिए आवश्यक मूंगिंग करेगा । इस प्रकार, फ़ाइल शुरू होते ही प्लेबैक करना शुरू कर देगी, बजाय इसके कि शुरू करने से पहले पूरी तरह से डाउनलोड करने की आवश्यकता हो।


0

यदि आप एक mov कंटेनर का उपयोग करते हैं, तो यह बॉक्स से बाहर निकलता है, जिसमें किसी flv कंटेनर में मॉड्यूल या जगह स्थापित करने और किसी मॉड्यूल का उपयोग करने की आवश्यकता नहीं होती है। बस मेरे विचार। Mov का उपयोग करें और उपयुक्त माइम प्रकार जोड़ें - किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.