Tópicos em Sistemas de



Documentos relacionados
Multimídia na Internet

Protocolos Multimídia na Internet. Parte 1 - Conceitos

Protocolos Multimídia na Internet

Multimédia, Qualidade de Serviço (QoS): O que são?

Fluxos Multimédia Armazenados

Protocolos Multimídia. Alunos: Roberto Schemid Rafael Mansano

Redes de Computadores

3 Qualidade de serviço na Internet

Redes Mul)mídia. Tópicos. Streaming de Áudio e Vídeo. Aplicações de Rede Mul:mídia Introdução Classes de Aplicações Mul:mídia

Redes Multimídia. Professor: Renê Furtado Felix Redes II - UNIP 1

Redes de Computadores

Redes de Computadores

Prof. Daniel Hasse. Multimídia e Hipermídia

Streaming vídeo com RTSP e RTP

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

2 Q Prof. Roberto Jacobe

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Prof. Marcelo Machado Cunha Parte 3

REDES DE COMPUTADORES

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Capítulo 7 CAMADA DE TRANSPORTE

Quadro de consulta (solicitação do mestre)

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

REDES CONVERGENTES PROFESSOR: MARCOS A. A. GONDIM

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Márcio Leandro Moraes Rodrigues. Frame Relay

Subunidade 6: publicação

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Redes de computadores. Redes para Internet

Cap 03 - Camada de Aplicação Internet (Kurose)

Arquitetura de Rede de Computadores

Prof. Samuel Henrique Bucke Brito

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

III.2. CABLE MODEMS CARACTERÍSTICAS BÁSICAS UNIDADE III SISTEMAS HÍBRIDOS

Aula 6 Modelo de Divisão em Camadas TCP/IP

Teleprocessamento e Redes

6 de Julho de Exercício 23 Para que servem portas na camada de transporte?

Entendendo como funciona o NAT

7. DIVULGAÇÃO DE VÍDEOS E SOM VIA REDE MÉTODO STREAMING

MINISTÉRIO DA EDUCAÇÃO

Aplicações e redes multimédia

TRANSMITINDO CONHECIMENTO ON-LINE

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

Rede de Computadores

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Veja abaixo um exemplo de um endereço IP de 32 bits:

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Gerenciamento de redes

Cap 01 - Conceitos Básicos de Rede (Kurose)

:: Telefonia pela Internet

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Sumário INTRODUÇÃO... 4 PROTOCOLO ARP...5 ARP - ADDRESS RESOLUTION PROTOCOL...5 FUNCIONAMENTO DO PROTOCOLO ARP...5 CACHE ARP... 6

Sistemas Distribuídos

CAMADA DE TRANSPORTE

Informática I. Aula Aula 22-03/07/06 1

Modelos de Camadas. Professor Leonardo Larback

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

CONCEITOS BÁSICOS DE REDES 2 [COMUTAÇÕES / TAXONOMIA]

rr-09-r.01 Introdução UC: Redes de Computadores Docente: Prof. André Moraes

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Wireshark Lab: TCP. Versão KUROSE, J.F & ROSS, K. W. Todos os direitos reservados 2011 BATISTA, O. M. N. Tradução e adaptação para Wireshark.

Tecnologia de Redes de Computadores - aula 5

Redes de Computadores

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

COMPONENTES BÁSICOS DE

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Codificação/Compressão de Vídeo. Tópico: Vídeo (Codificação + Compressão)

Arquitetura de Redes: Camadas de Protocolos (Parte II)

PROJETO DE REDES

2- Conceitos Básicos de Telecomunicações

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Prof. Manuel A Rendón M

Redes de Computadores. Trabalho de Laboratório Nº7

Redes de Computadores I Internet - Conceitos

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Capítulo 7 CAMADA DE TRANSPORTE

Unidade 2.1 Modelos de Referência

Camada de Transporte, protocolos TCP e UDP

Comunicação de Dados. Aula 4 Conversão de Sinais Analógicos em digitais e tipos de transmissão

Streaming na pratica Shoutcast Flumotion

Módulo 8 Ethernet Switching

Redes de Computadores Aula 3

