Protocolos Multimídia na Internet



Documentos relacionados
Protocolos Multimídia na Internet. Parte 1 - Conceitos

Multimídia na Internet

Tópicos em Sistemas de

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

Redes de Computadores

Fluxos Multimédia Armazenados

Gerenciamento de redes

Protocolos Multimídia. Alunos: Roberto Schemid Rafael Mansano

MINISTÉRIO DA EDUCAÇÃO

Redes de computadores. Redes para Internet

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

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

Protocolos Multimídia na Internet

PEL/FEN Redes de Computadores 2015/1 Primeira Lista de Exercícios Prof. Marcelo Gonçalves Rubinstein

Redes de Computadores

3 Qualidade de serviço na Internet

Camada de Transporte, protocolos TCP e UDP

WEBRADIO Oficina de webradio

Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 17 de junho de 2015

Prof. Dr. Valter Roesler: Universidade Federal do Rio Grande do Sul

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

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

2 Q Prof. Roberto Jacobe

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

Rede de Computadores (REC)

REDES DE COMPUTADORES

Comunicação de Dados

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br

Diagrama lógico da rede da empresa Fácil Credito

INTERNET, RÁDIO E TV NA WEB

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

REDES DE COMPUTADORES

REDES DE COMPUTADORES II. Ricardo José Cabeça de Souza

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Redes de Computadores II

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

Som, Vídeo, e Deep Zoom. José Antônio da Cunha IFRN

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Streaming vídeo com RTSP e RTP

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

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

Módulo de Transmissão e Ativos de Rede Curso Técnico de Informática. Prof. George Silva

Comutação de pacotes. Não há um estabelecimento de um caminho dedicado. Não há reserva de recursos. Compartilhamento de enlaces ou partes de enlaces

Redes de Computadores

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

Introdução. Algumas terminologias. Camada de Enlace de Dados. Prof. Leandro Pykosz

Teleprocessamento e Redes

Redes e Conectividade

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

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Rede de Computadores

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

Treze razões pelas quais uma rede wireless é lenta

Prof. Samuel Henrique Bucke Brito

Curso: Tec. Em Sistemas Para Internet 1 semestre Redes de Computadores Memória de Aula 07. Prof. Moises P. Renjiffo

TRANSMISSÃO DE DADOS

Aplicações e redes multimédia

Conectar diferentes pesquisas na internet por um menu

1.1 Transmissão multimídia em redes

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

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

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

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

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

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

REDE DE COMPUTADORES TECNOLOGIA ETHERNET

Unidade 5: Sistemas de Representação

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

Mídias Contínuas. Mídias Contínuas

Fernando Albuquerque - fernando@cic.unb.br ADMINISTRAÇÃO TCP/IP. Fernando Albuquerque fernando@cic.unb.br

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

REDES DE COMPUTADORES. Detecção e Correção de Erros

Prefixo a ser comparado Interface Senão 3

Introdução ao VoIP Codecs

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

Codificação de áudio para transmissão de voz em tempo real

13/03/ :24 Leite Júnior

Sistemas Operacionais. Prof. André Y. Kusumoto

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

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

Arquitetura de Rede de Computadores

Quadro de consulta (solicitação do mestre)

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos

REDES CONVERGENTES PROFESSOR: MARCOS A. A. GONDIM

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

Passando pelas Camadas TCP/IP Transmissão de Dados

Introdução à Camada de Aplicação. Prof. Eduardo

IPTV. Anexo ao Manual de Operação do TSW800TP+

Subunidade 6: publicação

Homologação de Clientes de Videoconferência: Roteiro principal

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza

Memória cache. Prof. Francisco Adelton

Laboratório Multimédia I 2º semestre 1º ano

Java NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio,


AVALIAÇÃO DE DESEMPENHO

Arquitetura do Protocolo da Internet. Aula 05 - Protocolos de Roteamento. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.

Licenciatura em Eng.ª Informática Redes de Computadores - 2º Ano - 2º Semestre. Trabalho Nº 1 - Ethereal

Transcrição:

