Appleのドキュメントから、次のように書かれています。
このプロパティの値がYESの場合、出力ファイルは、少量のファイルがダウンロードされた後に再生を開始できるように書き込まれます。
しかし、実際には何が起こっているのでしょうか。
Appleのドキュメントから、次のように書かれています。
このプロパティの値がYESの場合、出力ファイルは、少量のファイルがダウンロードされた後に再生を開始できるように書き込まれます。
しかし、実際には何が起こっているのでしょうか。
shouldOptimizeForNetworkUse が YES に設定されている場合、finishWriting を呼び出すと、MP4 moov アトム (ムービー アトム) がファイルの末尾からファイルの先頭に移動します。moov アトムには、タイムスケールやデュレーションなどのムービー ファイルに関する情報が含まれています。moovには、トラック、ファイル内のデータオフセットなどの情報を含む「サブアトム」も含まれています。
再生は、moov アトムの情報を使用してのみ可能であり、それがファイルの最後ではなくファイルの先頭にある場合、ムービー プレーヤーはファイルの先頭のみをロードしただけでもファイルの再生を開始できます。
実際には、最新のブラウザーは、ファイルの末尾にある場合でも、HTTP/1.1 Range ヘッダーを使用してファイルの末尾から moov アトムを取得し、moov アトムを読み込みます。
shouldOptimizeForNetworkUse を YES に設定すると、いくつかの副作用もあります。