#130 – Streaming video

#130 – Streaming video

 
Play/Pause Episode
00:00 / 11:05
Rewind 30 Seconds
1X

Apri l’app di Netflix, fai play e inizi a guardare il film, subito, senza attese e senza scatti. Dietro a questa semplice azione si nasconde una quantità di tecnologia che non ci si immagina. Ma davvero tanta. Una parte che lavora anche contro di noi.

Pillole di Bit (https://www.pilloledib.it) è un podcast indipendente realizzato da Francesco Tucci, se vuoi contribuire alla realizzazione puoi usare Paypal, Satispay, il vecchio IBAN (contattami per chiedermelo) oppure i BitCoin (vedi QR code nella barra laterale del sito)
Se vuoi metterti con contatto con me puoi scegliere tra diverse piattaforme:
Telegram (un gruppo dove discutere degli argomenti del podcast)
Twitter del podcast e Twitter personale (il social che amo di più)
La mail (se mi vuoi scrivere in modo diretto e vuoi avere più spazio per il tuo messaggio, puoi anche scrivere crittografato usando la mia chiave pubblica PGP)

Rispondo sempre

Se ti serve della consulenza tecnica, puoi avere tutte le informazioni alla mia pagina professionale

Se questo podcast ti piace, parlane con un amico e faglielo ascoltare!

Realizzo anche un altro podcast, sui videogiochi, facili, economici e affrontabili, si chiama Pillole di Videogiochi


Ciao a tutti e bentornati all’ascolto di Pillole di Bit, questa è la puntata 130 e io sono, come sempre, Francesco.

Un avviso prima di iniziare. Per un caso fortuito e non voluto, il venerdì prima dell’uscita di questa puntata di Pillole di bit, Gianfranco Giardina, che io ascolterei parlare di tecnologia esattamente come ascolterei parlare di storia Francesco Barbero, per ore ed ore, ha proprio parlato, nella trasmissione 2024, dell’argomento della puntata che state per ascoltare: dello streaming video.
Questa puntata era già scritta, quindi è uscita lo stesso, il mio punto di vista è un po’ più profondo di quello di Giardina che è un po’ più più per le grandi masse. Diciamo che ascoltandoli entrambe avete una visione al 100% su come funziona un sistema che fa streaming di video su Internet. Vi lascio il link della puntata di 2024 nelle note dell’episodio.

Ok, fine del preambolo, iniziamo.
Da qualche anno a questa parte ormai, tutti usiamo qualche servizio di streaming, chi pagando un servizio e chi, ehm, in maniera meno legale.
L’utilizzo, per quasi tutti, è tutto sommato semplice: apro l’app del servizio al quale sono abbonato e passo la serata a decidere cosa guardare. Magari, per la serata successiva sono pronto e ho già deciso, quindi posso fare play e avviare la riproduzione.
Fare click sul tasto play scatena una serie di tecnicismi di una complessità che sfugge a moltissimi.
Il riassunto breve è che più la sensazione è “wow, ma come si vede bene”, più la complessità dietro a quel click è elevata.
Come prima cosa il fornitore del servizio deve essere certo che l’utente che ha fatto play sia un utente pagante e che l’app dal quale ha fatto play sia un’app certificata e non contraffatta.
In effetti questo controllo è fatto all’apertura dell’app, ma i servizi furbi, secondo me, lo fanno anche durante l’utilizzo.
Qui si apre tutta una gestione di certificati e firme digitali molto complesse, le stesse gestioni che permettono allo smartphone di scaricare l’app dallo store e di non poterla copiare manualmente da un telefono a un altro.
Il servizio poi si deve assicurare che l’utente provenga dal Paese dove in effetti si è registrato e che non stia trassando usando VPN o servizi di altro genere. Questo perché se Netflix ha pagato Warner Bros per far vedere un film ai suoi clienti in Francia, nel contratto, si impegna a fare in modo che tutti i suoi clienti al di fuori della Francia non possano vederlo.
Pure qui c’è un enorme lavoro di controllo e di elusione dei controlli, un po’ come guardie e ladri.
Appurato che siamo noi, che paghiamo, che abbiamo scaricato l’app giusta e che siamo nel Paese giusto può finalmente partire il film. 
No, ancora no.
Il film è un impegno di banda non da poco. Soprattutto perché Netflix deve erogare centinaia di migliaia di film in contemporanea in tutto il mondo, anzi, forse anche centinaia di milioni. Mica può partire tutto da un solo datacenter in una sola parte del mondo.
Nascono così le CDN, le Content Delivery Network, ho raccontato delle CDN nell’episodio 72 di questo podcast. In poche parole, gli stessi contenuti sono replicati su più datacenter in giro per il mondo e il sistema decide da quale fornire il contenuto che l’utente chiede in base al luogo e al carico dei vari datacenter.
Ma noi, anzi, questo mondo zeppo di tecnologia, non è contento di questa complessità e quindi aggiunge qualche strato in più.
A tutti piace vedere un film ad una risoluzione che sia gradevole per gli occhi, ma non tutti hanno una banda che possa permettere il passaggio della quantità di dati necessaria per questa risoluzione.
La semplifico molto, eh? Prendetela un po’ con le molle, ma è più o meno così.
Attualmente la risoluzione massima gestibile da un televisore di nuova generazione è 4k, quindi 3840×2160 pixel, un video compresso a questa risoluzione chiede un po’ più di 15Mpbs continuativi, per tutta la sua durata, Questo vuol dire che se la banda disponibile è di meno si deve scalare di risoluzione, passando magari a un FullHD a 1920×1080 che chiede solo 2,5Mbps o ancora di meno.
Ovviamente non è pensabile che i server del fornitore abbiano i file di ogni film e che li comprimano in tempo reale in base alle necessità del cliente, quindi per ogni film ci sono tante copie, sicuramente una per ogni risoluzione, ma anche a parità di risoluzione, ce ne sono alcune con compressioni diverse, più o meno compressi.
Comprimere un file video richiede un enorme sforzo in termini di calcolo, infatti la vita di Netflix è molto più facile di quella di DAZN che deve fare le cose in diretta.
Ma non si pensi che decodificare un file compresso sia proprio un’operazione leggera.
Soprattutto, se alla compressione si aggiunge una delle peggiori invenzioni del mondo digitale: il DRM
I sistemi di Digital Right Management sono delle schifezze che vengono aggiunte al software per evitare che questo venga copiato, duplicato o riprodotto su dispositivi diversi da quelli autorizzati.
Il risultato però è che mettono in difficoltà chi sta pagando il servizio, molta più difficoltà di chi ha scaricato il film. Vabbè, lasciamo perdere.
Per farla molto semplice prendo il file video e ci metto un lucchetto intorno, lo trasmetto lucchettato e consegno le chiavi solo al dispositivo finale che, prima di decodificare il file video, deve prima aprire il lucchetto.
In digitale, un lucchetto aggiunge un nuovo strato di crittografia, quindi vuol dire fare calcoli in più.
La tecnologia, di solito, non è qui tra noi solo per complicarci la vita, ma anche per rendercela più facile. Per questo sono stati progettati e realizzati chip appositi che di mestiere fanno solo la decodifica dei video compressi, la fanno bene, molto velocemente e con un bassissimo consumo. Per questo è possibile vedere un video in 4K codificato con HEVC, uno dei più comuni protocolli di compressione, senza problemi anche con una schedina piccola come il Raspberry Pi4.
Questa cosa si chiama elaborazione in hardware.
A seconda del browser Internet, la decodifica del DRM viene fatta da una determinata libreria. Internet Explorer ed Edge lo fanno con una libreria che usa l’accelerazione hardware, gli altri browser no.
Non so il nuovo Edge con il motore Chromium che è uscito qualche giorno fa.
Questo cosa vuol dire? Semplicemente che se si guarda Netflix o DAZN su un PC con una CPU non troppo veloce si potrebbe avere un cosiddetto “frame drop” cioè, visto che il processore non ce la fa, il sistema che fa la decodifica salta qualche frame per evitare di bloccare la riproduzione, un po’ come se l’addetto ai panini di una paninoteca, quando ha troppa coda di clienti, al posto di mettere due fette di carne e 4 di cetriolini mette una sola fetta di carne e due cetriolini per evitare che gli altri clienti aspettino troppo e se ne vadano.
Il nostro occhio è sensibile ed esigente, il frame drop è molto fastidioso, il fornitore del servizio non vuole che l’utente provi una sensazione di fastidio, quindi decide che con i browser che non sono Internet Explorer o Edge la risoluzione massima visualizzabile, anche se avete un monitor enorme, sarà sempre un HD ready, quidni 720 righe invece di 1080.
Dite grazie ai sistemi DRM.
Io invece ringrazio Gabriele per aver spiegato, in modo molto più succinto, tutto il discorso che vi ho fatto adesso, e che trovate sul suo sito Gabriele.tips, trovate il link diretto nelle note dell’episodio.

I contatti
Trovate tutti i contatti e i modi per sostenermi in questo progetto direttamente nelle note di questa puntata o sul sito www.pilloledib.it, mi trovate su twitter, nel gruppo telegram, il canale che preferisco e che ormai conta più di 200 iscritti oppure via mail, se volete scrivere di più.
Se volete sostenermi con 5€ o più, compilate il form e vi spedisco gli adesivi a casa.
Grazie a chi ha donato in questa settimana!
Momento di promozione personale: trovate una mia intervista, nel senso che Alex mi ha intervistato, su Techno Pillz, il cuginopodocast di Pillole di Bit, parlo del mio progetto della Domotica fai da Me, di come ho iniziato e di cosa ho fatto per rendere la mia casa un po’ più controllata tutto in autonomia senza coinvolgere, dai, quasi, i grandi player del web. Il link, lo trovate ovviamente nelle note dell’episodio! Ringrazio tantissimo Alex per avermi ospitato nel suo podcast, che, se non ascoltate, bhe, ascoltatelo!

Il tip
Un ascoltatore che partecipa nel gruppo Telegram del podcast ha linkato un piccolo script che si può installare nel browser che apposta dei piccoli miglioramenti all’esperienza di visualizzazione dei film su Netflix nei browser, il link è complesso e quindi lo trovate nelle note dell’episodio. Grazie Sgnac!

Bene è proprio tutto, non mi resta che salutarvi e darvi appuntamento alla prossima puntata.

Ciao!