Nel tentativo di invertire questa eventualità, gli ingegneri hanno sviluppato un sistema in cui più versioni codificate dei video caricati, ciascuna con caratteristiche diverse, potevano essere riproposte. Riproponendo un tipo di codifica video per aiutare a generarne un altro, le risorse di calcolo sono state ridotte del 94% sui video meno visti, con una drastica riduzione delle risorse.

Grazie alle maggiori risorse disponibili, gli ingegneri hanno avuto la possibilità di produrre codifiche più avanzate, consentendo a un maggior numero di persone di vedere una riproduzione più fluida di contenuti video più chiari.

Spesa per il calcolo video

Essenzialmente ci sono due tipi di codifica video su Instagram:

  • Codifiche a funzionalità minima, che sono compatibili con tutti gli utenti di Instagram. Si tratta di una compressione a bassa efficienza, più facilmente decodificabile dai dispositivi più vecchi e in grado di essere riprodotta da chiunque.
  • Le codifiche avanzate utilizzano tecnologie di compressione più recenti per una riproduzione di qualità superiore. Ciò consente di ottenere una grande chiarezza e dettagli più nitidi con un minor numero di bit.

Il problema di questo metodo di codifica era che Instagram spendeva l’80% delle sue risorse per elaborare codifiche a funzionalità minima. Questo corso avrebbe monopolizzato il sistema con le codifiche a funzionalità minima nel giro di un anno. Le codifiche avanzate occupavano solo il 15% del tempo di osservazione totale. È stato rilevato che se la spesa si concentrava sulla codifica delle funzionalità minime, ciò avrebbe presto impedito di offrire un tempo di visione delle codifiche video avanzate.

Carichi di lavoro ridondanti

Esistono due codifiche di funzionalità minima:

  • Codifica ABR (adaptive bit rate) di base – la codifica più osservata di entrambe le codifiche a funzionalità minima. Esistono versioni e la riproduzione può essere regolata da una versione all’altra in base alla velocità di connessione per ottenere la riproduzione più costante. In questo modo si evita lo stallo causato dalle variazioni della larghezza di banda. Questo è comunemente chiamato streaming a velocità di bit adattiva.
  • Codifica progressiva – questo pacchetto di codifica, usato raramente, è utilizzato per le vecchie versioni dell’applicazione Instagram che non supportano la riproduzione ABR.

Tradizionalmente, un profilo di codifica ABR e uno progressivo vengono creati quando il client carica il file video originale. Questo in genere assorbe le risorse di calcolo e richiede 86,17 secondi per caricare un video di 23 secondi. Gli ingegneri hanno notato che le impostazioni erano simili per entrambi i tipi di codifica. L’accesso e lo sviluppo dei codec erano molto simili. Il team ha scoperto che era possibile sostituire le codifiche ABR di base con i fotogrammi video della codifica progressiva, riconfezionandoli in una struttura di file compatibile con l’ABR.

Source link