Come funziona la codifica live stream?| Codifica video

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.

Share facebook icon linkedin icon twitter icon email icon

Codifica live stream

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Comprendere perché si codificano i file video
  • Scoprire come funziona la codifica del live stream
  • Scoprire come il miglioramento al processo di codifica del live stream può ridurre la latenza

Cos'è il live streaming?

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.

Cos'è la codifica 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:

  1. Inviare attraverso Internet file video non compressi richiede troppo tempo per essere un'alternativa percorribile.
  2. Il video deve essere in un formato interpretabile da qualsiasi dispositivo utente (smartphone, laptop, PC, ecc.).

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.

Come funziona la codifica del live stream?

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 più usato oggi si chiama H.264, ma stanno prendendo piede standard quali VP9, AV1 e HEVC. Questo processo di codifica comprime il video rimuovendo le informazioni visive superflue. Ad esempio, in uno stream di una persona che parla davanti a uno sfondo con il cielo blu, il cielo blu non deve essere renderizzato di nuovo per ogni secondo del video, visto che non cambierà molto. Quindi, il cielo blu può essere eliminato dalla maggior parte dei frame 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.

In che modo le tecnologie più moderne stanno velocizzando il live streaming?

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.

In che modo le CDN stanno migliorando l'accelerazione del live streaming?

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 servire a diversi utenti simultaneamente. Questo reintroduce il problema di latenza che la codifica a blocchi dovrebbe, in teoria, risolvere.

Per velocizzare il live 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 200 città in oltre 100 paesi, consentendo agli utenti in tutto il mondo di sintonizzarsi su stream live in tempo reale e di alta qualità.