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 Client SDK do Vonage Video. Observe que a API é compatível com as versões mais recentes de todos os navegadores compatíveis. Caso encontre erros, certifique-se de que o cliente esteja usando uma versão atualizada do navegador.
- 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 objeto Publisher inclui setVideoBitratePreset() e
getVideoBitratePreset() métodos. O setVideoBitratePreset() O método aceita
valores do tipo string — 'DEFAULT', 'BW_SAVER' ou 'EXTRA_BW_SAVER' (ou suas
versões em letras minúsculas) — e o getVideoBitratePreset() O método retorna esses
valores (ou 'CUSTOM'). Consulte Predefinições de taxa de bits de vídeo para
obter mais detalhes sobre essas predefinições.
Observe que o getVideoBitratePreset()
o método retorna undefined se nenhuma predefinição ou taxa de bits tiver sido definida anteriormente.
O setVideoBitratePreset() O método tem um parâmetro: preset, a predefinição desejada.
Exemplo:
console.log(publisher.getVideoBitratePreset()); // undefined
await publisher.setVideoBitratePreset('BW_SAVER'); // or 'DEFAULT' or 'EXTRA_BW_SAVER'
console.log(publisher.getVideoBitratePreset()); // 'BW_SAVER'
O setVideoBitratePreset() O método pode gerar um erro com o name propriedade do objeto de erro definida da seguinte forma:
-
OT_INVALID_PARAMETER- Predefinição inválida. Deve ser 'DEFAULT', 'BW_SAVER' ou 'EXTRA_BW_SAVER'. -
OT_UNEXPECTED_ERROR_CODE- Ocorreu um erro inesperado, e a predefinição não foi atualizada.
Envolva a chamada para o setVideoBitratePreset() método em um bloco try/catch, mesmo que o nome predefinido esteja correto:
const invalidPreset = 'VERY_FAST';
try {
await publisher.setVideoBitratePreset(invalidPreset);
} catch (err) {
console.error(err.name);
// 'OT_INVALID_PARAMETER'
}
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 getMaxVideoBitrate() método de um objeto Publisher. Ele retorna a taxa de bits máxima definida no momento (em bits por segundo). Se nenhum valor personalizado estiver definido, a função retorna undefined.
Exemplo:
console.log(publisher.getMaxVideoBitrate());
Para definir um valor personalizado para a taxa de bits máxima (em vez de uma predefinição), use o setMaxVideoBitrate() método on de um objeto Publisher. Essa função possui um único parâmetro: bitrateBps, a taxa de bits máxima desejada (em bits por segundo), entre 5.000 e 10.000.000.
Exemplo:
const new_bitrate = 300000; // 300 kbps
await publisher.setMaxVideoBitrate(new_bitrate);
O setMaxVideoBitrate() O método pode gerar um erro com o name propriedade do objeto de erro definida da seguinte forma:
OT_INVALID_PARAMETER- Taxa de bits inválida. O valor deve ser 0 ou um número entre 5.000 e 10.000.000.OT_UNEXPECTED_ERROR_CODE- Ocorreu um erro inesperado e a taxa de bits não foi atualizada.
Envolva a chamada para o setVideoBitratePreset() método em um bloco try/catch, mesmo que o número passado seja válido.
Veja Definição de valores de taxa de bits bruta para mais detalhes.
Casos especiais
Definir o valor máximo da taxa de bits como 0 remove qualquer limitação de taxa de bits definida anteriormente, retornando ao comportamento padrão.
const zero_bitrate = 0; // no limitations
const int new_bitrate = 300000; // 300 kbps
publisher.setMaxVideoBitrate(new_bitrate);
// publisher.getMaxVideoBitrate() === 300000
publisher.setMaxVideoBitrate(zero_bitrate);
// publisher.getMaxVideoBitrate() === 0
Chamando o getVideoBitratePreset() O método, após definir uma taxa de bits personalizada diferente de 0, retorna CUSTOM.
const zero_bitrate = 0; // no limitations
const new_bitrate = 1000000; // 1 mbps
publisher.setMaxVideoBitrate(new_bitrate);
// publisher.getVideoBitratePreset() === 'CUSTOM'
publisher.setMaxVideoBitrate(zero_bitrate);
// publisher.getVideoBitratePreset() === 'DEFAULT'
O getter da taxa de bits bruta retorna 0 quando o editor está usando uma predefinição.
let bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0
publisher.setVideoBitratePreset('bw_saver);
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0
publisher.setVideoBitratePreset('extra_bw_saver');
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0
publisher.setMaxVideoBitrate(200000);
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 200000
publisher.setVideoBitratePreset('default');
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0