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:

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:

  • VideoBitratePresetDefault
  • VideoBitratePresetBwSaver
  • VideoBitratePresetExtraBwSaver
  • VideoBitratePresetCustom

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;