Estoy trabajando en un sitio web que necesita transmitir video en vivo a los usuarios y, como tal, tuve que entender el lamentable estado de la tecnología actual de transmisión de video basada en navegador. Las soluciones más populares para la transmisión en vivo en la actualidad tienen problemas de compatibilidad; RTMP requiere Flash, HLS solo es compatible de forma nativa en Safari y Chrome para Android, DASH no es compatible de forma nativa en ninguna parte, y el uso de dash.js requiere Extensiones de origen de medios , que aún no son ampliamente compatibles.
Esto lleva a una pregunta que me parece obvia: ¿es posible usar una descarga progresiva simple como alternativa a protocolos como HLS, RTMP y DASH que requieren soporte de navegador o complementos?
La idea de usar la descarga progresiva para transmitir medios en vivo no tiene precedentes; la gente ya lo hace por audio. Herramientas como liveCaster le permiten transmitir audio MP3 en vivo a través de una única respuesta HTTP progresiva sin necesidad de un archivo MP3 pregrabado, y las bibliotecas como AmplitudeJS se han esforzado por agregar funciones relacionadas con este tipo de transmisión de audio en vivo .
Sin embargo, no he visto ninguna instancia de esta técnica utilizada en la naturaleza para video , y no puedo decir por qué. Parece que eliminaría una capa de problemas de compatibilidad complicados y complicados en el lado del navegador para una compensación relativamente pequeña. (Y la compatibilidad sigue siendo un gran problema para la transmisión en vivo, incluso cuando los profesionales lo hacen; si trato de ver videos en vivo en el iPlayer de la BBC en Firefox, solo me da un mensaje de error que me indica que instale Flash). Sin embargo, nadie está usando esta técnica, y nunca he visto a nadie mencionar la idea además de mí.
¿Por qué? ¿Existe una limitación fundamental que no veo que haría imposible simplemente transmitir un archivo de video como un MP4 a través de una descarga progresiva a medida que se genera, y reproducirlo en un <video>
elemento a medida que se descarga?