![Page 1: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/1.jpg)
Distribuição de Mídia Contínua
Conceitos Básicos
Jussara M. Almeida
Março 2004
![Page 2: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/2.jpg)
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
![Page 3: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/3.jpg)
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
![Page 4: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/4.jpg)
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
![Page 5: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/5.jpg)
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
![Page 6: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/6.jpg)
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
![Page 7: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/7.jpg)
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)
![Page 8: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/8.jpg)
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
![Page 9: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/9.jpg)
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)
![Page 10: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/10.jpg)
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
![Page 11: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/11.jpg)
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)
![Page 12: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/12.jpg)
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
![Page 13: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/13.jpg)
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
![Page 14: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/14.jpg)
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)
![Page 15: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/15.jpg)
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
![Page 16: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/16.jpg)
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
![Page 17: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/17.jpg)
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
![Page 18: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/18.jpg)
Sistemas Par a Par
• Gnutella, KaZaa, eDonkey
![Page 19: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/19.jpg)
Distribuição de Mídia Contínua ao Vivo em Sistemas Par a
ParServidor Origem
![Page 20: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/20.jpg)
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
![Page 21: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/21.jpg)
• 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.)
![Page 22: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/22.jpg)
• 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
![Page 23: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/23.jpg)
• 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
![Page 24: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/24.jpg)
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
![Page 25: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/25.jpg)
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
![Page 26: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/26.jpg)
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
![Page 27: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/27.jpg)
Piggybacking
Stream merge
Servidor acelera s1
Servidor retarda s0
r0
s0
r1
s1
Tempo
Dad
os
rece
bid
os
pelo
s cl
ien
tes
![Page 28: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/28.jpg)
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%)
![Page 29: Distribuição de Mídia Contínua C onceitos Básicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062516/56812a99550346895d8e4f33/html5/thumbnails/29.jpg)
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