Saltar al contenido

Requisitos de ancho de banda de WebRTC

Solución:

Los requisitos de ancho de banda son casi los mismos que los requisitos de ancho de banda para opus y vp8. El audio en tiempo real suele tener una tasa de bits de 40-200 kbit / s. El video requiere al menos 200 kbit / s (500 kbit / s si desea ver las caras de las personas).

Según webrtc-experiment, el ancho de banda mínimo para opus es 6kbit / sy para vp8 100kbits / s. Entonces, en total, eso genera 106kbit / s, pero cuando se tiene en cuenta la sobrecarga de la pila de protocolos webrtc y las condiciones de red que varían constantemente, supongo que 200kbit / s es el mínimo si uno quiere video y audio estables.

Chrome y Firefox usan opus y vp8, por lo que los requisitos de ancho de banda deberían ser los mismos. Aunque no tengo datos concretos que lo demuestren.

Puede ver el tráfico actual generado por webrtc yendo a chrome: // webrtc-internals e inspeccionando todos los gráficos.

Para conferencias de dos partes, 500 kbit / s para una buena calidad de conferencia debería ser suficiente (por flujo, por lo que 1 Mbit / s de carga en la línea de un usuario). Estoy de acuerdo con la otra respuesta sobre eso.

Sin embargo, el ancho de banda de WebRTC de múltiples partes puede sufrir un cuello de botella no solo debido al ancho de banda de Internet de los participantes, sino también debido a los posibles límites de ancho de banda de un servidor de retransmisión de medios TURN, si usa uno, lo cual es necesario donde no son posibles las conexiones P2P debido a la dificultad. Configuraciones NAT. (Todos los detalles aquí.)

Intenté un cálculo aproximado de cuántos usuarios puede atender un servidor TURN antes de maximizar su ancho de banda:

  • Digamos que tenemos un ancho de banda de servidor de 100 Mbit / s en total (entrada + salida), y queremos un máximo de 60 Mbit / s utilizados por el tráfico WebRTC.

  • Entonces, por ejemplo, al configurar el servidor coturn TURN, configuraríamos el flujo de entrada y salida cada uno a 30 Mbit / s (3,750,000 Byte / s, usando bps-capacity=3750000).

  • El flujo de salida experimentará la carga más alta, porque dado norte participantes, habrá 1 flujo de entrada de video y n-1 flujos de salida de video por participante para que los maneje el servidor TURN. Significa que el cuello de botella será el flujo de salida combinado de 30 Mbit / s.

  • En el peor de los casos (donde no es posible ninguna conexión P2P negociada con STUN), este ancho de banda será suficiente para: 30 Mbit / s / 500 kbit / (s * stream) = 60 flujos de video.

  • Dado norte participantes, habrá n-1 flujos de salida por participante, lo que significa un total de n * (n-1) = n ^ 2 – n flujos. Nuestro max. Entonces, 60 transmisiones son suficientes para: n ^ 2 – n = 60 <=> n = 8.26 = ~ 8 participantes (cálculo).

Sin embargo, todavía no estoy seguro de cuán exacto es esto.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *