protocolos multimídia na internet parte!1!(!conceitosadriano/aulas/topicos/2014/7-topico… ·...
Post on 14-Jun-2020
2 Views
Preview:
TRANSCRIPT
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 1
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian
Protocolos Multimídia na Internet Parte 1 -‐ Conceitos
%’%,%’%,%’,%’%,%’%,%
Tópicos em Sistemas de Computação – 2014
Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.org
Estagiário Docente: Vinícius Oliveira
viniciusoliveira@acmesecurity.org
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 2
Multimídia na Internet
Objetivos: q Entender os requisitos
de serviço para redes com multimídia • Atraso. • Taxa de transmissão. • Perda.
q Aprender como aproveitar ao máximo do serviço de melhor esforço da Internet.
q Aprender como a Internet poderá evoluir para um melhor desempenho dos serviços multimídia.
Veremos: q Aplicações de rede com
multimídia. q Áudio e vídeo de tempo
contínuo armazenados • RTSP.
q Aplicações interativas de tempo-real • Telefonia na Internet.
q RTP q H.323 e SIP
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 2
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 3
Multimídia em Redes Características Fundamentais: q Sensíveis ao atraso. q Tolerante a perdas:
• Perdas ocasionais podem passar desapercebidas.
q Multimídia à antítese dos dados binários: • Programas, arquivos binários, informações bancárias,
bancos de dados, e outros: não toleram falhas, mas aceitam atrasos.
q Multimídia é “mídia de tempo contínuo”. q Existem diferentes tipos de mídias na Internet, que
são divididos em 3 tipos ou classes. • Veremos 3 classes gerais a seguir.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 4
Características de Multimídia em Redes (1)
Classificação de aplicações multimídia: 1. Mídia armazenada
• Ú Áudio e vídeo de tempo contínuo, armazenados.
2. Fluxo contínuo • Ú Áudio e vídeo de tempo contínuo, ao vivo.
3. Tempo real interativo • Ú Vídeo e/ou áudio interativo em tempo real.
Veremos as características de cada uma, a seguir…
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 3
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 5
Características de Multimídia em Redes (2) Mídia armazenada – on demand (1)
q Clientes solicitam arquivos de áudio e vídeo armazenados em servidores específicos ou em cloud.
• Recebem a informação pela rede.
q Características: • Interação ou comando:
• O usuário pode controlar a operação do player: pause, resume, fast forward, rewind, etc...
• Atraso de início aceitável: • Fazem “bufferização” antes de iniciar. • Desde a requisição do cliente até o início da
apresentação pode ser de 1 a 10 segundos. • Mas exige reprodução contínua, após iniciar .
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 6
Características de Multimídia em Redes (3) Mídia armazenada – on demand (2)
q Evita descarregar o arquivo inteiro antes de começar a reproduzir. • O cliente reproduz uma parte do arquivo, ao mesmo tempo
em que está recebendo as partes que faltam. q Players:
• Microsoft Windows Media Player • Quicktime • VLC • Real One Player (Helix) • Vários outros…
q Sites e cloud: • {*}tube, sites de vídeos, podcasts e videocasts. • Serviços de vídeo sob-demanda: Netflix, AppleTV,... • Popcorn time à usando P2P.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 4
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 7
Características de Multimídia em Redes (3) Fluxo contínuo – tempo real
q Em tempo real, unidirecional (broadcast). • Similar à TV convencional. • Não interativo: apenas para ouvir e ver.
q Obviamente não avança nem retrocede (é ao vivo). q Atrasos de até 10 segundos para começar a
reprodução são bem aceitos. • Mas exige reprodução contínua, após iniciar . • Fazem “bufferização” antes de iniciar.
q Normalmente operam com fluxos unicast. q Exemplos:
• Rádios (RoIP) e TVs (IPTV) via Internet. • Vários “canais” disponíveis em todo o mundo.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 8
Características de Multimídia em Redes (3) Tempo real interativo - VC
q Fluxo bidirecional de áudio ou de vídeo. • Conferência entre duas ou mais pessoas.
q Mais exigente nos requisitos de atraso devido à necessidade de interatividade em tempo real.
q Vídeo: • Atraso < 150 ms é aceitável
q Áudio: • Atraso < 150 ms é bom. • Atraso entre 150 e 400 ms é aceitável.
q Exemplos: • Skype, Gizmo, Viber, Facetime, diversos aplicativos em
redes sociais, dentre vários outros. • Sistemas de VoIP / VC de uma forma geral.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 5
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian
Obstáculos e desafios
9
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 10
Obstáculos e desafios para multimídia em redes (1) q Arquitetura IP não garante nada:
• É melhor esforço (best effort). • Sem garantias sobre o atraso ou variação de atraso.
• Por outro lado: aplicações Interativas em tempo real têm requisitos rígidos para atraso de pacotes e jitter.
q Jitter é a variação do atraso de pacotes, dentro de um mesmo fluxo de pacotes.
q Aplicações de tempo contínuo com atrasos iniciais de 5 a 10 seg são comuns. • Mas o desempenho deteriora se os enlaces estão
congestionados ou muito distantes.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 6
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 11
Obstáculos e desafios para multimídia em redes (2)
q O projeto de aplicações multimídia seria mais simples se houvesse várias classes de serviço. • Mas, na Internet pública, todos os pacotes recebem
igual tratamento. • Pacotes contendo áudio e vídeo interativo de tempo real
permanecem nas filas, assim como todos os demais.
q Esforços estão sendo desenvolvidos para prover serviços diferenciados.
q Algumas boas ideias têm surgido, utilizando-se recursos já disponíveis. • IPv6 seria uma boa opção, mas ainda não
necessariamente disseminado.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 12
Aproveitando ao máximo o “melhor esforço”
q Para reduzir o impacto do serviço de melhor esforço da Internet, é possível: • Usar UDP e evitar o TCP com sua fase de partida lenta.
• Armazenar o conteúdo (todo ou em parte) no cliente, e controlar a apresentação para atenuar o jitter.
• Acrescentar marcas de tempo nos pacotes, para que o receptor saiba quando reproduzi-los.
• Adaptar a compressão à banda de transmissão disponível.
• Transmitir pacotes redundantes para atenuar os efeitos das perdas de pacotes.
• Usar todos estes “truques” associados a Cloud. ➨ Vamos discutir todos esses recursos.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 7
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian
Como a Internet deveria evoluir para suportar melhor as aplicações
multimídia?
Serviços Integrados &
Serviços Diferenciados
13
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 14
Filosofia de serviços Integrados:
q Mudar os protocolos da Internet, de forma que as aplicações possam reservar uma banda de transmissão fim-a-fim:
• Necessita de um novo protocolo de rede (IPv6 ?)
• Modificar as regras de escalonamento nos roteadores.
• Aplicação deveria fornecer à rede uma descrição do seu tráfego.
q Exige softwares novos e complexos nos hosts e nos routers.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 8
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 15
Filosofia de serviços Diferenciados:
Exige mudanças menores na Internet.
• Datagramas podem ser marcados. • Definir serviços de primeira e de segunda classe.
• Serviços “Platinun” e “Gold”
q Usuários à poderiam pagar mais para enviar e receber datagramas de primeira classe.
q ISPs à poderiam pagar mais aos provedores de backbone para enviar e receber pacotes de primeira classe.
• Novas oportunidades de negócios.
q Problema: lembrar de neutralidade da rede. • Marco civil da Internet (2014)
(Voltaremos a serviços diferenciados e integrados mais adiante neste tópico)
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 16
Codificação e Compressão de áudio e vídeo
(Iniciaremos com estudo de áudio)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 9
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 17
Codificação e exigências de banda q A transmissão de áudio e vídeo, pela internet,
exige muito mais recursos que o necessário para a transmissão de textos e imagens estáticas. • Para ser transmitido com qualidade de cinema, sem
compressão, um vídeo exigiria 160 Mbps de banda. • Um áudio com qualidade de CD, sem compressão,
exigiria cerca de 2,8 Mbps.
q No estágio tecnológico atual, usuários de “banda larga” trabalham na maioria de 2 a 10 Mbps no usuário final. • Ou seja, no caso de vídeo, 15 vezes mais lentos do que
seria necessário para uma perfeita transmissão • Portanto, outra solução deve ser adotada.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 18
Codificação e CODECs
q Transmissões de vídeo, pela internet, só são possíveis graças a dispositivos denominados codecs. • Coder-decoder à codificador-decodificador. • Fazem a compressão e a descompressão das imagens.
q São módulos que comprimem arquivos de áudio e vídeo. • Permitem que trafeguem nas velocidades “lentas” da rede no
usuário final. q Transmissão de imagens usa vários tipos de codecs.
• Cada um dos quais otimizado para dado tipo de mídia. q Todos têm perdas.
• Especialmente no momento da compressão, quando vários dados do arquivo original costumam ser perdidos, em benefício da velocidade.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 10
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 19
CODECs e a qualidade de áudio
q A maior parte dos codecs de áudio para a internet: • Têm as taxas de compressão baseadas na freqüência
de amostragem, e no número de canais. • A qualidade é afetada pela frequência de amostragem. • Veremos adiante sobre frequência de amostragem.
q Placas áudio à maioria capturam a 44,1 KHz, • Ou seja, com qualidade de CD. • Qualidade ótima, mas muito elevada para a internet.
• Por isso, é normal baixar a frequência para 22,05 KHz. • Se o objetivo for apenas transmitir voz, pode-se abaixar a
frequência para até 8 KHz ou 6 KHz.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian
Vejamos como transformar áudio analógico em sinal digital
Codificação PCM e evolução
20
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 11
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 21
Codificação PCM (1) Pulse Code Modulation – Transformando áudio analógico em digital
q 1º. O Sinal analógico de áudio é amostrado a alguma taxa fixa. • Por exemplo: 8.000 amostras / segundo. • O valor de cada amostra é um número real
arbitrário. q 2º. Cada uma das amostras é então
“arredondada” para um valor qualquer dentre um número finito de valores. • Essa operação é chamada de “quantização”. • Tipicamente é uma potência de 2.
• Por exemplo: usa-se 256 valores de quantização. (Na figura a seguir o processo fica mais claro) �
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 22
Esta figura, e dos slides em seguida, extraídas de http://www.qsl.net/py4zbz/teoria/digitaliz.htm (05/01/15)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 12
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian Figura extraída de http://www.qsl.net/py4zbz/teoria/quantiz.htm
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 24
• O eixo vertical (Y) da figura é graduado no valor das amostras quantizadas com 8 bits : 0 a 255. • O eixo 0 Volts, é deslocado (off-set) para 128.
• Podemos assim representar valores negativos de -1 até -128, com 127 até 0 respectivamente, sem necessidade de sinal (+/-).
• A forma de onda quantizada acima, no formato decimal é : 118, 135, 130, 138, 151, 165, 179, 179, 182, 195, 179, 144, 109, 78, 51, 37, 39, 62, 97, 123.
O que representa os seguintes valores quantizados de tensão (em V), supondo deltaVmax=255 V.
-10,+7,+2,+10,+23,+37,+51,+51,+54,+67,+51,+16,-19,-50,-77,-91,-89,-66,-31,-5 .
Figura extraída de http://www.qsl.net/py4zbz/teoria/digitaliz.htm
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 13
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 25
Codificação PCM (2) Pulso Code Modulation
q 3º. Cada um dos valores de quantização é representado por um número fixo de bits. • Por exemplo, se houver 256 valores de
quantização, então cada valor (cada amostra) será representado por 1 byte.
Valor Quantização Representação. Binária
1 00000000 2 00000001
3 00000011 … …
… … 256 11111111
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 26
Codificação PCM (3) Pulso Code Modulation
q Cada amostra é convertida para sua representação por bits.
q Em seguida: as representações por bits de todas as amostras são, concatenadas em conjunto para formar a representação digital do sinal.
Esta figura extraídas de http://www.qsl.net/py4zbz/teoria/quantiz.htm (05/01/15)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 14
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 27
Figura extraída de http://www.qsl.net/py4zbz/teoria/quantiz.htm (05/01/15)
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 28
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 15
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 29
Exemplo de PCM (1)
q Assim, se um sinal de áudio for amostrado a uma taxa de 8.000 amostras / seg. • Se cada amostra for quantizada e representada
por 8 bits: • O sinal digital resultante terá uma taxa digital de: • 8.000 amostra/seg x 8 bits = 64.000 bits / segundo.
q Este sinal então pode ser re-convertido (decodificado) para um sinal analógico para ser reproduzido em áudio novamente.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 30
Exemplo de PCM (2)
q Assim: codificação de voz usando PCM, com taxa de 8.000 amostras por segundo e 8 bits de amostra: resulta numa taxa digital de 64 Kbps.
q CD de áudio também usa PCM. q Arquivos ”wave” de CDs são codificados por PCM.
q Mas usamtaxa de amostragem de 44.100 amostras por segundo (44,1 KHz) e 16 bits por amostra:
• 705,6 Kbps para mono. • 1,4 Mbps para estéreo → muito alto ! • Por esta razão, voz e música codificadas em PCM
raramente são usadas na Internet.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 16
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 31
Compressão de áudio (1)
q Na Internet: • Ao invés de PCM, utiliza-se técnicas de
compressão para reduzir a taxa de bits. q Dentre as várias técnicas de compressão
para voz, destacam-se: • GSM à usa 13 Kbps. • G.729 à usa 8 Kbps. • G.723.3 à 6,4 e 5,3 Kbps.
• Além de um grande número de técnicas proprietárias.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 32
Compressão de áudio (2)
q Para música estéreo com qualidade próxima de CD usa-se técnica de compressão MPEG de camada 3. • Popularmente chamada de “MP3”. • Comprime a taxa de bits para 128 ou 96 Kbps, com pouca
degradação de som.
q O princípio de funcionamento básico do MP3: • Buscar e eliminar todos os sinais redundantes e
irrelevantes, que não sejam audíveis. • Geralmente aplicado sobre uma codificação PCM.
q MP3 é um padrão MUITO complexo.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 17
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 33
MP3
q O algoritmo de compactação do MP3 elimina frequências muito altas, acima dos 20kHz. • Que não são audíveis pelo ouvido humano, e
que estão presentes numa codificação PCM. • Economiza-se muitos bytes.
q A técnica usada pelo MP3 é denominada “perceptual noise shaping”.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 34
MP3 e Perceptual Noise Shaping q Um conjunto de filtros extrai pequenas amostras do sinal.
• E, através do algoritmo de compactação, gera um novo sinal diferente deste original.
• Que é “menor”, mas que soa aos nossos ouvidos como o primeiro.
q Em qualquer música, se duas frequências muito próximas soarem ao mesmo tempo, nosso ouvido somente ouvirá a mais forte.
q Ou seja, o mp3 simplesmente diminui o número de bits desse sinal mais fraco e mantém os bits do sinal mais forte.
q Diminuindo assim o tamanho final do arquivo PCM na proporção 12:1, mantendo uma qualidade semelhante ao CD, eliminando as redundâncias.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 18
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 35
Aprofundamento de MP3
q http://www.mp3-tech.org
q http://www.iis.fraunhofer.de q http://pt.wikipedia.org/wiki/MP3 Todos os links verificados em January 5, 2015
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 36
Vídeos na Internet
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 19
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 37
Vídeos na Internet (1)
q Os vídeos, para internet, podem ser transmitidos numa fração da sua frequência original. • Por exemplo:
• vídeos capturados a 30 fps (frames por segundo) podem ser transmitidos a 30, 15, 10, 7.5, 6 e 5 fps.
• Padrão cinema, as frequências serão de 24 fps, e pode-se utilizar 24, 12, 8, 6 e 4 fps, na transmissão.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 38
Vídeos na Internet (2)
q O olho humano é sensível a imagens de frequência inferior a 16 fps. • Ou seja: se for mais devagar do que 16 fps, o
olho percebe a passagem de um frame para outro.
q Para que o vídeo seja visto como uma animação, e não como uma sequência de imagens estáticas: • A frequência dos frames deve ser
superior a 16 fps. • Cinema = 24 fps.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 20
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 39
Compressão de vídeo
q Os padrões de compressão MPEG são os mais populares. • Derivados da compressão de imagens JPEG.
q MPEG1: para vídeos com qualidade média. • Necessidade de banda: 1,5 Mbps
q MPEG2: para vídeos DVD de alta qualidade. • Necessidade de banda: 3 a 6 Mbps
q MPEG4: compressão de vídeo orientada a objeto. q Padrão H.261 também é muito usado na Internet. q Há diversos outros padrões proprietários.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 40
Fluxo contínuo de áudio e vídeo armazenados
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 21
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 41
Áudio e vídeo armazenados (1)
q Áudio e de vídeo armazenados em servidores ou em cloud.
q Usuários solicitam os arquivos por demanda. • Por exemplo: apresentados 10s após a requisição.
q Interatividade é possível: • Pausa, avanço, retrocesso, deslocamento.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 42
Áudio e vídeo armazenados (2)
Player ou “Transdutor de Mídia” q Software com funções específicas:
• Remove jitter. • Descomprime. • Faz correção de erros. • Tem interface gráfica de usuário para interatividade.
q Plug-ins podem ser usados para embutir o transdutor de mídia num browser. • Ou podem funcionar independentemente.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 22
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 43
Informações de tempo contínuo em servidores Web (1) q Áudio e de vídeo são armazenados em servidores Web: à Considerado “Abordagem ingênua”.
• Browser pede o arquivo com uma mensagem http-request. • Servidor Web envia o arquivo na mensagem http-response. • O cabeçalho “content-type” do http indica uma codificação
apropriada para áudio e vídeo. • Browser chama o transdutor de mídia, e entrega o arquivo
para ele. • Transdutor de mídia apresenta o arquivo. • Mas há Problemas…
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 44
Informações de tempo contínuo em servidores Web (2)
• Maior problema: o transdutor de mídia interage com o servidor WEB através do browser, que atua como intermediário.
• Vários fatores indesejáveis causados pelo http e TCP.
Alternativa possível: estabelecer conexão entre o servidor e o transdutor.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 23
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 45
Abordagem intermediária: Conexão direta entre o servidor e o transdutor.
q O browser solicita objeto, e recebe um meta arquivo • Um arquivo descrevendo o objeto,
ao invés de receber o próprio arquivo.
q O cabeçalho “Content-type” específica aplicação de áudio e vídeo.
q Browser dispara o transdutor de mídia, e entrega o meta-arquivo para ele.
q Transdutor estabelece uma conexão TCP com o servidor, e envia a ele a mensagem HTTP do tipo http-request.
Problema: q O transdutor de mídia se
comunica usando HTTP, que não foi projetado para suportar comandos de controle de apresentação.
Informações de tempo contínuo em servidores Web (3)
(1) pedido/resposta HTTP por um meta arquivo
(3) arquivo solicitado é enviado usando o HTTP
(2) meta arquivo
transdutor de mídia
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 46
Obtendo o vídeo de um servidor dedicado q Melhor abordagem: transdutor solicita
direto ao servidor de vídeo. q Esta arquitetura permite o uso de outros
protocolos (além do HTTP/TCP) entre o servidor e o transdutor de mídia.
q Pode usar UDP ao invés do TCP.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 24
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 47
Protocolos de aplicação para Mídia:
RTSP Real Time Streaming Protocol
(Aqui começa a sopa de letras...)
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 48
Real Time Streaming Protocol: RTSP (1) HTTP: q Projetistas do HTTP tinham em mente mídias estáticas:
• HTML, imagens, applets, etc… • HTTP não foi projetado para tratar mídia contínua
armazenada (áudio, vídeo, apresentações, etc…). • Principalmente por estar atrelado ao TCP:
• Overhead e controle de fluxo/congestionamento, ligados ao TCP.
Alternativa: RTSP (RFC 2326): q Protocolo de aplicação, tipo cliente-servidor. q Protocolo para CONTROLE DE MÍDIA:
• Permite ao usuário controlar apresentações de mídia contínua: voltar ao início, avançar, “pausar”, continuar, seleção de faixa, etc…
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 25
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 49
Real Time Streaming Protocol: RTSP (2)
IMPORTANTE : O que ele não faz: q Não define como o áudio e o vídeo é encapsulado para
transmissão sobre a rede. q Não é um protocolo de transporte de mídia, portanto não
define como o fluxo de mídia contínua é transportado. q Não especifica se e como o receptor deve armazenar a
mídia. Exemplos: q Helix DNA Server - RealNetworks e Realplayer q Quick Time Streaming Server e Quick Time Player.
• Servidor e transdutor usam RTSP para enviar informações de controle de um para o outro.
q Lista completa de servidores e clientes em http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 50
RTSP: controle fora da banda (1)
Recordando: FTP usa um canal de controle “fora-da-banda”.
q O arquivo é transferido sobre um canal. q Informações de controle são enviadas
sobre outra conexão TCP separada. • Operações de mudanças de diretório, remoção
de arquivos, trocas de nomes, dentre outras. q Os canais “dentro-da-banda”e “fora-da-
banda” usam diferentes números de portas.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 26
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 51
RTSP: controle fora da banda (2)
q Mensagens RTSP também são enviadas “fora-da-banda”.
q As mensagens de controle RTSP usam números de portas diferentes das portas do fluxo de dados de mídia contínua.
• Portanto, são enviados “fora-da-banda”.
q O fluxo de dados de mídia contínua é considerada “dentro-da-banda”.
• Cuja estrutura de pacotes não é definida pelo RTSP,
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 52
Iniciação do RTSP e controles de entrega
q Cliente obtém uma descrição do conteúdo multimídia, que pode consistir de vários fluxos de dados.
q O browser chama o transdutor de mídia com base no tipo de conteúdo descrito.
q A descrição da apresentação inclui referências aos fluxos de mídia usando o método rtsp://
q Transdutor envia o comando RTSP SETUP e servidor envia a resposta RTSP SETUP.
q Transdutor envia o comando RTSP PLAY; servidor envia a resposta RTSP PLAY.
q O servidor de mídia descarrega o fluxo de mídia.
q Transdutor envia o comando RTSP PAUSE; o servidor envia a resposta RTSP PAUSE.
q Transdutor envia o comando RTSP TEARDOWN; servidor envia a resposta RTSP TEARDOWN.
HTTP GET
SETUP
PLAY
media stream PAUSE
TEARDOWN
media player
Web server
media server
Web browser
client server
presentation desc.
Transdutor de mídia
Servidor de mídia
cliente servidor
descr. apresent.
fluxo de mídia
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 27
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 53
Exemplo de Meta-arquivo: <title>Twister</title> !<session> ! <group language=en lipsync> ! <switch> ! <track type=audio ! e="PCMU/8000/1" ! src = "rtsp://audio.example.com/twister/audio.en/lofi"> ! <track type=audio ! e="DVI4/16000/2" pt="90 DVI4/8000/1" ! src="rtsp://audio.example.com/twister/audio.en/hifi"> ! </switch> ! <track type="video/jpeg" ! src="rtsp://video.example.com/twister/video"> ! </group> !
</session> !
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 54
Sessão RTSP
q Cada sessão RTSP tem um identificador de sessão, escolhido pelo servidor. • O cliente inicia a sessão com o comando SETUP, e o
servidor responde ao comando com um identificador. q O cliente repete o identificador de sessão em
cada comando, • Até que o cliente encera a sessão com o comando
TEARDOWN. q O número de porta do RTSP é 554. q RTSP é encapsulado em TCP para transporte.
• Cada mensagem RTSP pode ser enviada numa conexão TCP separada.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 28
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 55
RTSP: exemplo de mensagens CLIENT: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=PLAY SERVER: RTSP/1.0 200 1 OK Session 4231 CLIENT: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- CLIENT: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37 CLIENT: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 SERVER: 200 3 OK
Comandos
Session ID
RTP: veremos mais adiante
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 56
Aplicações interativas em tempo-real
Fazendo o (im)possível com o “melhor esforço”
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 29
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 57
Aplicações interativas em tempo-real
q Telefone IP - Telefone IP (Hardware VoIP-2-VoIP). q Device a device (Softfone VoIP-2-VoIP). q VoIP para telefone convencional (PSTN).
• Skype • Gizmo • Viber • Facetime • Net2phone • Muitos outros...
q Videoconferência. q Live Webcams.
Como exemplo, vamos agora examinar um produto de telefone da Internet em detalhes…
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 58
Telefonia Internet sobre melhor-esforço (1)
Usando melhor esforço: q Temos problemas de:
• Atraso • Perdas • Jitter
q Usando um exemplo de telefonia IP, vamos examinar como estes problemas são tratados.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 30
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 59
Telefonia Internet sobre melhor-esforço (2)
q As aplicações de telefonia na Internet geram pacotes SOMENTE durante momentos de atividade da voz.
q Considere uma taxa de bits PCM de 64 kbps • 8 kbytes / seg durante atividade.
(na verdade é uma taxa muito alta - na prática as taxas serão menores e deve-se usar compressão).
• Ou seja, 8 kbytes / seg por rajada.
q Como a aplicação funciona: • Junta as partes de atividade, e gera uma porção de
dados a cada 20 ms (por padrão).
q Continuando....
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 60
Telefonia Internet sobre melhor-esforço (3)
q Junta tudo, e gera uma porção de dados a cada 20 ms. Ou seja:
• Durante períodos de atividade, a aplicação produz um bloco de 160 bytes.
8 kb/seg x 20 ms = 160 bytes q Além disso: um cabeçalho é acrescentado ao bloco.
• Bloco + cabeçalho são encapsulados num pacote UDP, e enviados.
q Alguns pacotes podem ser perdidos à o atraso irá variar. q Receptor deve determinar quando reproduzir um bloco, e
determinar o que fazer com um bloco faltante.
q Veremos como os problemas são tratados...
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 31
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 61
Telefonia Internet sobre melhor-esforço (4) (tratando problemas)
Perda de pacotes: q Segmento UDP à encapsulado num datagrama IP. q Datagrama pode ser descartado num roteador. q Uso de TCP poderia eliminar perdas.
• Mas tem efeitos colaterais: • Retransmissões aumentam o atraso. • Sliding window do TCP limita a taxa de transmissão.
q Pacotes redundantes podem ajudar (veremos mais adiante) Atraso fim-a-fim: q Causa: acúmulo da soma dos atrasos
• transmissão, propagação, processamento, e de filas. q Se há mais que 400 ms de atraso fim-a-fim:
• compromete a interatividade. q Quanto menor o atraso, melhor
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 62
Telefonia Internet sobre melhor-esforço (5) (tratando problemas)
Perda de pacotes: q Segmento UDP à encapsulado num datagrama IP. q Datagrama pode ser descartado num roteador. q Uso de TCP poderia eliminar perdas.
• Mas tem efeitos colaterais: • Retransmissões aumentam o atraso. • Sliding window do TCP limita a taxa de transmissão.
q Pacotes redundantes podem ajudar (veremos mais adiante) Atraso fim-a-fim: q Causa: acúmulo da soma dos atrasos
• Atrasos: transmissão, propagação, processamento, e de filas. q Se há mais que 400 ms de atraso fim-a-fim:
• Conforme já visto: compromete a interatividade. q Quanto menor o atraso, melhor a experiência do cliente.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 32
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 63
Telefonia Internet sobre melhor-esforço (6) (tratando problemas)
Jitter ou Variação de atraso: q Considere dois pacotes consecutivos num intervalo
de atividade. q Espaçamento inicial é de 20 ms.
• Mas o espaçamento no receptor pode ser maior ou menor que 20 ms à devido ao JITTER.
Para remover o jitter, utiliza-se, ao mesmo tempo: 1. Marcas de tempo. 2. Atrasos na reprodução. 3. Números de sequência.
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 64
1. Uso de marcas de tempo (timestamp)
q Emissor coloca uma marca de tempo t no bloco.
q Receptor tenta reproduzir cada bloco exatamente q ms depois que o bloco é gerado. • Se o bloco tem marca de
tempo t, receptor usa o bloco no instante (t+q) .
• Se o bloco chega após o instante (t+q), receptor o descarta.
q Números de sequência não são necessários aqui.
q Esta estratégia permite perder pacotes.
q A escolha do valor de q é importante: • q grande: perda de
pacotes MENOR. • q pequeno: melhor
controle da interatividade.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 33
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 65
2. Atraso de reprodução (fixo) q Transmissor gera pacotes a cada 20 ms durante os intervalos de atividade. q Atrasa o início por um fator fixo. q Primeiro pacote é recebido no instante r. q Primeira programação de reprodução: começa em p. q Uma segunda programação de reprodução poderia começar em p’. q Deve-se escolher p ou p’ adequadamente.
tempo
packets
time
packetsgenerated
packetsreceived
loss
r
p p'
playout schedulep - r
playout schedulep' - r
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 66
2. Atraso de reprodução (adaptativo) (1)
pacote ésimo- oreceber após rede na atraso do estimativapacote ésimo- o para rede da atraso
receptor no oreproduzid é pacote o qual no instantereceptor pelo recebido é pacote o qual no instante
pacote ésimo do tempode marca
iditripir
it
i
ii
i
i
i
=
=−
=
=
−=
• Estima o atraso da rede, e ajusta o atraso de reprodução no início de cada intervalo de atividade.
• Intervalos de silêncio são aumentados e diminuídos de forma dinâmica à com base na média estatística dos atrasos.
• Blocos ainda são gerados a cada 20 ms nos intervalos de atividade.
Estimativa dinâmica do atraso médio no receptor: )()1( 1 iiii trudud −+−= −
onde u é uma constante fixa (ex: u = 0,01).
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 34
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 67
É também usual estimar a variância média do atraso, vi :
||)1( 1 iiiii dtruvuv −−+−= −
As estimativas de di e vi são calculadas para cada pacote recebido, embora elas sejam usadas apenas no início de um intervalo de atividade. Para o primeiro pacote de um intervalo de atividade, o instante de reprodução é:
iiii Kvdtp ++=
onde K é uma constante positiva. Para este mesmo pacote, o atraso de reprodução é:
iii tpq −=
Para o pacote j no mesmo intervalo de atividade, o pacote deve ser reproduzido em:
ijj qtp +=
2. Atraso de reprodução (adaptativo) (2)
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 68
q Como saber se um pacote é o primeiro após um silêncio ? • Intervalo de atividade.
q Se nunca houvesse perdas o receptor poderia simplesmente olhar nas marcas de tempo sucessivas. • Se a diferença de marcas de tempo
sucessivas for maior que 20 ms, então é o início de silêncio (intervalo).
• Mas as perdas podem ocorrer.
3. Números de sequência (1)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 35
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 69
q Mas, uma vez que as perdas podem ocorrer:
q O receptor deve olhar tanto as marcas de tempo como os números de sequência dos pacotes.
• Se a diferença de marcas de tempo sucessivas for maior que 20 ms, e não há saltos nos números de sequência, então há o início de um silêncio.
3. Números de sequência (2)
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian
Recuperação de perdas
Perdas: pacote nunca chega, ou chega depois do seu tempo de
reprodução programado
70
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 36
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 71
Recuperação de perdas de pacotes (1) 1º. esquema FEC
Correção de erro de envio (FEC) - esquema simples: q Para cada grupo de n blocos, cria um bloco redundante
realizando uma operação “OU exclusivo” (XOR) entre os n blocos originais.
q Envia os n+1 blocos, aumentando o uso banda por um fator de 1/n.
q Assim é possível reconstruir os n blocos originais, se houver no máximo um bloco perdido nos n+1 blocos enviados.
FEC = Forward Error Correction Similar ao método de paridade. Ver seção 5.2.1 Kurose &Ross
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 72
Recuperação de perdas de pacotes (2) 2º. esquema FEC
2o. esquema FEC: q Enviar, junto com o fluxo original, um fluxo de
menor qualidade como “carona”. q Isto é, envia fluxo de áudio de menor resolução
como a informação redundante. q Por exemplo, um fluxo PCM nominal a 64 kbps
e um fluxo GSM redundante a 13 kbps. q Transmissor cria pacote tomando o bloco n do
fluxo nominal, e anexando a ele o bloco (n-1) do fluxo redundante.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 37
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 73
2o. esquema FEC:
• Enviar um fluxo de menor qualidade como “carona”.
• Envia fluxo de áudio de menor resolução como a informação redundante.
• Por exemplo, um fluxo PCM nominal a 64 kbps e um fluxo GSM redundante a 13 kbps.
• Transmissor cria pacote tomando o bloco n do fluxo nominal, e anexando a ele o bloco (n-1) do fluxo redundante
• Sempre que ocorre perda não-consecutiva, o receptor pode esconder a perda. • Apenas dois pacotes precisam ser recebidos antes do início da reprodução • Pode também anexar os blocos (n-1) e (n-2) do fluxo de baixa qualidade.
Recuperação de perdas de pacotes (3) Fluxo original
Redundância
Perda de Pacote
Fluxo reconstruído
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 74
Recuperação de perdas de pacotes (4) Outra técnica: intercalação
q Blocos são quebrados em unidades menores.
q Por exemplo, 4 blocos de 5 ms cada. q Intercalar os blocos como mostrado no
diagrama (a seguir). q Cada pacote agora contém unidades
menores de diferentes blocos.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 38
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 75
Intercalação: q Blocos são
quebrados em unidades menores.
q Por exemplo, 4 blocos de 5 ms cada.
q Intercalar os blocos como mostrado no diagrama.
q Pacote agora contém unidades menores de diferentes blocos.
q Remontar os blocos no receptor.
q Se o pacote é perdido, ainda resta mais de cada bloco.
Recuperação de perdas de pacotes (5) Fluxo original
Fluxo intercalado
Perda de pacote
Fluxo reconstruído
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian 76
q Técnicas para recuperação pelo receptor de fluxos de áudio danificados:
q Produzir uma substituição para um pacote perdido que seja similar ao pacote original. • Pode produzir bons resultados para baixas taxas de
perdas, e pacotes pequenos (4 ~ 40 ms). • Estratégia mais simples: repetição de n. • Estratégia mais complexa: interpolação.
Recuperação de perdas de pacotes (6) Resumo
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 39
unesp - IBILCE - SJRP
© 2014 Adriano Mauro Cansian
Até aqui vimos:
q Conceitos fundamentais e características da Mídia na Internet.
q Problemas e desafios. q Fluxo contínuo de áudio e vídeo
armazenados. q Codificação de áudio e vídeo, PCM e MP3. q Controle de mídia com RTSP. q Aplicações interativas em tempo real. q A seguir: protocolos para transportar mídia
• RTP, RTCP, VoIP, H323, SIP, e outros....
77
top related