いくつかの人々は、たとえば、AVPlayer
またはMPMoviePlayerController
を使用して事前にロードされたビデオデータをキャッシュすることを試みた埋め込まれたHTTPプロキシを使用してストリーミングビデオをキャッシュしますか?
- Caching with AVPlayer and AVAssetExportSession
- Access the data of AVPlayer when playing video from HTTP Live Streaming
最も簡単な方法は、プレイヤーのcurrentItem
にAVExportSession
を使用しているように思われますしかし、誰もそれを働かせることはできないようです。
私の質問は:ディスクベースのキャッシュに裏打ちされた組み込みHTTPサーバを使って、デバイス上でビデオリクエストを透過的にプロキシすることは可能ですか?
私の質問は、可能な限り最高の帯域幅のストリームを選択しようとAVPlayer
の帯域幅の最適化コードを台無し
をキャッシュしますされるように、私は、組み込みWebサーバー(GCDWebServer)を実行できますか?これが問題の場合は、ストリームを制御して1つのオプションしか提供できません。
ネットワークパフォーマンスを改善するにはディスクのパフォーマンスは十分ですか?明らかにそうであるように思えるかもしれませんが、iOS上でのディスクI/Oの遅さに関するWeb上のさまざまな記事を見てきました。
ありがとう!
HTTPライブストリーミング用
あなたの質問とあなたの質問から、あなたの目的がここにあるかどうかは不明です。再生したビデオのコピーをローカルに保存しようとしていますか(AVExportSessionへの参照)、再生を改善するために独自のキャッシュを実装しようとしていますか? – MDB983
私はあなたが描こうとしている区別を見ません。 「再生されたビデオのコピーをローカルに保存する」と「再生を向上させるためにキャッシュを実装する」の違いは何ですか?これらは同じではありませんか?私はビデオをローカルに保存しないキャッシュ方法については気づいていません。 – bcattle
実装は区別されます。あなたが指摘したように、プロキシメカニズムを使用して、ダウンロード中のもの(「プレイヤー」の観点から)を取得するか、またはすでにダウンロード/再生しているデータを取得するAVExportSessionを取得できます。 – MDB983