PROBLEMA:
WebRTC nos brinda conexiones de video / audio peer-to-peer. Es perfecto para llamadas p2p, hangouts. Pero, ¿qué pasa con la transmisión (uno a muchos, por ejemplo, 1 a 10000)?
Digamos que tenemos una emisora "B" y dos asistentes "A1", "A2". Por supuesto, parece tener solución: simplemente conectamos B con A1 y luego B con A2. Entonces, B envía la transmisión de video / audio directamente a A1 y otra transmisión a A2. B envía transmisiones dos veces.
Ahora imaginemos que hay 10000 asistentes: A1, A2, ..., A10000. Significa que B debe enviar 10000 flujos. Cada transmisión es de ~ 40 KB / s, lo que significa que B necesita una velocidad de salida de Internet de 400 MB / s para mantener esta transmisión. Inaceptable.
PREGUNTA ORIGINAL (OBSOLETA)
¿Es posible de alguna manera resolver esto, entonces B envía solo una transmisión en algún servidor y los asistentes simplemente extraen esta transmisión de este servidor? Sí, esto significa que la velocidad de salida en este servidor debe ser alta, pero puedo mantenerla.
¿O quizás esto signifique arruinar la idea de WebRTC?
NOTAS
Flash no funciona para mis necesidades debido a la mala UX para los clientes finales.
SOLUCIÓN (NO REALMENTE)
26.05.2015 - No existe una solución de este tipo para la transmisión escalable para WebRTC en este momento, donde no usa servidores de medios en absoluto. Existen en el mercado soluciones tanto del lado del servidor como híbridas (p2p + del lado del servidor según las diferentes condiciones).
Sin embargo, hay algunas tecnologías prometedoras como https://github.com/muaz-khan/WebRTC-Scalable-Broadcast pero necesitan responder a esos posibles problemas: latencia, estabilidad general de la conexión de red, fórmula de escalabilidad (probablemente no sean escalables al infinito ).
SUGERENCIAS
- Disminuya la CPU / el ancho de banda ajustando los códecs de audio y video;
- Consiga un servidor de medios.