Parte 1 - Conceitos Tópicos em Sistemas de Computação Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.org Multimídia na Internet (1) 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. 2 Prof. Dr. Adriano Mauro Cansian 1

Multimídia na Internet (2) 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 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. 4 Prof. Dr. Adriano Mauro Cansian 2

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 5 1. Mídia armazenada on demand (1) q Clientes solicitam arquivos de áudio e vídeo. Armazenados em servidores específicos ou em cloud. 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: 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. Fazem bufferização antes de iniciar. 6 Prof. Dr. Adriano Mauro Cansian 3

1. 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. 7 2. Fluxo contínuo tempo real q Em tempo real, unidirecional (broadcast). Similar à TV convencional. Não interativo: apenas para ouvir e ver. 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. 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. 8 Prof. Dr. Adriano Mauro Cansian 4

3. Tempo real interativo - Videoconf 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. 9 Obstáculos e desafios 10 Prof. Dr. Adriano Mauro Cansian 5

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. 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. Algumas boas ideias têm surgido, utilizando-se recursos já disponíveis. IPv6 seria uma boa opção, mas ainda não necessariamente disseminado. 12 Prof. Dr. Adriano Mauro Cansian 6

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. 13 Como a Internet deveria evoluir para suportar melhor as aplicações multimídia? Serviços Integrados & Serviços Diferenciados 14 Prof. Dr. Adriano Mauro Cansian 7

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. 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) 16 Prof. Dr. Adriano Mauro Cansian 8

Codificação e Compressão de áudio e vídeo (Iniciaremos com estudo de áudio) 17 Codificação e exigências de banda q Áudio e vídeo, pela internet, exige muito mais recursos comparado com 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. 18 Prof. Dr. Adriano Mauro Cansian 9

Codificação e exigências de banda q No estágio tecnológico atual, usuários de banda larga trabalham na maioria de 2 a 10 Mbps no usuário final. q 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. Obviamente, não se transmite na Internet sem compressão. 19 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. 20 Prof. Dr. Adriano Mauro Cansian 10

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 frequê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 captura 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. 21 Vejamos como transformar áudio analógico em sinal digital Codificação PCM e evolução 22 Prof. Dr. Adriano Mauro Cansian 11

Codificação PCM (1) q Transformando áudio analógico em digital: Pulse Code Modulation (PCM) 1º - O sinal analógico de áudio é amostrado a alguma taxa fixa. Por exemplo: 8.000 amostras / segundo. Valor de cada amostra é um número real arbitrário. 23 Codificação PCM (2) Pulse Code Modulation Transformando áudio analógico em digital 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) 24 Prof. Dr. Adriano Mauro Cansian 12

Esta figura, e dos slides em seguida, extraídas de http://www.qsl.net/py4zbz/teoria/digitaliz.htm (05/01/15) 25 Figura extraída de http://www.qsl.net/py4zbz/teoria/quantiz.htm Prof. Dr. Adriano Mauro Cansian 13

Figura extraída de http://www.qsl.net/py4zbz/teoria/digitaliz.htm 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 : para 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. 27 Codificação PCM (3) 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 28 Prof. Dr. Adriano Mauro Cansian 14

Figura: http://www.qsl.net/py4zbz/teoria/quantiz.htm (05/01/15) Codificação PCM (4) q Cada amostra é convertida para sua representação por bits. q Em seguida: as representações por bits de todas as amostras formam a representação digital do sinal. 29 Figura extraída de http://www.qsl.net/py4zbz/teoria/quantiz.htm (05/01/15) 30 Prof. Dr. Adriano Mauro Cansian 15

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 É reconvertido (decodificado) em um sinal analógico, para gerar áudio novamente. 31 Exemplo de PCM (2) q Uma 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 usam taxa 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. 32 Prof. Dr. Adriano Mauro Cansian 16

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. 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. 33 Compressão de áudio (2) q Música estéreo com qualidade próxima de CD: usar compressão MPEG de camada 3. Popularmente chamada de MP3. Taxa de bits comprimida para 128 ou 96 Kbps. Baixa degradação de áudio. q Princípio de funcionamento do MP3: Achar 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. 34 Prof. Dr. Adriano Mauro Cansian 17

