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

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

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

プリセットの設定と取得

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

  • Default
  • BwSaver
  • ExtraBwSaver
  • Custom

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

指定したパブリッシャー用に現在設定されているビデオビットレートプリセットを取得するには Publisher.VideoBitratePreset 財産である:

var preset = publisher.VideoBitratePreset;
if (preset == VideoBitratePreset.BwSaver)
{
    Console.WriteLine("The publisher is using the BW_SAVER preset.");
}

プリセットを設定するには Publisher.VideoBitratePreset プロパティをVideoBitratePreset 列挙する。を使用しないでください。 Custom 値である。

publisher.VideoBitratePreset = VideoBitratePreset.BwSaver;
Console.WriteLine("Bitrate preset successfully set to BW_SAVER.");

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

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

現在の最大ビデオビットレート(ビット/秒)を取得するには、次のようにアクセスします。 Publisher.MaxVideoBitrate プロパティを設定します。カスタム値が設定されていない場合、0が設定される。

int maxBitrate = publisher.MaxVideoBitrate;
Console.WriteLine($"Current max video bitrate: {maxBitrate} bps");

カスタム最大ビットレートを設定するには(プリセットの代わりに)、値(5,000から10,000,000の間)を MaxVideoBitrate 財産である。

int newBitrate = 300000; // 300 kbps
publisher.MaxVideoBitrate = newBitrate;
Console.WriteLine($"Successfully set max video bitrate to {newBitrate} bps.");

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

特例

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

int zeroBitrate = 0;  // no limitations
int newBitrate = 300000;

publisher.MaxVideoBitrate = newBitrate;
System.Diagnostics.Debug.Assert(publisher.MaxVideoBitrate == newBitrate);

publisher.MaxVideoBitrate = zeroBitrate;
System.Diagnostics.Debug.Assert(publisher.MaxVideoBitrate == zeroBitrate);

カスタムビットレートを設定すると VideoBitratePreset プロパティを VideoBitratePreset.Custom:

publisher.MaxVideoBitrate = 1000000; // 1 Mbps
System.Diagnostics.Debug.Assert(publisher.VideoBitratePreset == VideoBitratePreset.Custom);

publisher.MaxVideoBitrate = 0;
System.Diagnostics.Debug.Assert(publisher.VideoBitratePreset == VideoBitratePreset.Default);

について MaxVideoBitrate プロパティはパブリッシャーがプリセットを使用している場合、0を返します:

publisher.VideoBitratePreset = VideoBitratePreset.BwSaver;
System.Diagnostics.Debug.Assert(publisher.MaxVideoBitrate == 0);

publisher.VideoBitratePreset = VideoBitratePreset.ExtraBwSaver;
System.Diagnostics.Debug.Assert(publisher.MaxVideoBitrate == 0);

publisher.MaxVideoBitrate = 200000;
System.Diagnostics.Debug.Assert(publisher.MaxVideoBitrate == 200000);

publisher.VideoBitratePreset = VideoBitratePreset.Default;
System.Diagnostics.Debug.Assert(publisher.MaxVideoBitrate == 0);