Estoy tratando de crear una aplicación web de transmisión de audio para múltiples usuarios y he estado investigando cómo hacerlo.
Tengo una pista sobre el uso de WEBRTC o RTMP y codificadores de audio, pero realmente no entiendo estas tecnologías y cuál será mejor para transmitir un sonido de audio HD claro a millones de usuarios. Necesito alguna pista sobre cómo hacer esto para permitir que varios usuarios transmitan al mismo tiempo en la aplicación web.
Estoy usando JavaScript para este proyecto.
RTMP es un protocolo muerto que se usó para Flash. La única razón por la que lo ve hoy es por la compatibilidad con codificadores heredados (generalmente en el lado del video) que no son compatibles con los protocolos modernos.
WebRTC es una pila de tecnología completa diseñada para transmitir la latencia más baja posible de transmisiones de medios. Su objetivo original era la transmisión de igual a igual, pero ha aumentado su uso para la transmisión de servidor a cliente. Si está transmitiendo a millones de usuarios, sin duda no usará WebRTC.
Con ese tipo de tráfico, probablemente querrá usar los CDN existentes basados en archivos, que son mucho más asequibles que la transmisión WebRTC. Para utilizar estos CDN, necesitará un protocolo de transmisión segmentado como HLS o DASH. Debido a las políticas anticompetitivas de Apple en iOS, está atrapado con HLS entre los dos (a menos que elija admitir ambos).
Debería decir... un millón de oyentes es mucho. Ese tipo de números son muy raros en línea. Si tiene expectativas más razonables, también puede considerar Icecast, que es muy fácil de configurar y tiene una gran cantidad de alojamiento asequible disponible.