MP3 q 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. 35 MP3 e Perceptual Noise Shaping q Conjunto de filtros extrai pequenas amostras do sinal. E, através do algoritmo de compactação, gera um novo sinal diferente deste original. Novo sinal é menor em termos de amostras, mas que soa aos nossos ouvidos como muito semelhante ao original. q Na música, se duas frequências muito próximas soam ao mesmo tempo, o 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. 36 Prof. Dr. Adriano Mauro Cansian 18

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 November 11, 2015 37 Vídeos na Internet 38 Prof. Dr. Adriano Mauro Cansian 19

Vídeos na Internet (1) 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. Cinema = 24 fps. 39 Vídeos na Internet (2) q Vídeos para internet podem ser transmitidos numa fração da sua frequência original. Por exemplo: vídeos capturados a 30 fps podem ser transmitidos a 30, 15, 10, 7.5, 6 e 5 fps. Se inferior a 16 fps percebe-se transição (saltos) nos frames. 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. 40 Prof. Dr. Adriano Mauro Cansian 20

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. 41 Fluxo contínuo de áudio e vídeo armazenados 42 Prof. Dr. Adriano Mauro Cansian 21

Áudio e vídeo armazenados (1) q Como já visto: audio e de vídeo armazenados em servidores ou em cloud. q On-demand: usuários solicitam os arquivos por demanda. Imagens são apresentadas em torno de 10s após a requisição. q Interatividade é possível: Pausa, avanço, retrocesso, deslocamento. 43 Áudio e vídeo armazenados (2) q Conceito de 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. 44 Prof. Dr. Adriano Mauro Cansian 22

Vídeo on-demand 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 45 Vídeo on-demand 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. 46 Prof. Dr. Adriano Mauro Cansian 23

Vídeo on-demand em servidores Web (3) 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. (2) meta arquivo transdutor de mídia (1) pedido/resposta HTTP por um meta arquivo (3) arquivo solicitado é enviado usando o HTTP Problema: q O transdutor de mídia se comunica usando HTTP, que não foi projetado para suportar comandos de controle de apresentação. 47 Vídeo on-demand em servidores Web (4) q Melhor abordagem: transdutor solicita direto ao servidor (ou cloud) 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. 48 Prof. Dr. Adriano Mauro Cansian 24

Protocolos de aplicação para Mídia: RTSP Real Time Streaming Protocol (Aqui começa a sopa de letras...) 49 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 ). 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 50 Prof. Dr. Adriano Mauro Cansian 25

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. q Servidor e transdutor usam RTSP para enviar informações de controle de um para o outro. Lista em http://en.wikipedia.org/wiki/real_time_streaming_protocol 51 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 outro canal. 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-dabanda usam números de portas diferentes. 52 Prof. Dr. Adriano Mauro Cansian 26

RTSP: controle fora da banda (2) q Mensagens RTSP 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. q O fluxo de dados de mídia contínua é enviado em separado, considerada dentro-da-banda. Estrutura de pacotes do fluxo de dados não é definida pelo RTSP, 53 Iniciação do RTSP e controles de entrega Web browser HTTP GET descr. presentation apresent. desc. SETUP Web server q q 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 q q q 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. 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. 54 Prof. Dr. Adriano Mauro Cansian 27

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> 55 Sessão RTSP q Cada sessão RTSP tem um identificador de sessão (escolhido pelo servidor). Cliente inicia a sessão com o comando SETUP, e o servidor responde ao comando com um identificador. q Cliente repete o identificador em cada comando, Até que o cliente encerrar a sessão com o comando. q O número de porta do RTSP é TCP/554. q RTSP é encapsulado em TCP para transporte. Cada mensagem RTSP pode ser enviada numa conexão TCP separada. 56 Prof. Dr. Adriano Mauro Cansian 28

