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'è live streaming?

Lo streaming è un metodo di trasmettere dati in Internet senza obbligare gli utenti finali a scaricare completamente i dati. Il live streaming è un tipo di streaming in cui lo stream è inviato in Internet in tempo reale, senza essere prima registrato e archiviato.

Lo streaming di videogiochi, stream di social media come Periscope e Facebook Live e le trasmissioni sportive professioniste su Internet sono tutti esempi di live streaming. Anche se è possibile fare lo streaming sia di audio che di video, in questo articolo ci concentreremo sullo streaming di video.

Cos'è la codifica video?

La codifica video è il processo per cui si comprimono i dati video così da poterli inviare da qualche altra parte. Il dispositivo che riceve lo stream, per esempio un tablet che un utente sta usando per guardare il suo programma preferito, decodifica i dati codificati. La codifica video segue degli standard noti così che lo stream codificato possa essere interpretato da diversi dispositivi.

La codifica video è necessaria per due motivi principali:

  1. Inviare attraverso Internet i file video non compressi richiede troppo tempo e non è pratico.
  2. Il video deve essere in un formato che può essere interpretato da qualsiasi dispositivo utente (smartphone, laptop, PC, ecc.).

In uno stream live di video, un dispositivo simultaneamente riceve degli input audiovisivi, li codifica e li invia al pubblico. 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 che acquisisce 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. Quello più usato al giorno d'oggi si chiama H.264, ma standard come VP9, AV1 e HEVC stanno prendendo piede. Questo processo di codifica comprime il video rimuovendo le informazioni visive ridondanti. 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, cosa che 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 è circa 20-30 secondi in ritardo al tempo reale. Questo è, 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 un CDN, il live stream potrebbe facilmente in battersi 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 di nome Concurrent Streaming Acceleration. La CDN di Cloudflare può trasmettere un segmento di video a molteplici utenti finali contemporaneamente mentre questo si sta ancora caricando, eliminando l'attesa che tutto il segmento si carichi. La rete globale di Cloudflare si estende su 200 città in oltre 95 paesi, consentendo agli utenti in tutto il mondo di sintonizzarsi su stream dal vivo in tempo reale e di alta qualità.