YouTube e la sua architettura: come sono erogati video di alta qualità con bassa latenza

In questo articolo tenteremo di fare una panoramica sull’ architettura di elaborazione e distribuzione dei video di YouTube. In particolare come per ogni canale YouTube renda disponibili all’utente i propri contenuti video senza apprezzabili ritardi

Indice

YouTube e la transcodifica dei video

Un elemento chiave nel processo di archiviazione e distribuzione di video di alta qualità su YouTube è la transcodifica video. Quando un video viene caricato sul canale YouTube, viene prima transcodificato dal suo formato originale a un formato intermedio temporaneo per facilitare la conversione del contenuto in diverse risoluzioni e formati.

La transcodifica video di YouTube (o la codifica dei video) è una tecnica per convertire un video in più formati e risoluzioni differenti per renderlo riproducibile su diversi dispositivi e larghezze di banda diverse. Ciò consente a YouTube di riprodurre video in streaming in diverse risoluzioni come 144p, 240p, 360p, 480p, 720p, 1080p e 4K.

video_canale_youtube_azienda

Streaming adattivo

L’erogazione di contenuti in base alla larghezza di banda della rete e al tipo di dispositivo dell’utente finale è nota come streaming adattivo. Negli anni YouTube si è particolarmente evoluto in questo settore, riducendo via via il tempo di buffering, cioè di attesa per l’utente tra richiesta e visione.

Se fosse disponibile solo una versione, la migliore, a 4K nella risoluzione originale, verrebbero persi tutti gli spettatori che non dispongono di una rete a larghezza di banda adeguata. Se di interesse, in questo articolo su come fare una diretta streaming con YouTube si è vista la banda necessaria

I codec preferiti da YouTube

I file video di grandi dimensioni vengono compressi in dimensioni inferiori con l’aiuto dei codec.

I codec contengono algoritmi efficienti che comprimono un video in dimensioni più piccole.

Uno dei codec video più comunemente usato è l’ H264, evolutosi in H265 e in VP9, usato sempre più spesso da YouTube per i canali aziendali

Quando ci si pone la classica domanda  “come fare video su YouTubebisognerà esere sicuri di sapere come YouTube codifica i propri contributi

video_canale_youtube_azienda_002

Transcodifica lossless e lossy

La transcodifica è possibile in due modi, riferiti alla quantità di dati: senza perdita e con perdita.

Senza perdita (lossless) di dati durante la transcodifica dal formato originale verso un nuovo formato, non si verifica alcun alleggerimento del file.

Nell’approccio lossy (con perdita), alcuni dati vengono eliminati dal video originale per ridurre le dimensioni del nuovo formato. I dati persi non possono essere recuperati.

L’esempio classico è la delusione di vedere una bella immagine proveniente da una Dslr riprodotta con meno dettagli quando caricata su un social network. Lo stesso vale per i video in formato verticale

Questo avviene per una semplice ragione:  la piattaforma ha compresso l’immagine perdendone alcuni dati al fine di ridurne le dimensioni, affinchè tutte le connessioni possano visualizzarla facilmente senza subire alcun tipo ritardo.

Anche i video sono fatti da una serie di immagini fisse. Quando si esegue il rendering di un video in 3d, il software di animazione genera l’animazione in fotogrammi e quindi si uniscono tutti i fotogrammi insieme per creare il video finale.

video canale YouTube
video codec

Costi associati alla transcodifica video: tre fattori chiave

Quando un video viene convertito in più formati e risoluzioni, tutte le diverse versioni devono essere memorizzate separatamente nel database.

Questo implica costi di archiviazione. Inoltre, sofisticati algoritmi di codec che convertono questi video in risoluzioni diverse richiedono risorse  di calcolo elevate.

Infine passare da una risoluzione all’ altra in base alla larghezza di banda della rete in tempo reale ha consumi di banda importanti

La procedura di codifica video di YouTube mantiene un equilibrio tra questi i tre fattori.

Architettura di distribuzione dei video di YouTube

Tutti i video caricati su YouTube vengono prima transcodificati in più formati e risoluzioni diversi impostati dalla piattaforma.

Il video durante il processo di transcodifica viene suddiviso in segmenti e convertito in più risoluzioni.

L’elaborazione di più segmenti viene distribuita su più macchine per parallelizzare il processo aumentando la produttività.

Se un video diventa virale, è soggetto a un altro ciclo di compressione video. Questo secondo ciclo di compressione garantisce la stessa qualità visiva del video ma a dimensioni molto inferiori.

Durante la codifica dei video, YouTube sceglie un bitrate entro i limiti consentiti dal codec. Un video con un bitrate alto ha una qualità migliore, ma c’è un punto critico oltre il quale anche aumentando il bitrate non c’è un miglioramento nella qualità del video, anche se aumenterebbe la dimensione

Preveggenza di YouTube

YouTube per effettuare la scelta migliore (per le proprie risorse e per la qualità offerta all’utente) valuta con attenzione la frequenza con cui il lettore passa a una risoluzione inferiore rispetto alla larghezza di banda disponibile.

Così facendo prevede se è possibile inviare all’utente un contenuto con una risoluzione migliore, in base al limite di larghezza di banda di streaming.

Questa stima delle prestazioni ha consentito a YouTube di ridurre la larghezza di banda, aumentando contemporaneamente il coinvolgimento degli utenti sulla piattaforma. E’ evidente che si tratta di un processo destinato a svilupparsi in un immediato futuro, grazie all’impiego sempre più importante di Intelligenza artificiale e machine learning, come lo stesso team di sviluppo di YouTube dichiara in questo articolo

Per la codifica dei video, YouTube utilizza VP9, un codec open source che comprime i video con qualità HD e 4K a metà della larghezza di banda utilizzata da altri codici.

Una volta che i video sono stati transcodificati e archiviati nel database, vengono distribuiti nella rete. Quando l’utente richiede un video, la piattaforma controlla il tipo di dispositivo del visualizzatore, le dimensioni dello schermo, la capacità di elaborazione, la larghezza di banda della rete e quindi fornisce la versione video adatta

Quando il video viene trasmesso in diretta streaming LIVE, non è realmente LIVE. C’è un leggero ritardo di elaborazione richiesto dalla transcodifica e da altri processi coinvolti nella consegna del video. Risulta difficile memorizzare nella cache i video LIVE sulla rete proprio perchè non hanno uno storico, un doppio accesso, per loro stessa natura. 

canale_youtube_aziendale

Live Streaming

Summary
Come YouTube distribuisce i video senza ritardi
Article Name
Come YouTube distribuisce i video senza ritardi
Description
Come YouTube distribuisce i video dei canali aziendali e non con qualità elevata e latenza minima - codec e distribuzione dei video dei canali YouTube
Author
Publisher Name
Giuseppe Galliano Studio
Publisher Logo