Sto lavorando su un sito web che ha bisogno di trasmettere video in diretta agli utenti, e come tale ho dovuto fare i conti con lo stato spiacevole dell'attuale tecnologia di streaming video basata su browser. Le soluzioni più popolari per lo streaming live al momento hanno tutti problemi di compatibilità; RTMP richiede Flash, HLS è supportato solo nativamente su Safari e Chrome per Android, DASH non è nativamente supportato ovunque e utilizzando dash.js richiede Media Source Extensions , che non sono ancora ampiamente supportate.
Questo mi porta a una domanda che a me sembra ovvia: è possibile utilizzare il semplice download progressivo in alternativa a protocolli come HLS, RTMP e DASH che richiedono supporto browser o plug-in?
L'idea di utilizzare il download progressivo per trasmettere contenuti multimediali dal vivo non è senza precedenti; la gente lo fa già per l'audio. Strumenti come liveCaster ti permettono di trasmettere in streaming audio MP3 in diretta attraverso una singola risposta HTTP progressiva senza bisogno di un file MP3 preregistrato e le librerie come AmplitudeJS hanno hanno fatto di tutto per aggiungere funzionalità relative a questo tipo di streaming audio dal vivo .
Non ho visto nessuna istanza di questa tecnica utilizzata in natura per video , tuttavia, e non so dirti perché. Sembra che rimuoverà uno strato di problemi di compatibilità lato browser disordinati e difficili per un compromesso relativamente limitato. (E la compatibilità è ancora un enorme problema per lo streaming live, anche quando i professionisti lo fanno, se provo a guardare video in diretta su iPlayer della BBC in Firefox, mi dà solo un messaggio di errore che mi dice di installare Flash.) Eppure nessuno sta usando questa tecnica, e non ho mai visto nessuno nemmeno menzionare l'idea oltre a me.
Perché? C'è una limitazione fondamentale che non sto vedendo che renderebbe impossibile lo streaming di un file video come un MP4 tramite download progressivo mentre viene generato, e riprodurlo in un elemento <video>
mentre viene scaricato?