Fundamentos de Redes de Computadores. Elementos de Redes Locais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Protocolos de Redes Revisão para AV I

Capítulo 1: Redes de computadores e a Internet. Capítulo1. Redes de. computadores. computador. e a Internet. es e a Internet

Redes de Computadores e a Internet

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

UNIVERSIDADE. Sistemas Distribuídos

Transmissão de Voz em Redes de Dados (VoIP)

Copyright 2013 VW Soluções

Transcrição:

Tópicos em Sistemas de Computação Adriano Mauro Cansian Protocolos Multimídia (Parte 1) 1

Multimídia na Internet Objetivos: Entender os requisitos de serviço para redes com multimídia Atraso Taxa de transmissão Perda Aprender como aproveitar ao máximo do serviço de melhor esforço da Internet. Aprender como a Internet poderá evoluir para um melhor desempenho dos serviços multimídia. Veremos: Aplicações de rede com multimídia. Áudio e vídeo de tempo contínuo armazenados RTSP. Aplicações interativas ti de tempo-real Telefonia na Internet. RTP H323eSIP H.323 2

Multimídia em Redes Características Fundamentais: Tipicamente: sensíveis ao atraso. Mas são tolerante a perdas: perdas eventuais podem passar desapercebidas. Multimídia é a antítese de dados: d programas, arquivos binários, informações bancárias, etc... que não toleram falhas, mas aceitam atrasos. Multimídia também é chamada de mídia de tempo contínuo. Divisão em classes (a seguir). 3

Características de Multimídia em Redes (1) Classes de aplicações MM: 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 ti Vídeo e/ou áudio interativo em tempo-real. Veremos algumas destas características a seguir 4

Características de Multimídia em Redes (2) Mídia armazenada (1) Clientes solicitam arquivos de áudio e vídeo disponíveis em servidores. Recebem a informação pela rede. 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: 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. 5

Características de Multimídia em Redes (3) Mídia armazenada (2) Evita descarregar o arquivo inteiro i antes de começar a reproduzir. O cliente está reproduzindo uma parte do arquivo, ao mesmo tempo em que está recebendo as partes que estão mais à frente. Exemplos de players: Real One Player (Helix) Microsoft Windows Media Player Quicktime VLC Vários outros Exemplo prático: podcasts e videocasts. 6

Características de Multimídia em Redes (3) Fluxo contínuo Em tempo real unidirecional i (broadcast). d Similar à TV convencional. Não interativo: apenas ouvir e ver. Obviamente não avança nem retrocede, (ao vivo). 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. Normalmente operam com fluxos unicast. Exemplos: Rádios (RoIP) e TVs (IPTV) via Internet. Vários canais disponíveis em todo o mundo. 7

Características de Multimídia em Redes (3) Tempo real interativo Fluxo bidirecional i de áudio ou de vídeo. Conferência. Mais exigente nos requisitos de atraso devido à necessidade de interatividade em tempo real. Vídeo: Atraso < 150 ms é aceitável Áudio: Atraso < 150 ms é bom. Atraso entre 150 e 400 ms é aceitável. Exemplos: VoIP: Skype, Gizmo, MSN Messenger, Microsoft Netmeeting, dentre vários outros. 8

Obstáculos e desafios 9

Obstáculos e desafios para multimídia em redes (1) Arquitetura t IP não garante nada: Fornece melhor esforço (best effort). Sem garantias sobre o atraso ou variação de atraso. Aplicações Interativas em tempo real têm requisitos rígidos para atraso de pacotes e jitter. Jitter é a variação do atraso de pacotes, dentro de um mesmo fluxo de pacotes. Aplicações de tempo contínuo com atrasos inicias de 5 a 10 seg. são comuns. Mas o desempenho deteriora se os enlaces estão congestionados ou muito distantes. 10

Obstáculos e desafios para multimídia em redes (2) 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. Esforços vêm sendo desenvolvidos para prover serviços diferenciados. i d Algumas boas idéias têm surgido, utilizando-se recursos já disponíveis. IPv6 seria uma boa idéia, mas ainda pouco utilizado. 11

Aproveitando ao máximo o melhor esforço 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. Vamos discutir todos esses recursos. 12

