Herausgeber Maximale Bitrate
Dieses Thema enthält Informationen zur Einstellung der maximalen Video-Bitrate mithilfe des Vonage Video Android-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 PublisherKit .VideoBitratePreset enum enthält voreingestellte Werte:
VideoBitratePresetDefaultVideoBitratePresetBwSaverVideoBitratePresetExtraBwSaverVideoBitratePresetCustom
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 Funktion PublisherKit.getVideoBitratePreset() Methode:
PublisherKit.VideoBitratePreset retrievedBitratePreset = publisherKit.getVideoBitratePreset();
System.out.println("The video bitrate preset is: " + retrievedBitratePreset);
Um eine Voreinstellung zu setzen, rufen Sie die Funktion PublisherKit.setVideoBitratePreset() Methode. Diese Methode enthält einen Parameter: preset - einen Wert aus der VideoBitratePreset enum. Verwenden Sie nicht VideoBitratePresetCustom.
Beispiel:
PublisherKit.VideoBitratePreset bitratePreset = PublisherKit.VideoBitratePreset.VideoBitratePresetBwSaver;
publisherKit.setVideoBitratePreset(bitratePreset);
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 maximale Videobitrate zu erhalten, die derzeit für einen Publisher eingestellt ist, rufen Sie die PublisherKit.getMaxVideoBitrate() Methode. Sie gibt die aktuell eingestellte maximale Bitrate (in Bits pro Sekunde) zurück. Wenn kein benutzerdefinierter Wert eingestellt ist, gibt die Methode 0 zurück.
Beispiel:
int retrievedMaxVideoBitrate = publisherKit.getMaxVideoBitrate();
System.out.println("The maximum video bitrate is: " + retrievedMaxVideoBitrate + " kbps");
Um einen benutzerdefinierten Wert für die maximale Bitrate (anstelle einer Voreinstellung) festzulegen, verwenden Sie die PublisherKit.setMaxVideoBitrate() Methode. Diese Methode hat einen Parameter: maxVideoBitratedie gewünschte maximale Bitrate (in Bits pro Sekunde). Die maxVideoBitrate Wert muss zwischen 5.000 und 10.000.000 liegen.
Beispiel:
int maxVideoBitrate = 300000; // 300 kbps
publisherKit.setMaxVideoBitrate(maxVideoBitrate);
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; // 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.");
}
Aufrufen der getVideoBitratePreset() Methode nach der Einstellung einer benutzerdefinierten Bitrate zurück 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.");
}
Die PublisherKit.getMaxVideoBitrate() Methode gibt 0 zurück, wenn der Verleger eine Voreinstellung verwendet.
// 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;