レンディション選択用プラグイン

ブライトコーブでは 1 つの動画ソースから解像度とビットレートの異なる 1 本以上のレンディションを作成することができます。これらレンディションは多重ビットレートストリーミングという、視聴者側の接続速度に最も適した解像度およびビットレートの動画を配信する機能で用いられます。

また複数のレンディションを用意してユーザーにどのレンディションで再生したいのかを選択させることもの可能です。それを実現するために、プレーヤーに埋め込み可能な「複数のレンディションから 1 つを選択させるコンボボックス」をご紹介します。

この記事は以下の方を対象に書いています。

  1. BEMLよるプレーヤーのカスタマイズができる知識がある方
  2. プレーヤーにプラグインを設定できる知識がある方

今回利用するプラグインは以下から取得が可能です。

パッケージ一式
Download Package (.ZIP)

最新ソース
GitHub
 

■ 概要
使用するのは RenditionSelector.swf というプラグインで、これをプレーヤーのプレーヤーのプラグインとして設定して BEML に "renditionCombo" という名前のコンボボックスをいれることで、複数レンディションから1つを選択するコンボボックスをプレーヤーに入れることが可能です。設定方法はこの後 1 つ 1 つ説明します。

このプラグインはプログレッシブダウンロード、ストリーミングどちらの配信方法でも利用可能です。ただしプログレッシブダウンロードの場合はレンディションを切り替えた時、再生が先頭から開始します。

 

 

 

■ 設定方法
プラグインの指定例を以下に示します。

RenditionSelector.swf?choices=LOW,200-400|MED,700-900|HIGH,1000-1300|HD,1600-2000&default=MED&spinner=true&spinnerbg=false

この例では 4 つの選択肢をコンボボックスに登録します。そして選択したビットレートレンジに該当するレンディションが再生の対象となります。例えば HD の場合は 1600kbps ~ 2000kbps のビットレートのレンディションが再生の対象となります。もし該当するレンディションが存在しない場合はその選択肢はコンボボックスから削除されます。また選択したビットレートレンジ内に複数のレンディションが該当する場合にはクライアントの帯域に一番適したレンディションが再生の対象となります。
 

■ パラメータの説明

  • choicesに含まれる各項目は |(パイプ)で分けます
  • コンボボックス内に表示されるラベルとエンコーディングレンジ指定は ,(カンマ)で分けます
  • エンコーディングレンジは -(ダッシュ)で分けます

ラベルとして指定している HD, HIGH, MED, LOW, AUTO に特別の意味はありませんのでラベルは任意の文字列に置き換えることができます。

default パラメータはどの選択肢をデフォルトで選択させるかを指定します。
spinner パラメータはレンディション切り替え時に表示されるスピナー(クルクルまわるアニメーション)の表示・非表示の指定をします。表示する場合には true、非表示にする場合には false を指定します。
spinnerbg はスピナー表示時にバックグラウンドを表示・非表示するかを指定をします。表示する場合には true、非表示にする場合には false を指定します。
 

■ BEML の設定
BEML には id が "renditionCombo" であるコンボボックスコンポーネントを含める必要があります。サンプルには 2 種類の BEML テンプレートが含まれていますので参考にしてください。
 

最後に、プレーヤーサイズが小さいと画質の違いがあまりよくわかりません。全画面で再生すると各レンディションの違いがよくわかりますので是非全画面で再生してレンディションの画質の違いを体感してみてください。