Herausgeber Maximale Bitrate
Dieses Thema enthält Informationen zur Einstellung der maximalen Video-Bitrate mithilfe des Vonage Video Windows-Client SDK:
- Ein Voreinstellung festlegen und abrufen
- Festlegen und Abrufen eines Rohwerts für die Bitrate
- Sonderfälle
Einen Überblick über die Publisher-API für die maximale Bitrate finden Sie unter dieses Thema.
Ein Voreinstellung festlegen und abrufen
Die VideoBitratePreset enum enthält voreingestellte Werte:
DefaultBwSaverExtraBwSaverCustom
Siehe Video-Bitrate-Voreinstellungen für Details zu diesen Voreinstellungen.
Um die aktuell konfigurierte Video-Bitratenvoreinstellung für einen bestimmten Publisher abzurufen, rufen Sie die Publisher.VideoBitratePreset Eigentum:
var preset = publisher.VideoBitratePreset;
if (preset == VideoBitratePreset.BwSaver)
{
Console.WriteLine("The publisher is using the BW_SAVER preset.");
}
Um eine Voreinstellung festzulegen, stellen Sie den Publisher.VideoBitratePreset Eigenschaft auf einen Wert aus derVideoBitratePreset enum. Verwenden Sie nicht die Custom Wert.
Beispiel:
publisher.VideoBitratePreset = VideoBitratePreset.BwSaver;
Console.WriteLine("Bitrate preset successfully set to BW_SAVER.");
Festlegen und Abrufen eines Rohwerts für die Bitrate
Wenn die vordefinierten Voreinstellungen nicht geeignet sind, können Sie manuell einen benutzerdefinierten Rohbitratenwert festlegen.
Um die aktuelle maximale Videobitrate (in Bits pro Sekunde) abzurufen, rufen Sie den Befehl Publisher.MaxVideoBitrate Eigenschaft. Wenn kein benutzerdefinierter Wert festgelegt ist, wird er auf 0 gesetzt.
Beispiel:
int maxBitrate = publisher.MaxVideoBitrate;
Console.WriteLine($"Current max video bitrate: {maxBitrate} bps");
Um eine benutzerdefinierte maximale Bitrate (anstelle einer Voreinstellung) festzulegen, weisen Sie dem Feld Bitrate einen Wert (zwischen 5.000 und 10.000.000) zu. MaxVideoBitrate Eigentum.
Beispiel:
int newBitrate = 300000; // 300 kbps
publisher.MaxVideoBitrate = newBitrate;
Console.WriteLine($"Successfully set max video bitrate to {newBitrate} bps.");
Siehe Einstellung von Rohbitratenwerten für weitere Einzelheiten.
Sonderfälle
Wenn Sie den Wert für die Rohbitrate auf 0 setzen, werden alle zuvor festgelegten Bitratenbeschränkungen aufgehoben und das Standardverhalten wird wiederhergestellt.
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);
Die Einstellung einer benutzerdefinierten Bitrate bewirkt, dass die VideoBitratePreset Eigenschaft zu setzen auf 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);
Die MaxVideoBitrate gibt 0 zurück, wenn der Verleger eine Voreinstellung verwendet:
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);