Avete trovato un servizio in streaming che trasmette il vostro evento preferito? Sappiate che è possibile vederlo comodamente con il riproduttore multimediale VLC, ricorrendo a un semplice trucco. In questo modo, è possibile evitare la “scomodità” di alcune pagine Web, che caricano continuamente elementi grafici superflui o invasivi. Di primo acchito può sembrare un espediente da veri esperti. In realtà non lo è.
Si basa sul fatto che la maggior parte dei siti Web che propongono contenuti multimediali in streaming utilizzano file in formato .m3u8, integrati nel corpo della pagina HTML o trasmessi al browser Web tramite codice JavaScript.
Cos’è il formato .m3u8
I file .m3u8 sono un tipo playlist e sono ampiamente utilizzati per lo streaming video su Internet. Sono file di testo codificati UTF-8 che contengono una lista di URL o percorsi di file che puntano a segmenti di video o altri file multimediali.
La tecnologia HTTP Live Streaming (HLS), sviluppata da Apple per lo streaming di contenuti multimediali, prevede proprio l’uso di file .m3u8. Nello streaming HLS, il contenuto video è suddiviso in segmenti più piccoli, solitamente di pochi secondi ciascuno. Il file .m3u8 elenca questi segmenti in ordine, permettendo al client di scaricare e riprodurre i segmenti in sequenza.
Quest’architettura permette il cosiddetto streaming adattivo: la qualità del video può cambiare dinamicamente in base alla larghezza di banda che l’utente ha a sua disposizione (è possibile verificarla con un normale speed test). Il file .m3u8 può includere riferimenti a diverse versioni dello stesso contenuto, con risoluzioni e bitrate differenti.
Come usare VLC per riprodurre i file .m3u8 pubblicati sul Web
Provate a visitare una pagina Web che riproduce contenuti multimediali quindi premere il tasto F12
per accedere agli Strumenti per gli sviluppatori. Per semplicità consideriamo di utilizzare Google Chrome o comunque un browser derivato da Chromium.
Nella parte superiore della finestra, scegliere Network quindi fate clic su pulsante Play che permette di avviare la riproduzione del flusso multimediale. Quasi istantaneamente, dovreste veder comparire, nella colonna Name, un riferimento a un file con estensione .m3u8
.
Cliccando su di esso, è necessario fare riferimento al riquadro Header sulla destra per poi selezionare e copiare i valore corrispondenti alle voci seguenti:
- Request URL
- Referer
- User-Agent
La prima voce compare nella parte superiore, le altre due si trovano al di sotto della sezione Request Headers.
Passare i parametri a VLC per avviare la riproduzione multimediale
Per trasferire i tre valori letti in precedenza a VLC, ci si deve portare all’interno della cartella locale in cui il riproduttore multimediale risulta installato.
In Windows, di solito basta digitare cmd
nella casella di ricerca, quindi il comando seguente:
cd "%program files%\videolan\VLC"
Se VLC fosse installato in una cartella diversa, va ovviamente specificata la directory corretta.
A questo punto, si può ricorrere alla sintassi che segue per passare a VLC il file .m3u8:
vlc --http-referrer "stringa_Referer" --http-user-agent "stringa_User-Agent" "stringa_Request URL"
È indispensabile aver cura di applicare le opportune sostituzioni, specificando i valori estratti al paragrafo precedente.
Come evitare che il caricamento della pagina sia interrotto
Il meccanismo descritto in precedenza è di solito perfettamente funzionante. Non risulta però applicabile a quei siti che usano indirizzi delle playlist dinamici. In questi casi, gli URL contengono il riferimento a una chiave, aggiornata da parte di un componente host.
Alcuni siti, inoltre, inseriscono un riferimento a una chiamata di debug all’interno di un ciclo loop infinito. Premendo il tasto F12
, quindi, il caricamento della pagina si interrompe prematuramente e il contenuto multimediale non risulta visualizzabile.
Come spiegato nell’articolo dedicato al funzionamento del debugger di Chrome, per risolvere il problema basta disattivare il breakpoint forzosamente impostato dal sito. In questo modo è possibile proseguire ed estrapolare i parametri presentati in precedenza.
La procedura descritta è applicabile solo per i siti Web che dispongono dei diritti di distribuzione dei contenuti che diffondono in rete.
L’immagine in apertura è tratta dal sito di VLC.