Taxa de bits máxima do editor
Este tópico inclui detalhes sobre como definir a taxa de bits máxima de vídeo usando o Vonage Client SDK para Android:
- Definir e recuperar uma predefinição
- Definir e recuperar um valor de taxa de bits bruta
- Casos especiais
Para obter uma visão geral da API de taxa de bits máxima do editor, consulte esse assunto.
Definir e recuperar uma predefinição
O PublisherKit .VideoBitratePreset A enumeração inclui valores predefinidos:
VideoBitratePresetDefaultVideoBitratePresetBwSaverVideoBitratePresetExtraBwSaverVideoBitratePresetCustom
Veja Predefinições de taxa de bits de vídeo para obter mais detalhes sobre essas predefinições.
Para recuperar a predefinição de taxa de bits de vídeo atualmente configurada para um determinado editor, chame a função PublisherKit.getVideoBitratePreset() método:
PublisherKit.VideoBitratePreset retrievedBitratePreset = publisherKit.getVideoBitratePreset();
System.out.println("The video bitrate preset is: " + retrievedBitratePreset);
Para definir uma predefinição, chame o PublisherKit.setVideoBitratePreset() método. Esse método inclui um parâmetro: preset — um valor do VideoBitratePreset enum. Não use VideoBitratePresetCustom.
Exemplo:
PublisherKit.VideoBitratePreset bitratePreset = PublisherKit.VideoBitratePreset.VideoBitratePresetBwSaver;
publisherKit.setVideoBitratePreset(bitratePreset);
Definir e recuperar um valor de taxa de bits bruta
Se as predefinições não forem adequadas, você pode definir manualmente um valor personalizado de taxa de bits bruta.
Para obter a taxa de bits máxima de vídeo definida atualmente para um editor, chame a função PublisherKit.getMaxVideoBitrate() método. Ele retorna a taxa de bits máxima definida no momento (em bits por segundo). Se nenhum valor personalizado estiver definido, o método retorna 0.
Exemplo:
int retrievedMaxVideoBitrate = publisherKit.getMaxVideoBitrate();
System.out.println("The maximum video bitrate is: " + retrievedMaxVideoBitrate + " kbps");
Para definir um valor personalizado para a taxa de bits máxima (em vez de uma predefinição), use o PublisherKit.setMaxVideoBitrate() método. Esse método possui um parâmetro: maxVideoBitrate, a taxa de bits máxima desejada (em bits por segundo). A maxVideoBitrate O valor deve estar entre 5.000 e 10.000.000.
Exemplo:
int maxVideoBitrate = 300000; // 300 kbps
publisherKit.setMaxVideoBitrate(maxVideoBitrate);
Veja Definição de valores de taxa de bits bruta para mais detalhes.
Casos especiais
Definir o valor da taxa de bits bruta como 0 remove qualquer limitação de taxa de bits definida anteriormente, retornando ao comportamento padrão.
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.");
}
Chamando o getVideoBitratePreset() O método, após definir uma taxa de bits personalizada, retorna 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.");
}
O PublisherKit.getMaxVideoBitrate() O método retorna 0 quando o editor está usando uma predefinição.
// 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;