Il buffering è in realtà un'azione intrapresa per migliorare l'esperienza di streaming; lo streaming è comunemente usato su Internet per il consumo di contenuti multimediali perché lo spettatore ha bisogno solo del segmento dei media che sta attualmente visualizzando per godersi il contenuto anziché l'intera cosa con il download. Il buffering di un flusso aiuta a risolvere eventuali incongruenze nel flusso di dati durante lo streaming del contenuto.
Streaming
Lo streaming riduce al minimo il tempo necessario a un visualizzatore per iniziare a visualizzare i media su Internet dopo aver avviato un trasferimento di dati; qualunque file multimediale stai guardando viene scaricato mentre guardi. Secondo la BBC, "Streaming significa ascoltare musica o guardare video in 'tempo reale', invece di scaricare un file sul computer e guardarlo in un secondo momento". Lo streaming è particolarmente utile quando la velocità di connessione a Internet di un utente multimediale consente di scaricare completamente i file multimediali in meno tempo rispetto a quello necessario per visualizzarli. I siti Web e i servizi utilizzano spesso lo streaming per distribuire contenuti audio e video; è inoltre possibile eseguire lo streaming di programmi per computer come Microsoft Office On Demand e vari videogiochi.
Buffer
Il buffer è uno spazio di archiviazione dati allocato che contiene informazioni dal flusso che è probabile che il visualizzatore o l'utente utilizzino. Nel caso di un flusso multimediale come musica o un film, il buffer contiene contenuti imminenti che lo spettatore non ha ancora visto o sentito. Il buffer può anche contenere contenuti visualizzati di recente per il riavvolgimento rapido. Durante lo streaming di programmi, il buffer contiene parti del programma che l'utente ha chiamato e che probabilmente chiamerà.
Il buffering migliora lo streaming
Il buffer è progettato per contenere le informazioni imminenti per fornire l'esperienza di consumo più fluida possibile. Il buffer è progettato per tenere conto delle variazioni incoerenti della velocità di fornitura dei dati e della perdita temporanea del servizio. Inoltre, il buffering prima dell'avvio di un flusso può fornire il flusso con una qualità superiore rispetto al tempo reale. Ad esempio, se un flusso audio viene eseguito a 256 kbps ma la connessione Internet di un ascoltatore funziona solo a 200 kbps, lo streaming potrebbe impiegare 30 secondi per precaricare il brano prima di avviare la riproduzione, in modo che il download venga completato nello stesso momento in cui termina la riproduzione del brano. Lo stesso concetto di pre-caricamento funziona per un film che può essere riprodotto a 12 mbps ma lo spettatore ha solo una velocità di download di 11 mbps.
Streaming senza buffer
Lo streaming di contenuti senza buffer lascia lo spettatore alla mercé di una velocità di flusso di dati costante. Se un flusso video non ha buffer o troppo poco buffer, inizierà a diventare discontinuo, diminuirà di qualità o si interromperà temporaneamente se succede qualcosa che interrompe la connessione mentre passa dal server al dispositivo dello spettatore. Cose come il server di origine che ottiene un aumento temporaneo del carico, la connessione Internet che si esaurisce, un piccolo numero di pacchetti di dati che si perde nel trasferimento o anche qualcun altro sulla stessa rete che naviga in un sito Web può interrompere il feed.