O armazenamento em buffer é, na verdade, uma ação realizada para melhorar a experiência de streaming; streaming é comumente usado na Internet para consumo de mídia porque o visualizador só precisa do segmento da mídia que está visualizando no momento para aproveitar o conteúdo, em oposição a tudo com o download. Armazenar um fluxo em buffer ajuda a contornar quaisquer inconsistências no fluxo de dados durante o fluxo de conteúdo.
Transmissão
O streaming minimiza o tempo que leva para um visualizador começar a visualizar a mídia na Internet após iniciar uma transferência de dados; qualquer mídia que você está assistindo está baixando enquanto você assiste. De acordo com a BBC, "Streaming significa ouvir música ou assistir a um vídeo em 'tempo real', em vez de baixar um arquivo para o computador e assisti-lo mais tarde." O streaming é particularmente útil quando a velocidade de conexão de um consumidor de mídia com a Internet permitiria que ele baixasse a mídia completamente em menos tempo do que levaria para visualizar. Sites e serviços geralmente usam streaming para distribuir conteúdo de áudio e vídeo; programas de computador como o Microsoft Office On Demand e vários videogames também podem ser transmitidos.
Amortecedor
O buffer é um espaço de armazenamento de dados alocado que contém informações do fluxo que o visualizador ou usuário provavelmente usará. No caso de um fluxo de mídia como música ou filme, o buffer contém o próximo conteúdo que o espectador ainda não viu ou ouviu. O buffer também pode conter conteúdo visualizado recentemente para retrocesso rápido. Ao transmitir programas, o buffer contém partes do programa que o usuário chamou e provavelmente chamará.
Buffering melhora o streaming
O buffer é projetado para armazenar informações futuras para fornecer a experiência de consumo mais suave possível. O buffer é projetado para contabilizar alterações inconsistentes na velocidade de provisionamento de dados e perda temporária de serviço. Além disso, o armazenamento em buffer antes de iniciar um fluxo pode fornecer o fluxo com uma qualidade mais alta do que em tempo real. Por exemplo, se um fluxo de áudio é executado a 256 kbps, mas a conexão de Internet do ouvinte só funciona a 200 kbps, o fluxo pode passar 30 segundos pré-carregando a música antes de iniciar a reprodução para que o download seja concluído ao mesmo tempo que a reprodução da música termina. O mesmo conceito de pré-carregamento funciona para um filme que pode ser reproduzido em 12 Mbps, mas o visualizador só tem uma velocidade de download de 11 Mbps.
Streaming sem buffer
Transmitir conteúdo sem buffer deixa o visualizador à mercê de uma velocidade de fluxo de dados constante. Se um stream de vídeo não tem buffer ou tem muito pouco buffer, ele começa a ficar instável, cair na qualidade ou pausar temporariamente se algo acontecer para interromper a conexão enquanto vai do servidor para o dispositivo do visualizador. Coisas como o servidor de origem obtendo um aumento temporário de carga, a conexão com a Internet falhando, um pequeno número de pacotes de dados perdidos na transferência ou até mesmo outra pessoa na mesma rede navegando em um site podem interromper o feed.