再生するレンディションの決定
HLSまたはMP4?
新しいBrightcoveプレーヤーを使用する時は、できるだけ多くのデバイスとブラウザに適合するために、HLSとMP4の両方のレンディションを含んだトランスコードプロプロファイルを選択、もしくは作成することをお勧めいたします。この表は、実行時に、特定のブラウザでどのレンディションが再生されるかをプレーヤーがどのように決定するかを示しています。
ブラウザタイプ | 既定で使用される再生テクノロジ |
---|---|
デスクトップChrome 34 +、デスクトップFirefox 42 +、Edge、Chrome 34 +、Android 5.0 + | HTMLベースのHLS(MSEを使用) |
デスクトップ(macOS)Safari、モバイル(iOS)Safari | ネイティブHLS(ブラウザで実装) |
以前のFirefoxとChrome | フラッシュベースのHLS。 Flash 10.3 +が必要です(Flashが無効の場合はMP4に戻ります) |
IE 11 on Windows 8.1 + | HTMLベースのHLS(MSEを使用) |
HLS&DASHレンディションの選択
HLS 更に ダッシュ ビデオはセグメントに分割されます。 これらの時間は通常約10秒ですが、これより長くても短くてもかまいません。 帯域幅と解像度がわかっている場合、 player これらの基準に基づいてレンディションを選択します。 解像度または帯域幅が不明な場合(たとえば、 player display:none
) player .5 MB / s(4000 kbsに相当)に最も近いレンディションから開始します。 セグメント境界では、以下のテキストと画像で説明されている、より高いまたはより低いレンディションに切り替わります。
HLSとDASHはどちらも、利用可能な帯域幅とエンコーディングを考慮して、可能な限り最高品質の視聴体験を保証すると同時に、以下を考慮します player サイズ。 これは常に、利用可能な最高ビットレートのレンディションを使用することを意味するわけではありません。 たとえば、 player 300px x 150pxである場合、4kストリームをダウンロードすることは帯域幅の無駄になります。
デフォルトでは、 player 最新の検出されたセグメント帯域幅よりも低い最高ビットレートのバリアントをロードしようとしますが、XNUMXつの条件があります。現在よりも大きいディメンションを持つバリアントが複数ある場合 player サイズ、それは現在よりもXNUMXつ大きいサイズのみを切り替えます player サイズ。
再生中、 player 次のアルゴリズムに基づいて、より高いまたはより低いレンディションに切り替えます。 このアルゴリズムへの入力は次のとおりです。
- 利用可能な帯域幅
- Player 大きさ
高レベルアルゴリズムの概要
- 測定された帯域幅よりも高いビットレートを持つレンディションをすべて削除します。
- 残りのレンディションを高解像度から低解像度まで並べ替えます。
- プレーヤーのサイズに最も近いレンディションを選択します。
- 上記XNUMXで選択したレンディションよりも一つ解像度が高いものを選択します。
このプロセスを以下に示します。
- 新しいセグメントがダウンロードされるたびに、セグメントのサイズとダウンロードに要した時間に基づいてダウンロードビットレートが計算されます。
- 新しい測定値よりも高いビットレートを持つすべてのレンディションは除外されます:
- 現在よりも大きいレンディション playerのディメンションは除外されています:
- 品質が大幅に低下することは望ましくありません。 player XNUMXピクセルが小さすぎるため、次に高い解像度で追加します。 残っている最高のビットレートレンディションは、使用されるものです。
上記のフィルタリングに基づいて演奏が許容されない場合、マスタープレイリストにリストされている最初のエンコーディングが使用されます。
よろしければ player 異なる優先順位のセットを使用するために、レンディション選択ロジックを完全に置き換えることが可能です。 たとえば、再生中にストールが増える可能性がある場合でも、解像度によって常に最も適切なレンディションを選択できます。 上のドキュメントを参照してください player.hls.selectPlaylist 詳細はこちら
MP4レンディションの選択
モバイルデバイスで実行し、MP4を再生する場合(上記のルールに基づく)、 player .4 MB /秒に最も近いビットレートを持つMP5を選択します。 デスクトップまたはラップトップデバイスの場合、3 MB /秒に最も近いデバイスが選択されます。