HTML5
カスタムビデオプレーヤーを設計しています。したがって、ビデオの進行状況を模倣する独自のカスタム スライダーがあるため、ビデオのバッファリング シバン全体を理解する必要がありHTML5
ます。
この記事に出くわしました: Video Buffering . バッファリングされたオブジェクトは、開始時間の線形順序でいくつかの時間範囲で構成されていると言います。しかし、次のことがわかりませんでした。
ビデオが始まると言います。それは自然に 1:45 まで続き (時折失速して、おそらく次のデータを待っています)、その後、突然 32:45 にジャンプします。しばらくして、1:27 (ジャンプする前に最初にロードして再生した時間範囲内) にジャンプすると、以前にロードされていたので、すぐに再生が開始されますか? それとも、ジャンプしたので、その部分が失われ、再度取得する必要があるのでしょうか? いずれにせよ、そのようなすべてのシナリオで動作は一貫していますか?
このようなジャンプを 5 回または 6 回行ったとします。そのたびに、ジャンプ後にデータがロードされるまで数秒待ちます。これは、
buffered
オブジェクトにこれらすべての時間範囲が保存されるということですか? または、一部が失われる可能性がありますか?それはスタックのようなもので、さらにジャンプするためにより多くの範囲がロードされると、以前の範囲がポップオフされますか?buffered
オブジェクトに 0 (ライブ ストリーミングは忘れてください) から始まり、ビデオの長さで終わる 1 つの時間範囲があるかどうかを確認すると、ビデオ リソース全体が完全に読み込まれていることが保証されますか? そうでない場合、ビデオ全体がダウンロードされ、任意の部分がシーク可能であることを知る方法はありますか?
W3C の仕様はこれについてあまり明確ではありません。また、テストするのに適切なサイズ (たとえば 1 時間以上) のリモート ビデオ リソースも見つかりません。