Como a Internet deveria evoluir para suportar melhor as aplicações multimídia? (1) Filosofia de serviços Integrados: 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 deve fornecer à rede uma descrição do seu tráfego. Exige software novo e complexo nos hosts e nos routers. 13

Como a Internet deveria evoluir para suportar melhor as aplicações multimídia? (2) Filosofia de serviços Diferenciados: i Exige mudanças menores na Internet. Datagramas são marcados. Serviços de primeira e de segunda classe. Platinnun e Gold Usuários: pagar mais para enviar e receber datagramas de primeira classe. ISP: pagar mais aos provedores de backbone para enviar e receber pacotes de primeira classe. Novas oportunidades de negócios. 14

Codificação e Compressão de áudio e vídeo Iniciaremos com estudo de áudio 15

Codificação e exigências de banda 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. Um vídeo, para ser transmitido com qualidade de cinema, sem compressão, exigiria 160 Mbps de banda. Um áudio com qualidade de CD, sem compressão, exigiria cerca de 2,8 Mbps. No estágio tecnológico atual, usuários ái de banda d larga trabalham de 0,5 a 2 Mbps. Ou seja, algo entre 600 a 150 vezes mais lentos do que seria necessário para uma perfeita transmissão Portanto, outra solução deve ser adotada. 16

Codificação e CODECs 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. São módulos que comprimem arquivos de áudio e vídeo. Permitem que trafeguem nas velocidades lentas da rede. Um programa de transmissão de imagens usa vários tipos de codecs. Cada um dos quais otimizado para dado tipo de mídia. 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. 17

CODECs e a qualidade de áudio A maior parte dos codecs de áudio para a internet: Têm as taxas de compressão baseadas na freqüência de amostragem, enonúmero número de canais. A qualidade é afetada pela freqüência de amostragem. A maioria das placas captura áudio a 44,1 KHz, ou seja, com qualidade de CD. Esta freqüência é ótima, mas muito elevada para a internet. Por isso, é normal baixar a freqüência para 22,05 KHz. Se o objetivo for apenas transmitir voz,,pode-se abaixar a freqüência para até 8 KHz até 6 KHz. 18

Codificação PCM (1) Pulso Code Modulation unesp - IBILCE - SJRP 1)Si 1.) Sinal analógico de áudio é amostrado a alguma taxa fixa. Por exemplo: 8.000 amostras / segundo. Valor de cada amostra: Éumnúmero real arbitrário. 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. q ç Tipicamente é uma potência de 2. Por exemplo: usa-se 256 valores de quantização. 19

Figura extraída de http://www.qsl.net/py4zbz/teoria/digitaliz.htm (em 17.11.2009) 20

Figura extraída de http://www.qsl.net/py4zbz/teoria/quantiz.htm (em 17.11.2009)

Figura extraída de http://paginas.terra.com.br/lazer/py4zbz/teoria/quantiz.htm (em 30.10.2008) unesp - IBILCE - SJRP O eixo vertical (Y) da figura é graduado no valor das amostras quantizadas com 8bi 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. 22

Codificação PCM (2) Pulso Code Modulation unesp - IBILCE - SJRP 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 1b byte. Valor Quantização 1 00000000 2 00000001 3 00000011 Representação. Binária 256 11111111 23

Codificação PCM (3) Pulso Code Modulation unesp - IBILCE - SJRP Cada amostra é convertida para sua representação por bits. Em seguida: as representações por bits de todas as amostras são, concatenadas em conjunto para formar a representação digital do sinal. 24

Figura extraída de http://paginas.terra.com.br/lazer/py4zbz/teoria/quantiz.htm terra htm (em 30.10.2008) 25

26

Exemplo de PCM (1) Um sinal de áudio amostrado a uma taxa de 8.000 amostras por segundo. 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. Este sinal então pode ser re-convertido (decodificado) para um sinal analógico para ser reproduzido. 27

Exemplo de PCM (2) Então: 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. Arquivos wave de CDs são arquivos codificados por PCM. CD de áudio também usa PCM, com taxa de amostragem de 44.100 amostras por segundo e 16 bits por amostra: Taxa de 705,6 Kbps para mono. Taxa de 1.411 Kbps para estéreo muito alto! Por esta razão, voz e música codificadas em PCM raramente são usadas na Internet. 28