RTSP: exemplo de mensagens CLIENT: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=play SERVER: Comandos RTSP/1.0 200 1 OK Session 4231 RTP: veremos mais adiante CLIENT: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- Session ID 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 57 Aplicações interativas em tempo-real Fazendo o (im)possível com o melhor esforço 58 Prof. Dr. Adriano Mauro Cansian 29

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 59 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. 60 Prof. Dr. Adriano Mauro Cansian 30

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 ou 8 kbytes / seg durante atividade. Ou seja, 8 kbytes / seg por rajada. (na verdade é uma taxa muito alta - na prática as taxas serão menores e deve-se usar compressão). 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... 61 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. Receptor deve determinar quando reproduzir um bloco, e determinar o que fazer com um bloco faltante. q Veremos como os problemas são tratados... 62 Prof. Dr. Adriano Mauro Cansian 31

Tratando problemas em rede best-effort (1) 1. 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) 2. 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. 63 Tratando problemas em rede best-effort (2) 1. 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) 2. 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. 64 Prof. Dr. Adriano Mauro Cansian 32

Tratando problemas em rede best-effort (3) 3. Jitter ou Variação de atraso: q 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, ao mesmo tempo: 1. Marcas de tempo. 2. Atrasos na reprodução. 3. Números de sequência. 65 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. 66 Prof. Dr. Adriano Mauro Cansian 33

1. Uso de marcas de tempo (timestamp) q A escolha do valor de q é importante: q grande: perda de pacotes MENOR. q pequeno: melhor controle da interatividade. 67 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. packets packets generated packets received loss playout schedule p - r playout schedule p' - r tempo time r 2015 padriano Mauro p' Cansian 68 Prof. Dr. Adriano Mauro Cansian 34

2. Atraso de reprodução (adaptativo) (1) 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. t = marca de tempo do i ésimo pacote i r = instante no qual o pacote i é recebido pelo receptor i p = instante no qual o pacote i é reproduzido no receptor r t = atraso da rede para o i - ésimo pacote i i d = estimativa do atraso na rede após receber o i - ésimo pacote i i 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). 69 É também usual estimar a variância média do atraso, v i : 2. Atraso de reprodução (adaptativo) (2) 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 de um intervalo de atividade. Para o primeiro pacote de um intervalo de atividade, o instante de reprodução é: p = t + d + Kv i i i onde K é uma constante positiva. Para este mesmo pacote, o atraso de reprodução é: q = p t i i Para o pacote j no mesmo intervalo de atividade, o pacote deve ser reproduzido em: p = t + q j j i i i 70 Prof. Dr. Adriano Mauro Cansian 35

3. Números de sequência (1) 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. 71 3. Números de sequência (2) q 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 éo início de um silêncio. 72 Prof. Dr. Adriano Mauro Cansian 36

Recuperação de perdas Perdas: pacote nunca chega, ou chega depois do seu tempo de reprodução programado 73 Recuperação de perdas de pacotes (1) Correção de erro de envio (FEC) - esquema simples: q Recuperação antecipada. q Para cada grupo de n blocos, cria um bloco redundante. q Envia os n+1 blocos. q Aumenta 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. Exercício: OU exclusivo (XOR) entre os n blocos originais. 74 Prof. Dr. Adriano Mauro Cansian 37

75 Recuperação de perdas de pacotes (2) q Enviar, junto com o fluxo original, um fluxo de menor qualidade adicional, como carona. q Isto é, enviar fluxo de áudio de menor resolução como informação redundante. 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. 76 Prof. Dr. Adriano Mauro Cansian 38

Recuperação de perdas de pacotes (3) 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. 77 Recuperação de perdas de pacotes (4) q 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. 78 Prof. Dr. Adriano Mauro Cansian 39

Recuperação de perdas de pacotes (5) Fluxo original 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. Fluxo intercalado Perda de pacote Fluxo reconstruído 79 Recuperação de perdas de pacotes (6) Resumo 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. 80 Prof. Dr. Adriano Mauro Cansian 40

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... 81 Prof. Dr. Adriano Mauro Cansian 41