Come funziona YouTube?

Stamattina mi sono chiesto: ma come funziona YouTube? Come fa questo sito a tenere il monopolio tra tutti i video sharing?
 

Il funzionamento di YouTube (e tutti gli altri siti di video sharing) si basa essenzialmente sulla conversione di file video nel formato FLV (FLash Video). Tali file possono essere riprodotti in download progressivo, cioè senza essere scaricati completamente, da un file Flash che funge da player.

Questo rende molto facile incorporare il player all’interno di una pagina web passandogli come parametro il file FLV da visualizzare.

Tutte le informazioni sul video (titolo, data, ecc.) vengono salvate nel database mentre i file video rimangono su disco.

Il flusso di lavoro è questo:

  • un utente carica un file video (avi, mpg, mov, …) e viene inserito un record nel database;
  • ogni 5 minuti un cronjob controlla se ci sono nuovi file da convertire;
  • in caso positivo, degli script bash si occupano della conversione in FLV, generazione miniatura e cancellazione dell’originale;
  • nel database viene aggiornato il record e il video diventa disponibile sul sito.

Va detto subito che non è ipotizzabile, neanche su scala ridotta, farsi un sito di video sharing in hosting, per tre motivi tutti ugualmente proibitivi:

  1. software: bisogna installare dei software aggiuntivi che sicuramente non vengono installati sui sistemi dedicati a fare hosting;
  2. potenza di calcolo: il processo di conversione è pesante rispetto ai normali compiti di un server web, soprattutto se ci sono diversi processi in contemporanea;
  3. banda (entrata e uscita) : i file video in upload sono grossi diversi megabyte, anche se sono di breve durata, mentre in uscita, considerando sia i flussi di chi vede i video sul sito sia i flussi per chi incorpora i video in altri siti, la richiesta giornaliera può diventare stratosferica.
Annunci

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...