Compressão de áudio (1) Na Internet: Ao invés de PCM, utiliza-se técnicas de compressão para reduzir a taxa de bits. Dentre as técnicas de compressão para voz,destacam-se: GSM (13 Kbps) G.729 (8 Kbps) G.723.3 (6,4 e 5,3 Kbps). Além de um grande número de técnicas proprietárias. 29

Compressão de áudio (2) 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. O princípio de funcionamento básico do MP3: Buscar e eliminar todos os sinais redundantes e irrelevantes não audíveis. Geralmente aplicado sobre uma codificação PCM. MP3 é um padrão MUITO complexo. 30

MP3 O algoritmo de compactação do MP3 elimina freqüê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 vários bytes. A técnica usada pelo MP3 é denominada perceptual noise shaping. 31

MP3 e Perceptual Noise Shaping 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. Em qualquer música, se duas freqüências muito próximas soarem ao mesmo tempo, nosso ouvido somente ouvirá a mais forte. Ou seja, o mp3 simplesmente diminui o número de bits desse sinal mais fraco e mantém os bits do sinal mais forte. Diminuindo assim o tamanho final do arquivo PCM na proporção 12:1, mantendo uma qualidade semelhante ao CD, eliminando as redundâncias. 32

Aprofundamento de MP3 http://www.mp3-tech.org http://www.iis.fraunhofer.de http://pt.wikipedia.org/wiki/mp3 Todos os links verificados em 22 de novembro de 2009 33

Vídeos na Internet 34

Vídeos na Internet (1) Os vídeos, para internet, são sempre transmitidos numa fração da sua freqüê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. Se utilizamos padrão cinema, as freqüências serão de 24 fps e pode-se utilizar 24, 12, 8, 6 e 4 fps, na transmissão. 35

Vídeos na Internet (2) O olho humano é sensível a imagens de freqüê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. Para que o vídeo seja visto como uma animação,, e não como uma seqüência de imagens estáticas: A freqüência dos frames deve ser superior a 16 fps. Cinema = 24 fps. 36

Compressão de vídeo Os padrões de compressão MPEG são os mais populares. Derivados da compressão de imagens JPEG. MPEG1: para vídeos com qualidade de CD-ROM. 1,5 Mbps MPEG2: para vídeos DVD de alta qualidade. 3 a 6 Mbps MPEG4: para compressão de vídeo orientada a objeto. Padrão H.261 também é muito usado na Internet. Há diversos outros padrões proprietários. 37

Fluxo contínuo de áudio e vídeo armazenados 38

Áudio e vídeo armazenados (1) Arquivos de áudio e de vídeo armazenados em servidores Usuários solicitam os arquivos de áudio e de vídeo, por demanda. Exemplo: apresentados 10 segundos após a requisição. Interatividade é possível: Pausa, avanço, retrocesso, deslocamento. 39

Áudio e vídeo armazenados (2) Transdutor de Mídia (player): Software com funções específicas: Remove jitter. Descomprime. Faz correção de erros. Tem interface gráfica de usuário para interatividade. Plug-ins podem ser usados para a embutir o transdutor de mídia na janela de um browser. Mas podem funcionar independentemente. 40

Informações de tempo contínuo em servidores Web (1) Os arquivos de áudio e de vídeo são armazenados em servidores Web: abordagem ingênua. Browser pede o arquivo com uma mensagem http-request. Servidor Web envia o arquivo na mensagem HTTP resposta. O cabeçalho content-type 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. Problemas 41

Informações de tempo contínuo em servidores Web (2) unesp - IBILCE - SJRP 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. 42

