AVPlayerを使用してHTTPライブストリーミングビデオを再生しています。HTTPライブストリーミングからビデオを再生するときにAVPlayerのデータにアクセスする
プレーヤがキャッシュデータにアクセスしてローカルに保存する方法はありますか?
AVPlayerを使用してHTTPライブストリーミングビデオを再生しています。HTTPライブストリーミングからビデオを再生するときにAVPlayerのデータにアクセスする
プレーヤがキャッシュデータにアクセスしてローカルに保存する方法はありますか?
TLDR;それは不可能ではありませんが、その結果はそれほど大きくない可能性があります。
実際にHTTPビデオストリームは複数の帯域幅ストリームで構成されています。それらの各々はより小さいMPEGトランスポートストリームチャンクに分割される。
これらのストリームを再生するために、AVPlayerは通常、使用可能な帯域幅ストリームの1つを選択し、プリロードしてすぐに再生します。 AVPlayerはバーを上げ始め、より高い帯域幅のストリームからチャンクのダウンロードを開始します。 AVPlayerは利用可能な最大帯域幅に達するまでバーを再び上げます。このプロセスは、AVPlayerが再生可能な長さをキューにプリロードしておくことで問題を特定すると、反転されます。したがって、ネットワークのスループットが低下した場合、より低い帯域幅のストリームが選択される。正確な実装の詳細は指定されていませんが、これはおおよその動作です。
ここで、そのデータをローカルに保存/キャッシュするとします。さまざまな帯域幅のTSチャンクを混在させることができます。これは、ボックスから再生できるものではありません。また、最近のモバイルデバイスでは、ファイルシステムのアクセスがで、という高価なので、このプロセスに追加の負荷をかけることになります。
全体として、私は完全に不可能ではないと思っていますが、まったく些細なことではありません。私はこの問題についてファイルシステムのパイピングを実験している人については読んだことがありますが、決してそれを働かせることはできません。
ヘッドアップありがとう、私は何を考えていたことを確認した。私は更新があればこのスレッドを更新します – MartinMoizard
私が知る限り、あなたはライブストリーミングからそれをすることはできません。 – Vlad
それは私の経験もあります – V1ru8
データを保存してAVPlayerに転送するカスタムコンポーネントによるフローを最初に読み取る方法があるのでしょうか?私は実際にデータを保存する方法を見つけるために探しています... – MartinMoizard