Sto lavorando su un sito Web che deve trasmettere in streaming video in diretta agli utenti e, come tale, ho dovuto concentrarmi sul triste stato dell'attuale tecnologia di streaming video basata su browser. Le soluzioni più popolari per lo streaming live al momento hanno tutte problemi di compatibilità; RTMP richiede Flash, HLS è supportato solo in modo nativo su Safari e Chrome per Android, DASH non è supportato in modo nativo da nessuna parte e l'utilizzo di dash.js richiede l' estensione di sorgenti multimediali , che non sono ancora ampiamente supportate.
Questo porta a una domanda che per me sembra ovvia: è possibile utilizzare un semplice download progressivo come alternativa a protocolli come HLS, RTMP e DASH che richiedono il supporto del browser o plugin?
L'idea di utilizzare il download progressivo per lo streaming di contenuti multimediali in diretta non ha precedenti; le persone lo fanno già per l'audio. Strumenti come liveCaster ti consentono di trasmettere in streaming audio MP3 live attraverso una singola risposta HTTP progressiva senza la necessità di un file MP3 preregistrato e librerie come AmplitudeJS hanno fatto di tutto per aggiungere funzionalità relative a questo tipo di streaming audio live .
Non ho visto nessun caso di questa tecnica utilizzata in natura per i video , e non so dire perché. Sembra che eliminerebbe uno strato di problemi di compatibilità lato browser disordinati e difficili per un compromesso relativamente piccolo. (E la compatibilità è ancora un grosso problema per lo streaming live, anche quando i professionisti lo fanno; se provo a guardare video live 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 menzionare l'idea oltre a me.
Perché? C'è una limitazione fondamentale che non vedo che renderebbe impossibile lo streaming di un file video come un MP4 tramite download progressivo mentre viene generato e riprodurlo in un <video>
elemento durante il download?