Attraverseremo gli stream (media), Ray

Joe Medley
Mario Bianchi

Attualmente, quando si utilizzano Media Source Extensions (MSE) in Chrome, non è possibile passare da stream criptati a stream in chiaro. Ciò non è in realtà vietato dalla specifica MSE. Piuttosto, questa limitazione riguarda principalmente il modo in cui la pipeline multimediale è configurata per supportare le Encrypted Media Extensions (EME).

MSE richiede che gli stream multimediali inizino con un segmento di inizializzazione che include informazioni come i dati di inizializzazione del codec e informazioni di crittografia. Generalmente, il segmento di inizializzazione si trova all'inizio di un file multimediale. Di conseguenza, quando i contenuti multimediali vengono collegati a un elemento multimediale tramite download o MSE, "funzionano".

Il problema si verifica quando provi a modificare le caratteristiche dei contenuti multimediali durante lo stream. La modifica delle caratteristiche dei contenuti multimediali richiede il passaggio di un nuovo segmento di inizializzazione. Per la maggior parte delle caratteristiche, questo metodo funziona. La riproduzione continua. Fanno eccezione le impostazioni di crittografia. Le impostazioni di crittografia del primo segmento di inizializzazione indicano solo se i segmenti di streaming possono essere criptati, il che significa che è possibile inserire segmenti multimediali chiari nello stream. Ne consegue che un flusso non criptato con un solo segmento criptato richiede che le informazioni di crittografia siano incluse nel segmento di inizializzazione. Per questo motivo, l'inserimento di annunci richiede soluzioni alternative che non si applicano ad altre piattaforme.

A partire da Chrome 58, tutto questo cambia. Ora puoi passare dalla modalità criptata a quella non criptata nello stesso flusso. Ciò migliora la compatibilità grazie alla corrispondenza del comportamento già esistente in Firefox ed Edge.

Questo presenta alcune avvertenze. Innanzitutto, se prevedi segmenti criptati nei tuoi stream multimediali, devi impostare anticipatamente MediaKeys. Come in precedenza, non puoi combinare HTTP e HTTPS nella stessa origine.