Informações de tempo contínuo em servidores Web (3) Conexão entre o servidor e o transdutor. O browser solicita objeto, e recebe um meta arquivo Um arquivo descrevendo o objeto, ao invés de receber o próprio arquivo. O cabeçalho Content-type type específica aplicação de áudio e vídeo. Browser dispara o transdutor t de mídia, e entrega o metaarquivo para ele. Transdutor estabelece uma conexão TCP com o servidor, e envia a ele a mensagem HTTP do tipo http-request. (2) meta arquivo transdutor de mídia (1) pedido/resposta HTTP por um meta arquivo (3) arquivo solicitado é enviado usando o HTTP Algumas preocupações: O transdutor de mídia se comunica usando HTTP, que não foi projetado para suportar comandos de controle de apresentação. Pode-se desejar enviar o áudio e o vídeo sobre UDP. 43

Obtendo o vídeo de um servidor dedicado Melhor abordagem: transdutor solicita direto ao servidor de vídeo. Esta arquitetura permite o uso de outros protocolos (além do HTTP/TCP) entre o servidor e o transdutor de mídia. Pode usar UDP ao invés do TCP. 44

RTSP Real Time Streaming Protocol 45

Real Time Streaming Protocol: RTSP (1) HTTP: Projetistas do HTTP tinham em mente mídias fixas : HTML, imagens, applets, etc HTTP não foi projetado para tratar mídia contínua armazenada (áudio, vídeo, apresentações, etc ). Pi Principalmente i por estar atrelado ao TCP: Overhead e questões de controle de fluxo, ligados ao TCP. Ao invés disso: RTSP (RFC 2326). Protocolo de aplicação, tipo cliente-servidor. 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 46

Real Time Streaming Protocol: RTSP (2) O que ele não faz: Não define como o áudio e o vídeo é encapsulado para transmissão sobre a rede. Não define como o fluxo de mídia contínua é transportado: pode usar UDP ou TCP. Não especifica como o receptor armazena o áudio e o vídeo. Exemplo: RealNetworks (RealAudio, RealVideo, RealOne). Servidor e transdutor usam RTSP para enviar informações de controle de um para o outro. 47

RTSP: controle fora da banda (1) unesp - IBILCE - SJRP Recordando: d FTP usa um canal de controle fora-da-banda O arquivo é transferido sobre um canal. Informações de controle são enviadas sobre outra conexão TCP separada. Mudanças de diretório, remoção de arquivos, trocas de nomes, dentre outras. Os canais dentro-da-banda e fora-dabanda usam diferentes números de portas. 48

RTSP: controle fora da banda (2) Mensagens RTSP também são enviadas fora-da-banda : d b d As mensagens de controle RTSP usam números de portas diferentes das portas do fluxo de dados d de mídia contínua Portanto, são enviados fora-da-banda. O fluxo de dados de mídia contínua é considerada dentroda-banda. Cuja estrutura de pacotes não é definida pelo RTSP, ( Se as mensagens do RTSP usassem os mesmos números de portas do fluxo de mídia contínua, então as mensagens RTSP seriam consideradas como intercaladas com o fluxo de mídia contínua. ) 49

Iniciação do RTSP e controles de entrega Web browser HTTP GET descr. presentation apresent. desc. SETUP Web server Cliente obtém uma descrição do conteúdo multimídia, que pode consistir de vários fluxos de dados. O browser chama o transdutor de mídia com base no tipo de conteúdo descrito. Transdutor media de player mídia cliente PLAY fluxo media de stream mídia PAUSE TEARDOWN Servidor media de server mídia servidor server A descrição da apresentação inclui referências aos fluxos de mídia usando o método rtsp:// Transdutor envia o comando RTSP SETUP e servidor envia a resposta RTSP SETUP. Transdutor envia o comando RTSP PLAY; servidor envia a resposta RTSP PLAY. O servidor de mídia descarrega o fluxo de mídia. Transdutor envia o comando RTSP PAUSE; o servidor envia a resposta RTSP PAUSE. Transdutor envia o comando RTSP TEARDOWN; servidor envia a resposta RTSP TEARDOWN. 50

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"> /t i t / /l <track type=audio e="dvi4/16000/2" pt="90 DVI4/8000/1" src="rtsp://audio.example.com/twister/audio.en/hifi"> / i / /hifi" </switch> <track type="video/jpeg" </group> </session> src="rtsp://video.example.com/twister/video"> 51

