パブリッシャー最大ビットレート

このトピックでは、 Vonage Video WebクライアントSDKを使用して、動画の最大ビットレートを設定する方法について詳しく説明します。なお、このAPIは、 サポート対象のすべてのブラウザの最新バージョンで利用可能です。エラーが発生した場合は、クライアントが最新のブラウザバージョンを使用していることを確認してください。

パブリッシャーの最大ビットレート API の概要については、以下を参照してください。 本題.

プリセットの設定と取得

パブリッシャ・オブジェクトには以下が含まれます。 setVideoBitratePreset() そして getVideoBitratePreset() メソッドを使用する。その setVideoBitratePreset() メソッドは以下を受け付ける 文字列値 'DEFAULT'、'BW_SAVER'、または 'EXTRA_BW_SAVER'(あるいは、それらの小文字の対応形)。 と getVideoBitratePreset() メソッドはこれらの 値 (または 'CUSTOM') を返します。参照 ビデオ・ビットレート・プリセット 詳しくは プリセットの詳細をご覧ください。

に注意してください。 getVideoBitratePreset() メソッドが返す undefined プリセットやビットレートが設定されていない場合。

について setVideoBitratePreset() メソッドには1つのパラメータがあります: preset希望のプリセットを選択します。

console.log(publisher.getVideoBitratePreset());  // undefined

await publisher.setVideoBitratePreset('BW_SAVER');  // or 'DEFAULT' or 'EXTRA_BW_SAVER'

console.log(publisher.getVideoBitratePreset());  // 'BW_SAVER'

について setVideoBitratePreset() メソッドは name プロパティを設定する:

  • OT_INVALID_PARAMETER - 無効なプリセット。DEFAULT'、'BW_SAVER'、または'EXTRA_BW_SAVER'でなければならない。

  • OT_UNEXPECTED_ERROR_CODE - 予期せぬエラーが発生し、プリセットが更新されませんでした。

への呼び出しをラップする。 setVideoBitratePreset() たとえプリセット名が正しくても、try/catchブロックの中のメソッドでプリセット名を変更することができる:

const invalidPreset = 'VERY_FAST';

try {
    await publisher.setVideoBitratePreset(invalidPreset);
} catch (err) {
    console.error(err.name);
    // 'OT_INVALID_PARAMETER'
}

生ビットレートの値の設定と取得

定義済みのプリセットが適切でない場合は、カスタムRAWビットレート値を手動で設定できます。

パブリッシャーに現在設定されている最大ビデオビットレートを取得するには getMaxVideoBitrate() メソッドを呼び出します。これは、現在設定されている最大ビットレート(ビット/秒)を返します。カスタム値が設定されていない場合、この関数は undefined.

console.log(publisher.getMaxVideoBitrate());

プリセットの代わりに)カスタム最大ビットレート値を設定するには setMaxVideoBitrate() メソッドを使用します。この関数にはパラメータが 1 つあります: bitrateBps希望の最大ビットレート(ビット/秒)を5,000から10,000,000の間で指定する。

const new_bitrate = 300000; // 300 kbps
await publisher.setMaxVideoBitrate(new_bitrate);

について setMaxVideoBitrate() メソッドは name プロパティを設定する:

  • OT_INVALID_PARAMETER - 無効なビットレート。値は0か、5000から10000000の間の数値でなければならない。
  • OT_UNEXPECTED_ERROR_CODE - 予期せぬエラーが発生し、ビットレートが更新されませんでした。

への呼び出しをラップする。 setVideoBitratePreset() メソッドを try/catch ブロックの中に置く。

参照 未加工ビットレート値の設定 をご覧ください。

特例

最大ビットレート値を0に設定すると、それまで設定されていたビットレート制限が解除され、デフォルトの動作に戻ります。

const zero_bitrate = 0;  // no limitations
const int new_bitrate = 300000; // 300 kbps
publisher.setMaxVideoBitrate(new_bitrate);
// publisher.getMaxVideoBitrate() === 300000

publisher.setMaxVideoBitrate(zero_bitrate);
// publisher.getMaxVideoBitrate() === 0

を呼び出す。 getVideoBitratePreset() メソッドで0以外のカスタムビットレートを設定すると、次のように返される。 CUSTOM.

const zero_bitrate = 0;  // no limitations
const new_bitrate = 1000000; // 1 mbps
publisher.setMaxVideoBitrate(new_bitrate);
// publisher.getVideoBitratePreset() === 'CUSTOM'

publisher.setMaxVideoBitrate(zero_bitrate);
// publisher.getVideoBitratePreset() === 'DEFAULT'

パブリッシャーがプリセットを使用している場合、raw bitrate ゲッターは 0 を返す。

let bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0

publisher.setVideoBitratePreset('bw_saver);
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0

publisher.setVideoBitratePreset('extra_bw_saver');
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0

publisher.setMaxVideoBitrate(200000);
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 200000

publisher.setVideoBitratePreset('default');
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0