Distribuição de Mídia Contínua C onceitos Básicos
-
Upload
sonya-beck -
Category
Documents
-
view
15 -
download
0
description
Transcript of Distribuição de Mídia Contínua C onceitos Básicos
Distribuição de Mídia Contínua
Conceitos 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
1. Captura
2. Codificação
3. Armazenamento (sob demanda)
4. Remessa
5. 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
Estágios de um Fluxo de Mídia Contínua
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
Usuário visualiza primeiro
bloco de dados
Tem
po
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)
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
Internet
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)
Rede Remota
Rede“Loca
l”
Rede“Loca
l”
Rede“Loca
l”
Servidor Origem
Servidor Proxy
Servidor Proxy
Servidor Proxy
Sistemas Par a Par
• Gnutella, KaZaa, eDonkey
Distribuição de Mídia Contínua ao Vivo em Sistemas Par a
ParServidor 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
• 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
Questões Centrais para Distribuição de Mídia Contínua
(cont.)
• 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
Transmissão de Mídia Contínua
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
Compartilhamento de Fluxos: Técnicas Orientadas às Requisições dos
Clientes
Janela batching
Fluxo multicastcom objeto
requisitado por r0-r3
r0 r1 r2 r3
TempoDados
rece
bid
os
pelo
s cl
iente
s• Batching
• Cliente recebe apenas um fluxo• Introdução de atrasos adicionais para os usuários• Nao provê distribuição sob demanda verdadeira
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
Piggybacking
Stream merge
Servidor acelera s1
Servidor retarda s0
r0
s0
r1
s1
Tempo
Dad
os
rece
bid
os
pelo
s cl
ien
tes
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