Sessão RTSP Cada sessão RTSP tem um identificador de sessão, escolhido pelo servidor. O cliente inicia a sessão com o comando SETUP, eo servidor responde ao comando com um identificador. O cliente repete o identificador de sessão em cada comando, Até que o cliente encera a sessão com o comando TEARDOWN. O número de porta do RTSP é 554. RTSP pode ser usado sobre UDP ou TCP. Cada mensagem RTSP pode ser enviada numa conexão TCP ou sessão UDP separada. 52

RTSP: exemplo de mensagens CLIENT: SERVER: Comandos CLIENT: CLIENT: CLIENT: SERVER: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=play RTSP/1.0 200 1 OK Session 4231 RTP: veremos mais adiante PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- Session ID PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37 TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi p RTSP/1.0 Session: 4231 200 3 OK 53

Aplicações interativas em tempo-real Fazendo o (im)possível com o melhor esforço 54

Aplicações interativas em tempo-real Telefone IP - Telefone IP (Hardware d VoIP-2-VoIP) V IP) Telefone PC a PC (Softfone VoIP-2-VoIP) VoIP a telefone convencional (PSTN) Skype Gizmo Net2phone Muitos outros... Videoconferência i Live Webcams Vamos agora examinar um produto de telefone da Internet em detalhes 55

Telefonia Internet sobre melhor-esforço esforço (1) Melhor esforço: Temos problemas de: Atraso, perdas e jitter. Usando um exemplo de telefonia IP, vamos examinar como estes problemas são tratados. 56

Telefonia Internet sobre melhor-esforço esforço (2) As aplicações de telefonia na Internet t geram pacotes SOMENTE durante momentos de atividade da voz. Taxa de bits PCM de 64 kbps (8 kbytes/seg) durante atividade. É Muito alta! Na prática serão menores (compressão). Ou seja, 8 kbytes/seg por rajada. Como a aplicação funciona: Junta as partes de atividade, e gera uma porção de dados a cada 20 ms. Continuando... 57

Telefonia Internet sobre melhor-esforço esforço (3) Junta tudo, e gera uma porção de dados d a cada 20 ms. Ou seja: Durante períodos de atividade, a aplicação produz um bloco de 160 bytes: Bloco (chunk) = 8 kbytes/s * 20 ms = 160 bytes Além disso: cabeçalho é acrescentado ao bloco. Bloco mais cabeçalho são encapsulados num pacote UDP, e enviados. Alguns pacotes podem ser perdidos atraso irá variar. Receptor deve determinar quando reproduzir um bloco, e determinar o que fazer com um bloco faltante. 58

Telefonia Internet sobre melhor-esforço (4) Tratando problemas Perda de pacotes: Segmento UDP encapsulado num datagrama IP. Datagrama pode ser descartado num roteador. Usar TCP poderia eliminar perdas. Mas tem efeitos colaterais: Retransmissões aumentam o atraso. Sliding window dotcplimitaataxadetransmissão a taxa de transmissão. Pacotes redundantes podem ajudar (veremos mais adiante) Atraso fim-a-fim: Causa: acúmulo da soma dos atrasos transmissão, propagação, processamento, e de filas. Se há mais que 400 ms de atraso aso fim-a-fim: compromete a interatividade. Quanto menor o atraso, melhor 59

Telefonia Internet sobre melhor-esforço (4) Tratando problemas Perda de pacotes: Segmento UDP encapsulado num datagrama IP. Datagrama pode ser descartado num roteador. Usar TCP poderia eliminar perdas. Mas tem efeitos colaterais: Retransmissões aumentam o atraso. Sliding window dotcplimitaataxadetransmissão a taxa de transmissão. Pacotes redundantes podem ajudar (veremos mais adiante) Atraso fim-a-fim: Causa: acúmulo da soma dos atrasos transmissão, propagação, processamento, e de filas. Se há mais que 400 ms de atraso aso fim-a-fim: compromete a interatividade. Quanto menor o atraso, melhor 60

Telefonia Internet sobre melhor-esforço (5) Tratando problemas Variação de atraso: Considere dois pacotes consecutivos num intervalo de atividade. 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: Marcas de tempo. Atrasos na reprodução. Números de seqüência. 61

