19
從Apple documentation它只是說:shouldOptimizeForNetworkUse實際上做了什麼?
當此屬性的值是YES,輸出文件將 寫在這樣一種方式,只有文件的一小 量下載後播放時可啓動。
但是究竟發生了什麼?
從Apple documentation它只是說:shouldOptimizeForNetworkUse實際上做了什麼?
當此屬性的值是YES,輸出文件將 寫在這樣一種方式,只有文件的一小 量下載後播放時可啓動。
但是究竟發生了什麼?
當shouldOptimizedForNetworkUse設置爲YES時,調用finishWriting會將MP4 moov原子(影片原子)從文件末尾移至文件的開頭。 moov原子包含有關電影文件的信息,如時間刻度和持續時間。 moov還包含「子原子」女巫包含軌道,文件中的數據偏移量等信息。
回放只能使用moov原子中的信息,當它位於文件的開頭而不是在該文件的結尾,電影播放器即使只加載了該文件的開頭,也可以開始播放該文件。
實際上,現代瀏覽器會使用HTTP/1.1 Range頭部從文件的末尾獲取moov原子,以加載moov原子,即使它位於文件的末尾。
設置shouldOptimizedForNetworkUse爲YES也有一些副作用:
+1很好的解釋 – tidwall