2017-12-28 26 views
0

dash.jsプレーヤーでライブストリームをどのように設定しようとしても、時にはBUFFER_EMPTYイベント( 'bufferStalled')が発生し、再生が一時停止して再バッファリングされます。dash.js - なぜBUFFER_EMPTYイベントを取得するのですか?

「バッファレベル」とは何とか関係していますが、バッファレベルがアンダーフローしないように設定することはできません。 ログ/イベントから「バッファレベル」が約10秒間バウンスすることがわかりましたが、それが0.535に下がり、その下でbufferStalledイベントが発生し、再生が中断します。 LANからビデオコンテンツを再生するので、ネットワークの状態は問題ありません。

安定したビデオストリーミングを設定するにはどうすればよいですか?

答えて

0

問題はサーバーのストリームと使用可能なビットレートにある可能性があります。何らかのテストが必要です。

低バッファリングが発生した場合、一般的に低ビットレートに切り替わり、ネットワークを介してストリームを取得する可能性が高まります(詳細は以下を参照)。下位ストリームの1つが実際にあなたのパッケージャまたはストリーミングサーバ上で問題を抱えている可能性があります。明らかに、テストすることなく言うことは難しい。

また、セグメントの長さについて考える価値があります - セグメントが短いほど一般的なルールとしてすぐに切り替えることが容易になります。

そして。たとえそれがLANであっても、LANトラフィックまたはホストマシン上の他のアクティビティさえも依然として要因となり得る。 https://github.com/Dash-Industry-Forum/dash.js/wiki/ABR-Logic

、ここで概要図:https://github.com/Dash-Industry-Forum/dash.js/wiki/Buffer-and-Scheduling-Logic

Dash.jsはの真ん中にアプローチを変えdash.jsバッファリングはここで良いガイドがありますどのように動作するかあなただけ見たい場合は

昨年は、場所にあった二つの主要なバッファリング規則の間で動的な切り替えを使用する - それは、GitHubの変更(https://github.com/Dash-Industry-Forum/dash.js/pull/2083)が、そこから今も使用されている2つの2のルールの簡単な要約で説明されている。

  • ThroughputRuleは、起動やシークなどの一時的な条件では望ましいです。
  • BolaRuleは、十分な緩衝液で安定な条件で望ましい。

新しいストリームはThroughputRuleから開始し、バッファレベルがしきい値に達したときにBolaRuleに切り替え、バッファレベルが(最初よりも低い)しきい値を下回ったときにThroughputRuleに戻ります。

自動ルール切り替えは両方のルールの中で最も優れていますが、ThroughputRuleとBolaRuleの両方がうまく機能することに注意してください。

関連する問題