La codifica del live stream suddivide un video dal vivo in parti più piccole, le comprime e distribuisce i dati video attraverso una CDN. Gli aggiornamenti a questo processo stanno rendendo lo streaming dal vivo sempre più veloce.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
HTTP Live Streaming
Cos'è MPEG-DASH?
Cos'è il live streaming?
Cos'è lo streaming?
Formati per la codifica video
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Lo streaming è un metodo di trasmissione dati su Internet che non obbliga gli utenti finali a scaricare i dati in maniera integrale. Il live streaming è un tipo di streaming in cui lo stream è diramato su Internet in tempo reale, senza essere prima registrato e archiviato.
Lo streaming di videogiochi, gli stream di social media come Periscope e Facebook Live, e le trasmissioni sportive su Internet sono tutti esempi di live streaming. Anche se è possibile effettuare lo streaming sia di audio che di video, in questo articolo ci concentreremo sullo streaming video.
La codifica video è il processo tramite il quale si comprimono i dati video così da poterli inviare verso un'altra destinazione. Il dispositivo che riceve lo stream, per esempio il tablet che un utente sta usando per guardare il suo programma preferito, provvede alla decodifica dei dati. La codifica video segue degli standard noti così che lo stream codificato possa essere decodificato da un'ampia gamma di dispositivi.
La codifica video è necessaria per due motivi principali:
In uno stream live video, un dispositivo riceve contemporaneamente degli input audiovisivi, li codifica e li invia ai destinatari. La parte relativa alla codifica è fondamentale per consentire a una vasta gamma di dispositivi utente di ricevere e riprodurre il video.
Un live stream da una fonte di acquisizione video, per esempio una webcam, viene inviato a un server dove un protocollo di streaming come HLS o MPEG-DASH lo suddivide in segmenti più piccoli, ciascuno della durata di qualche secondo.
Il contenuto video viene quindi codificato utilizzando uno standard di codifica. Lo standard di codifica maggiormente utilizzato è chiamato H.264, ma sono in uso anche altri standard, come ad esempio H.265, VP9 e AV1. Il processo di codifica comprime il video rimuovendo le informazioni visive superflue. Ad esempio, nella trasmissione di qualcuno che parla sullo sfondo di un cielo blu, il cielo blu non deve essere renderizzato di nuovo a ogni secondo del video, dato che non cambia molto. Pertanto, il cielo può essere rimosso dalla maggior parte dei fotogrammi del video.
I dati video segmentati e compressi sono poi distribuiti usando una content delivery network (CDN). Senza una CDN, saranno davvero in pochi a poter visualizzare il live stream; la parte finale di questo articolo spiega perché.
La maggior parte dei dispositivi mobili hanno un codificatore integrato, e questo rende facile agli utenti non specializzati di eseguire un live stream su piattaforme di social media e app di messaggistica. Le aziende e i marchi che desiderano stream di qualità superiore utilizzano software o hardware di codifica propri, o entrambi.
Nella maggior parte dei live stream, il pubblico ancora incontra una latenza di 20-30 secondi, in altre parole, il contenuto che visualizza è in ritardo di circa 20-30 secondi rispetto al tempo reale. Ciò accade in parte perché ogni segmento di video deve caricarsi completamente prima di poter essere riprodotto, e possono volerci diversi secondi per caricare ciascun segmento.
Una soluzione per ovviare a tale ritardo si chiama codifica a blocchi o "chunking". Questa funziona suddividendo i segmenti video in blocchi ancora più piccoli. Questi sono poi codificati e i dispositivi che ricevono lo stream possono riprodurli prima che si carichi l'intero segmento.
Le CDN sono fondamentali per lo streaming dal vivo, perché rendono possibile distribuire lo stream agli utenti in punti geografici molto diversi. Inoltre, le CDN hanno molta più larghezza di banda per distribuire lo stream rispetto a un singolo server di origine. Senza una CDN, il live stream potrebbe facilmente imbattersi in problemi di larghezza di banda.
Tuttavia, la maggior parte delle CDN devono comunque caricare completamente un segmento video prima di poterlo consegnare a diversi utenti simultaneamente. Questo reintroduce il problema di latenza, che la codifica a blocchi dovrebbe risolvere.
Per velocizzare una diretta in streaming, Cloudflare offre una funzione chiamata Concurrent Streaming Acceleration. La CDN di Cloudflare può trasmettere un segmento video a molteplici utenti finali mentre questo si sta ancora caricando, senza dover attendere che si carichi completamente. La rete globale di Cloudflare si estende su 335 città in oltre 125 paesi, consentendo agli utenti in tutto il mondo di sintonizzarsi su dirette streaming in tempo reale e di alta qualità.