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

このトピックでは、Vonage Video Android Client SDKを使用して、動画の最大ビットレートを設定する方法について詳しく説明しています:

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

プリセットの設定と取得

について PublisherKit .VideoBitratePreset enumはプリセット値を含む:

  • VideoBitratePresetDefault
  • VideoBitratePresetBwSaver
  • VideoBitratePresetExtraBwSaver
  • VideoBitratePresetCustom

参照 ビデオ・ビットレート・プリセット これらのプリセットの詳細については

指定したパブリッシャー用に現在設定されているビデオビットレートプリセットを取得するには PublisherKit.getVideoBitratePreset() メソッドを使用する:

PublisherKit.VideoBitratePreset retrievedBitratePreset = publisherKit.getVideoBitratePreset();
System.out.println("The video bitrate preset is: " + retrievedBitratePreset);

プリセットを設定するには PublisherKit.setVideoBitratePreset() メソッドを使用します。このメソッドにはパラメータが1つある: preset - からの値です。 VideoBitratePreset 列挙する。を使用しないでください。 VideoBitratePresetCustom.

PublisherKit.VideoBitratePreset bitratePreset = PublisherKit.VideoBitratePreset.VideoBitratePresetBwSaver;
publisherKit.setVideoBitratePreset(bitratePreset);

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

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

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

int retrievedMaxVideoBitrate = publisherKit.getMaxVideoBitrate();
System.out.println("The maximum video bitrate is: " + retrievedMaxVideoBitrate + " kbps");

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

int maxVideoBitrate = 300000; // 300 kbps
publisherKit.setMaxVideoBitrate(maxVideoBitrate);

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

特例

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

int zeroBitrate = 0; // No limitations
int newBitrate = 300000; // 300 kbps

// Set the maximum video bitrate
publisherKit.setMaxVideoBitrate(newBitrate);

// Validate that the bitrate was set correctly
if (publisherKit.getMaxVideoBitrate() == newBitrate) {
    System.out.println("Max video bitrate set successfully to: " + newBitrate);
}

// Reset the maximum video bitrate to the default behavior
publisherKit.setMaxVideoBitrate(zeroBitrate);

// Validate that the bitrate was reset to default
if (publisherKit.getMaxVideoBitrate() == zeroBitrate) {
    System.out.println("Max video bitrate reset to default.");
}

を呼び出す。 getVideoBitratePreset() メソッドは、カスタムビットレートを設定した後に VideoBitratePresetCustom.

int newBitrate = 1000000; // 1 Mbps

// Set a custom bitrate
publisherKit.setMaxVideoBitrate(newBitrate);

// Validate that the preset is set to CUSTOM
if (publisherKit.getVideoBitratePreset() == PublisherKit.VideoBitratePreset.VideoBitratePresetCustom) {
    System.out.println("Video bitrate preset set to CUSTOM.");
}

// Reset bitrate to default
publisherKit.setMaxVideoBitrate(zeroBitrate);

// Validate that the preset is reset to DEFAULT
if (publisherKit.getVideoBitratePreset() == PublisherKit.VideoBitratePreset.VideoBitratePresetDefault) {
    System.out.println("Video bitrate preset reset to DEFAULT.");
}

について PublisherKit.getMaxVideoBitrate() メソッドはパブリッシャーがプリセットを使用している場合は 0 を返します。

// Get the current raw bitrate (default should be 0)
int bitrateBps = publisherKit.getMaxVideoBitrate();
assert bitrateBps == 0;

// Set the preset to BW_SAVER
publisherKit.setVideoBitratePreset(PublisherKit.VideoBitratePreset.VideoBitratePresetBwSaver);
bitrateBps = publisherKit.getMaxVideoBitrate();
assert bitrateBps == 0;

// Set the preset to EXTRA_BW_SAVER
publisherKit.setVideoBitratePreset(PublisherKit.VideoBitratePreset.VideoBitratePresetExtraBwSaver);
bitrateBps = publisherKit.getMaxVideoBitrate();
assert bitrateBps == 0;

// Set a custom bitrate
publisherKit.setMaxVideoBitrate(200000);
bitrateBps = publisherKit.getMaxVideoBitrate();
assert bitrateBps == 200000;

// Reset the preset to DEFAULT
publisherKit.setVideoBitratePreset(PublisherKit.VideoBitratePreset.VideoBitratePresetDefault);
bitrateBps = publisherKit.getMaxVideoBitrate();
assert bitrateBps == 0;