Uso de marcas de tempo (timestamp) 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. Números de seqüência não são necessários. Estratégia permite perder pacotes. A escolha do valor de q é importante: q grande: perda de pacotes MENOR. q pequeno: melhor controle da interatividade. 62

Uso de Atraso de reprodução fixo unesp - IBILCE - SJRP Transmissor gera pacotes a cada 20 ms durante os intervalos de atividade. Atrasa o início por um fator fixo. Primeiro pacote é recebido no instante r. Primeira programação de reprodução: começa em p. Uma segunda programação de reprodução poderia começar em p. Deve-se escolher p ou p adequadamente. packets packets generated loss packets received playout schedule p - r playout schedule p' - r tempo time r p p' 63

Atraso de reprodução adaptativo (1) unesp - IBILCE - SJRP 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. = marca de tempo do i ésimo pacote t i r i p r i d = instante no qual o pacote i é recebido pelo receptor i i = instante no qual o pacote i é reproduzido no receptor t i = atraso da rede para o i - éi ésimo pacote = estimativa do atraso na rede após receber o i - ésimo pacote Estimativa dinâmica do atraso médio no receptor: d 1 u) d + u( r t ) i = ( i 1 i i onde u é uma constante fixa (ex: u = 0,01). 01) 64

Atraso de reprodução adaptativo (2) É também usual estimar a variância média do atraso, v i : v i = ( 1 u) vi 1 + u ri ti di As estimativas de d i e v i são calculadas para cada pacote recebido, embora elas sejam usadas apenas no início i de um intervalo de atividade. id d Para o primeiro pacote de um intervalo de atividade, o instante de reprodução é: p = t + d + i i i Kv i onde K é uma constante positiva. Para este mesmo pacote, o atraso de reprodução é: q i = p i t Para o pacote j no mesmo intervalo de atividade, o pacote deve ser reproduzido em: p = t + j j i q i 65

Atraso de reprodução adaptativo (3) Como saber se um pacote é o primeiro após um silêncio? Intervalo de atividade. Se nunca houvesse perdas o receptor poderia simplesmente olhar nas marcas de tempo sucessivas. Seadiferençademarcas de de tempo sucessivas for maior que 20 ms, então é o início de silêncio (intervalo de atividade). 66

Atraso de reprodução adaptativo (4) Mas as perdas podem ocorrer. O receptor deve olhar tanto as marcas de tempo como os números de seqüência dos pacotes. Se a diferença de marcas de tempo sucessivas for maior que 20 ms, e não há pulos nos números de seqüência, então há o início de um silêncio. 67

Recuperação de perdas de pacotes (1) Perdas: pacote nunca chega, ou chega depois do seu tempo de reprodução programado: Correção de erro de envio (FEC) -esquema simples: Para cada grupo de n blocos, cria um bloco redundante realizando uma operação OU exclusivo (XOR) entre os n blocos originais. Envia os n+1 blocos, aumentando o uso banda por um fator de 1/n. Pode 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 68

2o. Esquema FEC 2o. esquema FEC: Enviar, junto com o fluxo original, um fluxo de menor qualidade d como carona. Isto é, 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. 69

Recuperação de perdas de pacotes (2) 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 Fluxo original Redundância Perda de Pacote Fluxo reconstruído 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. 70

Outra técnica: intercalação Blocos são quebrados em unidades menores. Por exemplo, 4 blocos de 5 ms cada. Intercalar os blocos como mostrado no diagrama (a seguir). Cada pacote agora contém unidades menores de diferentes blocos. 71

Recuperação de perdas de pacotes (3) Intercalação: Blocos são quebrados em unidades menores. Por exemplo, 4 blocos de 5 ms cada. Intercalar os blocos como mostrado no diagrama. Pacote agora contém unidades menores de diferentes blocos. Remontar os blocos no receptor. Se o pacote é perdido, ainda resta mais de cada bloco. Fluxo original Fluxo intercalado Perda de pacote Fluxo reconstruído 72

Recuperação de perdas de pacotes (4) Recuperação pelo receptor de fluxos de áudio danificados - RESUMO: Produzir uma substituição i 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. 73