Streaming

O streaming multimédia permite aceder à informação em tempo real e de forma contínua a partir do momento em que se começa a fazer a reprodução do conteúdo sem ser necessário esperar que o mesmo seja descarregado completamente, ao contrário do acesso “tradicional” em que se faz download de um ficheiro completo e apenas depois se vê o seu conteúdo [1].

Existe um grande desafio ao fazer se streaming de vídeo, pois ao contrário de um ficheiro normal um ficheiro de vídeo tem um tamanho muito grande, e por isso requer muita largura de banda, para ser transmitido e a juntar se a isto tem se também requisitos muito restritivos de tempo na entrega de pacotes de forma a conseguir ter se uma transmissão sem falhas. Temos ainda de ter em conta que estes sistemas vão ser usados por centenas de milhares de utilizadores o que aumenta muito a sua complexidade.

O streaming pode ser feito ao vivo (Live Feeds) ou através de Video on Demand (VoD). No VoD os conteúdos estão armazenadas num servidor e podem ser acedidos durante um longo período de tempo, estando disponíveis para serem transmitidos a pedido do utilizador. Os filmes são um exemplo típico de conteúdo que pode ser visto em VoD. Por outro lado, as Live Feeds só estão disponíveis num intervalo de tempo restrito, tal como na transmissão ao vivo de um jogo de futebol [2][1]. Este artigo vai se focar mais em sistemas de Live Feed. Alguns dos codecs que podem ser usados em streamings de vídeo são MPEG 4, Real Vídeo e Windows Media.

Tradicionalmente usam se arquitecturas cliente/servidor para fazer streaming, em que vários clientes acedem ao mesmo servidor que fornece conteúdos. Nesta situação existe um único ponto de falha que é o servidor, já que a falha deste implica a perda do serviço de todos os clientes. Além disso, a falta de recursos do servidor tais como e o congestionamento da ligação pode originar um bottleneck e, portanto, utilizando esta arquitectura não temos um sistema escalável com o número de clientes.

Têm se estudado várias soluções para o problema de fazer streaming para vários clientes, tal como IP Multicast [3], mas esta necessita que sejam efectuadas alterações a nível de hardware numa rede para funcionar. Mais recentemente as redes peer to peer utilizando Application Level Multicast (ALM) têm vindo a ganhar terreno face a outras alternativas, pois não se necessita de efectuar qualquer alteração a nível físico na rede, sendo o multicast feito ao nível da aplicação [4].

De seguida vão ser abordadas de forma mais detalhada as várias arquitecturas utilizadas para fazer streaming de vídeo na Internet.

Página Seguinte