パブリッシャー最大ビットレート
このトピックでは、 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