おそらく、より正確でわかりにくいタイトルは次のようになります。 ブラウザウィンドウが非表示になっていると、ライブストリームに遅延が発生するのはなぜですか。また、それを防止/元に戻すにはどうすればよいですか。
ライブストリーム(FLVファイルとしてパッケージ化)をNetStream経由でフラッシュプレーヤーに送信しています。ブラウザーウィンドウが非表示/最小化されると、遅延が蓄積し始め、プレーヤーは常に何が起こっているかから数秒遅れます。住む。私はこの遅れを防ぐか、さもなければ取り除くことを望みます。
私の問題は、「キャッチアップ機能」が私のストリームで行われていないことを除いて、これと非常によく似ています。
これについて混乱/イライラするのは、バッファリングされたビデオのすべての秒数のための余地がないはずだということです。すべてのNetStream変数を適切に設定したと思います。
stream.backBufferTime = 0;
stream.bufferTime = 0;
stream.bufferTimeMax = 0;
stream.maxPauseBufferTime = 0;
stream.inBufferSeek = false;
それでもなお、そのすべてのビデオはどこかにバッファリングされています。このバッファがどこにあるか、そしてそれを削除する方法があるかどうかを知ることは役に立ちます(またはそれ自体をクリアして最新のフレームからストリーミングするように丁寧に依頼することさえできます)。
現在、私は5秒ごとに呼び出しを行うことで問題を回避しようとしていNetStream.seek(10000000000)
ます。将来に向けて、ストリームが最も前方のキーフレームを取得し、そこから再生を開始するようにしています。これはFirefoxとIEでうまく機能しますが、効果がなく、Chromeでの遅延を中和しません。seek()
値をバッファリングされた範囲内に保ちながら、現在の位置からsを対数的に増やしてみましたが、これにより、再生時に許容できない3秒の一時的な中断が発生します。
任意の情報または提案された解決策をいただければ幸いです。:)