19

Apple documentation से यह सिर्फ कहते हैं:क्या करना चाहिए वास्तव में क्या करना चाहिए?

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

लेकिन वास्तव में क्या हो रहा है?

उत्तर

52

जब ऑप्टीमाइज्ड फोर्ननेटवर्क यूईएस कॉलिंग फिनिश पर सेट किया गया है तो फ़ाइल फ़ाइल के अंत तक फ़ाइल के अंत से एमपी 4 मूव परमाणु (मूवी परमाणु) को स्थानांतरित कर देगी। मूव परमाणु में फिल्म फ़ाइल के बारे में जानकारी जैसे टाइमस्केल और अवधि होती है। मूव में "सबटाम्स" चुड़ैल में ट्रैक जैसे सूचनाएं, फ़ाइल आदि में डेटा ऑफसेट शामिल हैं।

प्लेबैक केवल मूव परमाणु में जानकारी का उपयोग करके संभव है और जब यह फ़ाइल की शुरुआत में स्थित है फ़ाइल का अंत, एक मूवी प्लेयर फ़ाइल को खेलना शुरू कर सकता है भले ही उसने केवल इसकी शुरुआत लोड की हो।

प्रैक्टिस में आधुनिक ब्राउज़र फ़ाइल के अंत में होने पर भी मूव परमाणु लोड करने के लिए HTTP/1.1 रेंज हेडर का उपयोग करके फ़ाइल के अंत से मूव परमाणु लाएगा।

हां में shouldOptimizedForNetworkUse स्थापना भी कुछ दुष्प्रभाव होते हैं:

  • फिल्म फिनिशिंग लेता है थोड़ा अधिक समय फ़ाइल परमाणु में ऑफसेट के साथ संशोधित किया जाना है के रूप में।
  • आउटपुट फ़ाइल लॉक है और पहुंच योग्य नहीं है क्योंकि finishWriting को पूरी फ़ाइल को संशोधित करने की आवश्यकता होगी (परमाणुओं को स्थानांतरित करें और अपडेट करें)। जब सेट पर सेट किया जाता है, तो मूवीफ्रैगमेंटइंटरवाल आउटपुट वीडियो फ़ाइल में लिखने के लिए फ्लश अंतराल सेट करता है, जिससे फ़ाइल को लिखने के दौरान पठनीय बना दिया जाता है क्योंकि टुकड़े उनके अंतिम रूप में फ़ाइल में फंस जाते हैं। FinWriting को पहले से लिखे गए टुकड़ों को छूने के बजाय फ़ाइल के अंत में moov परमाणु को जोड़ने की आवश्यकता होगी।
+0

+1 महान स्पष्टीकरण – tidwall

संबंधित मुद्दे