290 likes | 386 Views
Distribuição de Mídia Contínua C onceitos Básicos. Jussara M. Almeida. Mar ço 2004. Organização. Mídia Contínua (MC) Características Principais de MC Arquiteturas para Distribuição de MC Redes de Distribuição de Conteúdo (CDN) Arquiteturas Par a Par (P2P)
E N D
Distribuição de Mídia ContínuaConceitos Básicos Jussara M. Almeida Março 2004
Organização • Mídia Contínua (MC) • Características Principais de MC • Arquiteturas para Distribuição de MC • Redes de Distribuição de Conteúdo (CDN) • Arquiteturas Par a Par (P2P) • Questões Centrais para Distribuição de MC
Mídia Contínua • Objetos transmitidos à taxa de visualização • Vídeo e áudio, principalmente • Fluxo contínuo (streaming) = sobreposição da reprodução dos dados no receptor com a transmissão do emissor • Fluxo de áudio e vídeo = sequência de sons ou imagens estendida por um período de tempo
Hierarquia do Conteúdo de Mídia Contínua • Pixels: elemento de figura • Quadro: grade bidimensional de pixels • Uma amostra da imagem/som em movimento capturada em um instante específico • Tamanho do arquivo = # pixels em cada dimensão • Fluxo de vídeo e áudio : sequência de quadros com o passar do tempo • Sessão: múltiplos fluxos sincronizados (vídeo e áudio) • Apresentação: conjunto de sessões de multimídia
Estágios de um Fluxo de Mídia Contínua • Captura • Codificação • Armazenamento (sob demanda) • Remessa • Decodificação (cliente) • Compactação: explorar redundância entre sequência de amostras ou quadros • Redução do tamanho por um fator de 25 ou 100 • Vídeo: Real Video, AVI, QuickTime, MPEG • Áudio: RealAudio, WAV, MP3
Qualidade de Mídia Contínua • Compromissos quanto a qualidade • Menor taxa de quadro • 24 ou 30 quadros/seg distraem olho humano • Pequena dimensão • Arquivos com poucas polegadas de altura e/ou largura • Resolução inferior • Representação dos pixels ou compactação • Ser humano mais sensível à qualidade do vídeo • Áudio exige menos largura de banda
Características de Mídia Contínua • Grandes arquivos (10MB – 1GB) • Demanda por largura de banda alta e sustentada • Áudio : 64 kbps • Vídeo: variado • Alta qualidade: 1-4 Mbps (150 MB para vídeo de 5 min) • Restrições de tempo real para a transmissão • Atrasos e perdas (a seguir) • Acesso parcial ou interativo (operações de VCR) • pausa, avanço (rápido), retrocesso (rápido)
Características de Mídia Contínua • Atrasos (jitter) • Buffers nos clientes Cliente armazena dados recebidos Tempo Usuário visualiza primeiro bloco de dados
Características de Mídia Contínua • Perda de dados • Uso do protocolo UDP (diferente de HTTP) • Remessa confiável via protocolo TCP pode introduzir atrasos ainda maiores • Recuperação: • Partes de quadro com base nos outros pixels do quadro • Error concealment • Pacotes: remessa de dados redundantes • Forward Error Correction (FEC)
Variable Bitrate vs. Constant Bitrate • Quadros consumidos à taxa constante • Variable bitrate (VBR) • Para manter tráfego CBR: buffer no cliente • Para evitar interrupção e compensar variações na taxa de chegada de quadros • Técnicas para suavização (smoothing) • Escalonamento da transmissão dos pacotes • Aplicadas no servidor origem ou em nó intermediário • Uso de buffers nos clientes
Recuperação de Mídia Contínua • Via HTTP (protocolo tradicional da Web) • Vantagem: • Tratamento semelhante a conteúdo Web tradicional • Desvantagens: • Atraso na partida do player de mídia • Cópia de dados entre o browser e o player • Intercalação de fluxos de áudio e vídeo • Overhead do TCP • Dificuldade de funções de interatividade (pulos)
Recuperação de Mídia Contínua • Contato direto com servidor multimídia • Cliente contacta servidor usando HTTP • Servidor retorna URL: mms://media.foo.com/clip • Browser chama cliente player • Player contacta diretamente servidor usando protocolo de streaming específico • RTSP, RTP, RTCP
Protocolos para Streaming • Transporte de dados para um ou mais receptores, tipicamente via UDP • Real Time Transport Protocol (RTP): • Pacotes com marca de hora, # de sequência e info sobre emissor • Real Time Transport Control Protocol (RTCP) • Feedback do receptor, sincronismo
Protocolos para Streaming • Estabelecimento de Sessão • Real Time Streaming Protocol (RTSP) • Requisição sob demanda a um servidor multimídia • Equivalente a HTTP • Abstração de um controle remoto • Seleciona mecanismo e protocolo de transporte, e # porta • Protocolo com estado (operações VCR) • Session Initiation Protocol (SIP) • Telefonia sobre IP • Session Announcement Protocol (SAP) • Aplicações de difusão (rádio online)
Internet Distribuição de Mídia Contínua • Aplicações: • Educação à distância, treinamento em empresas • Rádios virtuais, publicidade e notícias • TV Digital, tele-conferencia • Jogos distribuidos e realidade virtual Servidor Origem
Arquiteturas para Distribuição de Mídia Contínua • Redes de Distribuição de Conteúdo (CDNs) • Arquitetura hierárquica • Replicação de conteúdo em servidores intermediários (proxy) próximo aos clientes • Sistemas Par a Par (P2P) • Arquitetura descentralizada • Clientes atuam como servidor repassando conteúdo previamente recebido para outros clientes • Distribuição: • Sob demanda vs. ao vivo
Redes de Distribuição de Conteúdo (CDNs) Servidor Proxy Rede “Local” Servidor Origem Servidor Proxy Rede Remota Rede “Local” Servidor Proxy Rede “Local”
Sistemas Par a Par • Gnutella, KaZaa, eDonkey
Distribuição de Mídia Contínua ao Vivo em Sistemas Par a Par Servidor Origem
Questões Centrais para Distribuição de Mídia Contínua • Qual protocolo deve ser utilizado para transmissão do conteúdo para os clientes? • Transmissão independente de fluxos (Unicast) • Compartilhamento de fluxos (Multicast) • Qual conteúdo deve ser replicado em cada servidor proxy (ou nos clientes de rede P2P)? • Políticas de replicação ou caching • Como o conteúdo deve ser armazenado nos discos? • Métodos para armazenamento em disco
Questões Centrais para Distribuição de Mídia Contínua (cont.) • Quantos servidores proxy devem ser instalados e onde eles devem ser instalados? • Localização dos servidores • Para qual servidor as requisições de cada cliente devem ser enviadas? • Seleção dos servidores • Qual rota deve ser tomada pela resposta (vídeo/áudio) do servidor ao cliente? • Roteamento das respostas
Transmissão de Mídia Contínua • Transmissão de Fluxos Independente • Unicast • Crescimento linear na demanda por largura de banda do servidor e da rede • Baixa escalabilidade • Ex: 1 arquivo MPEG de 1 hora: 1.5 Mbps 1500 fluxos simultâneos : 2.25 Gbps
Transmissão de Mídia Contínua • Transmissão com Compartilhamento de Fluxos • Multicast • Um único fluxo enviado para múltiplos clientes • IP ou a nível de aplicação • Redução significativa na demanda por largura de banda • Melhora QoS (qualidade observada pelos clientes) • Duas Classes • Técnicas baseadas em difusão • Técnicas orientadas às requisições dos clientes • Distribuição sob demanda
Compartilhamento de Fluxos: Técnicas Baseadas em Difusão • Periodic Broadcast • Princípio Básico • Cada fluxo é dividido em segmentos que podem ser simultaneamente transmitidos periodicamente em um conjunto de k canais diferentes • Largura de banda fixa, independente da taxa de chegada de requisições • Eficiente para carga alta • Diversas variações do protocolo
Fluxo multicast com objeto requisitado por r0-r3 r0 r2 r1 r3 Janela batching Compartilhamento de Fluxos: Técnicas Orientadas às Requisições dos Clientes • Batching • Cliente recebe apenas um fluxo • Introdução de atrasos adicionais para os usuários • Nao provê distribuição sob demanda verdadeira Dados recebidos pelos clientes Tempo
Compartilhamento de Fluxos: Técnicas Orientadas às Requisições dos Clientes • Piggybacking • Mudança dinâmica da taxa de transmissão e exibição para permitir que um fluxo possa alcançar e se juntar a outro fluxo • Baseado em stream merge
Servidor retarda s0 Stream merge s0 s1 Servidor acelera s1 r0 r1 Piggybacking Dados recebidos pelos clientes Tempo
Compartilhamento de Fluxos: Técnicas Orientadas às Requisições dos Clientes • Piggybacking • Provê vídeo sob demanda verdadeiro • Cliente escuta/recebe apenas um fluxo • Nao introduz atrasos adicionais • Requer hardware especialiado para suportar mudanças dinâmicas na velocidade do canal • Eficiência limitada pela mudança máxima tolerada por um usuário (± 5%)
Compartilhamento de Fluxos: Técnicas Orientadas às Requisições dos Clientes • Patching e Hierarchical Stream Merging • Princípio comum: • Cliente escuta a mais de um fluxo simultaneamente • Dados recebidos em um fluxo são visualizados imediatamente • Dados recebidos no outro fluxo são armazenados para visualização futura • Requer buffer no cliente