Velocidad de bits máxima del editor
Puedes controlar de forma dinámica la velocidad de transmisión máxima que un editor puede utilizar para las transmisiones de vídeo de cámara.
Esta guía muestra cómo configurar los ajustes de la tasa de bits de vídeo, cómo interactuar con los distintos preajustes, cómo establecer tasas de bits sin procesar y las mejores prácticas para utilizar la API de forma eficaz.
Este tema incluye las siguientes secciones:
Visión general
Puede establecer dinámicamente la tasa de bits máxima que un editor puede utilizar al codificar medios. A continuación, el codificador de vídeo ajusta la tasa de bits de forma dinámica, utilizando un valor dentro del rango permitido, desde un umbral mínimo hasta la tasa de bits máxima establecida, en función de las condiciones de la red y otras restricciones.
Establecer el bitrate máximo puede ayudar a reducir el consumo de ancho de banda cuando un usuario se conecta desde una conexión con contador. Asegúrese de leer la Limitaciones abajo.
Limitaciones
Hay algunas limitaciones importantes que hay que tener en cuenta:
-
Condiciones de la red - La tasa de bits real alcanzada en la red puede ser inferior al valor establecido, debido a las estimaciones de la red en tiempo real, las fluctuaciones del ancho de banda y las limitaciones del backend.
-
Valores fuera de rango - Si proporciona un valor de bitrate fuera del rango válido, el SDK puede ignorar la solicitud o devolver un error.
Uso de la API
Preajustes de velocidad de bits de vídeo
La API ofrece preajustes de velocidad de bits de vídeo que simplifican la reducción de la calidad de vídeo sin necesidad de preocuparse por los ajustes del códec y de la sesión. Estos preajustes están diseñados para casos de uso comunes como videoconferencias y se adaptan a resoluciones de 480p, 540p, 720p y 1080p.
Los preajustes disponibles son:
-
POR DEFECTO — El ajuste predeterminado de la tasa de bits del SDK que ofrece una experiencia visual equilibrada para las transmisiones de vídeo.
-
BW_SAVER - Un ajuste de calidad media para videoconferencias que reduce la tasa de bits para ahorrar ancho de banda.
-
EXTRA_BW_SAVER - La tasa de bits más baja para la comunicación de vídeo esencial, que ofrece una baja calidad de vídeo pero un uso mínimo del ancho de banda.
Ten en cuenta que los valores exactos de la tasa de bits utilizados cuando se trata de preajustes son específicos de la implementación y dependen del códec negociado y del modo del medio (retransmitido o enrutado). Los SDK de cliente de la Video API incluyen métodos para establecer y obtener la tasa de bits preestablecida.
Ajuste de los valores de la tasa de bits bruta
Si las tasas de bits predefinidas no satisfacen tus necesidades, puedes establecer un valor de tasa de bits en bruto personalizado. Esto te permite definir límites específicos de bitrate dentro de un rango, desde 5.000 bps hasta 10.000.000 bps. Ten en cuenta que el valor sólo se aplica a la tasa de bits del codificador, por lo que la sobrecarga de la red sigue aplicándose además del valor elegido.
Los Client SDK de la Video API de Vonage incluyen métodos para establecer el valor de la tasa de bits sin procesar y para recuperarlo. Hasta que no se establezca una tasa de bits sin procesar, o hasta que solo se hayan establecido valores predefinidos, el método getter devuelve 0 (excepto en el SDK de JS, en el que el valor devuelto es indefinido). Una vez establecida la tasa de bits bruta, el método de lectura de la tasa de bits preestablecida devuelve «custom», lo que indica que se ha aplicado un valor personalizado. Sin embargo, no utilices el valor preestablecido «custom» en el método de escritura; simplemente establece el valor numérico específico de la tasa de bits que se va a utilizar como valor máximo.
Interacción de la tasa de bits y la capa de codificación con VP8 y escalabilidad habilitada
Al modificar la tasa de bits máxima cuando se utiliza VP8 escalable, se consigue una mayor eficiencia: el Client SDK activa o desactiva dinámicamente las capas de codificación en función de la tasa de bits disponible para garantizar que la transmisión de vídeo sea lo más eficiente posible. Este proceso adapta la resolución con la que el editor está publicando el contenido.
Las siguientes notas se aplican a la preajustado cuando se utiliza VP8:
-
DEFAULT— Este preajuste utiliza todas las capas de codificación disponibles. En el caso de una transmisión típica, esto incluye hasta tres capas (baja, media y alta). -
BW_SAVER— Este ajuste predefinido solo utiliza las dos primeras capas de codificación (calidad baja y media). Está diseñado para ahorrar ancho de banda, por lo que resulta adecuado para situaciones como las videoconferencias, en las que una alta calidad de vídeo puede no ser tan importante. -
EXTRA_BW_SAVER- Este preajuste reduce aún más la tasa de bits, utilizando sólo la capa de codificación base (la más baja). Este es el modo más eficiente en cuanto a ancho de banda, ya que proporciona la calidad mínima para una comunicación de vídeo significativa.
Cuando se establece un valor de tasa de bits sin procesar, si la tasa de bits proporcionada es insuficiente para mantener determinadas capas de codificación, el SDK desactiva automáticamente las capas superiores. Por ejemplo, si la tasa de bits es demasiado baja para las capas de calidad media o alta, esas capas se descartan y sólo se transmite la capa base.
Si la nueva tasa de bits proporcionada es lo suficientemente alta como para mantener más capas de codificación, el SDK reactiva las capas de codificación superiores, restaurando progresivamente la calidad del vídeo al volver a añadir las capas media y alta.
Este mecanismo garantiza que el flujo de vídeo siga siendo lo más eficiente posible, maximizando el uso del ancho de banda disponible sin comprometer la experiencia del usuario.
Ejemplos
Al inicio de una sesión, un editor utiliza el DEFAULT preajuste, que ofrece la máxima calidad de vídeo. En esta fase concreta de la sesión, supongamos que se ha negociado el códec VP8 no escalable. Sin embargo, tras un cambio de red a una conexión con límite de datos (por ejemplo, móvil), puedes reducir el ancho de banda de publicación utilizando el BW_SAVER preestablecido. Cuando se utiliza un preajuste para la tasa de bits máxima del editor, el Client SDK se asegura de que el nivel de calidad siga siendo el mismo independientemente de cualquier evento. Cuando la red vuelve a cambiar a una conexión ilimitada, puede restablecer el valor predeterminado configurando el parámetro DEFAULT preestablecido.
También puedes fijar el valor de la tasa de bits bruta para establecer un umbral superior de ancho de banda.
Para obtener más información sobre cada Client SDK, consulta lo siguiente:
Buenas prácticas
Para garantizar el mejor rendimiento y un uso óptimo del ancho de banda, sigue estas recomendaciones:
-
Uso de tasas de bits predefinidas — Siempre que sea posible, utiliza los ajustes predefinidos de velocidad de bits (
DEFAULT,BW_SAVER,EXTRA_BW_SAVER) para gestionar la calidad del vídeo. Estos ajustes predefinidos están pensados para situaciones habituales, como las videoconferencias, y garantizan un equilibrio entre la calidad del vídeo y la eficiencia del ancho de banda. Y lo que es más importante, ocultan los detalles de los códecs y los modos multimedia. -
Cuidado con los ajustes personalizados de bitrate - Aunque los ajustes personalizados de la tasa de bits te dan más control, su uso está ligado a detalles del códec que pueden cambiar durante la fase de negociación de WebRTC. Recomendamos utilizarlos con moderación y solo cuando sea necesario un umbral estricto de la tasa de bits.
-
No apliques tasas de bits personalizadas ni preajustes a los flujos de pantalla compartida - La codificación de flujos de pantalla compartida difiere de la codificación de flujos de cámara. El uso de la API de tasa de bits máxima para limitar un flujo de pantalla compartida puede degradar la calidad sin ofrecer ninguna mejora de ancho de banda.