Como funciona o streaming de vídeo na Internet
NotíciaA BBC transmitiu recentemente eventos ao vivo em HD de 24 horas simultaneamente do seu site de esportes, juntamente com suas transmissões digitais normais pelo ar..
Embora eu tenha certeza, como eu, você tem uma apreciação vaga do que é streaming - afinal, assistir a filmes e programas de TV pela internet é parte integrante da sociedade sempre ativa de 2012 - a verdade é ainda mais peculiar você poderia esperar. De certa forma, é incrível que funciona em tudo.
A referência mais antiga ao que poderíamos reconhecer como 'streaming media' foi uma patente concedida a George O Squier em 1922 para a transmissão eficiente de informações por sinais através de fios. Na época, o rádio de transmissão estava apenas começando e exigia equipamentos caros e um pouco temperamentais para transmitir e receber.
Squier reconheceu a necessidade de simplificar a transmissão e criou uma empresa chamada Wired Radio que usava essa invenção para transmitir música de fundo a lojas e empresas. Mais tarde, ele decidiu imitar o nome da marca Kodak, renomeando a empresa Muzak. Esta foi a primeira tentativa bem-sucedida de mídia multicast (isto é, transmitir um sinal através de um cabo para vários receptores simultaneamente).
Transmissão digital
Isso foi basicamente para transmissão (rádio e TV) e multicast (Muzak) até a era dos computadores, especialmente dos computadores pessoais. Não foi até o final dos anos 80 ou início dos anos 90 que os computadores tinham hardware e software capazes de reproduzir áudio e exibir vídeo..
Os principais problemas que permaneceram foram uma CPU suficientemente poderosa para renderizar vídeo e um barramento de dados grande o suficiente para transmitir dados de vídeo ao adaptador de vídeo e monitor, assim como a largura de banda da rede (era a idade em que o melhor acesso às redes era um modem de 28,8 Kb).
Na verdade, por um tempo, a única opção disponível era baixar a mídia como um arquivo de algum servidor remoto e reproduzi-lo assim que o arquivo fosse baixado por completo..
Considere o problema: um PC normalmente tinha um monitor XGA com uma resolução de 640 x 480 pixels a 16 bits por pixel. O vídeo, no entanto, foi de 320 x 240 pixels. Em uma taxa de atualização de vídeo de 24 quadros por segundo, o barramento de dados no PC precisava processar 320 x 240 x 2 (bytes por pixel) x 24 bytes por segundo, o que equivale a cerca de 3,5 MB por segundo.
Várias coisas tinham que se reunir antes que a mídia de streaming pudesse acontecer. Primeiro de tudo, o vídeo em si teve que ser comprimido para reduzir a pegada do arquivo de mídia no disco. A 3,5 MB por segundo, um vídeo de um minuto ocuparia 200 MB no disco rígido - uma quantidade de espaço que francamente não estava prontamente disponível na maioria dos computadores da época..
A CPU precisava ser capaz de descompactar os dados de vídeo em tempo real e renderizar quadros na taxa de quadros correta. O barramento de dados do PC tinha que ser capaz de manipular a transferência daquela quantidade de dados para o subsistema de vídeo, e o último tinha que ser capaz de atualizar o monitor na taxa de quadros correta. Em meados da década de 1990, as estrelas necessárias se alinharam.
Multicasting
FIGURA 1: Uma rede multicast distribui mídia com pouca perda de largura de banda
Em 1992, uma rede experimental nasceu: o Mbone. Esta era uma rede virtual sobreposta à internet normal cujo objetivo principal era o multicasting.
Multicast neste cenário é uma tecnologia que permite que os dados sejam transmitidos eficientemente de um servidor para vários receptores simultaneamente. Um exemplo de uma situação que beneficia de multicast é uma estação de rádio da Internet. Essa estação apresentará um fluxo de dados de música que os usuários podem se inscrever, mas todos os usuários ouvirão o mesmo fluxo.
Do ponto de vista da estação de rádio da Internet, tudo o que ela precisa é de uma única conexão de baixa largura de banda ao backbone de multicast, e o restante da transmissão e eventual duplicação do fluxo de dados é feito pelos nós na Internet. Aumentar o número de ouvintes não afetaria muito a estação de rádio da Internet.
A tecnologia correspondente é conhecida como unicast, e é isso que usamos quando assistimos a um vídeo do YouTube ou a um filme on-line: um servidor envia um fluxo de dados pela Internet para um único receptor, ou seja, nosso PC..
Para continuar nosso exemplo, uma estação de rádio da Internet não se beneficiaria do unicast, já que teria que transmitir um fluxo de dados para todos os ouvintes. Aumentar o número de ouvintes exigiria o aumento das capacidades de servidor e rede da estação.
Os problemas com multicast são vários. Primeiro de tudo, requer roteadores especiais como nós na rede para transmitir o único fluxo de dados. Ele precisa criar uma árvore desses roteadores especiais, para que ela (ou a rede) possa programar esses roteadores de modo que apenas um único fluxo de dados seja passado entre eles. Obviamente, somente os roteadores multicast podem ser vinculados nessa árvore.
Isso é geralmente conhecido como encapsulamento - os roteadores especiais encapsulam o fluxo de dados multicast entre eles pela Internet normal. Em seguida, cada receptor deve ser capaz de identificar seu roteador multicast mais próximo para que ele possa receber um unicast do fluxo de dados desse roteador. O roteador age como um duplicador de dados - veja a Figura 1 acima.
A outra questão principal foi abordada no nosso exemplo de uma estação de rádio na Internet: a multidifusão coloca problemas no que diz respeito ao pagamento, especialmente no que diz respeito aos custos dos ISPs. Com uma estação de rádio de Internet multicast, o ISP local da estação passa apenas por um único fluxo de dados, independentemente de quantos ouvintes existem. A duplicação de dados é feita pelos roteadores que estão geograficamente distantes do transmissor.
Embora Mbone tenha tido sucesso como um projeto de pesquisa - até mesmo foi usado para fazer multicast em um show dos Rolling Stones no Cotton Bowl, em Dallas -, ele nunca pegou em público. Atualmente, é usado principalmente para videoconferência.