Alunos: Roberto Schemid Rafael Mansano
Exemplos de Aplicações Multimídia Mídia Armazenada: conteúdo gravado e armazenado play/pause/rewind/forward Streaming : vê o conteúdo enquanto baixa o arquivo evita baixar o arquivo todo para ver o conteúdo Mídia ao Vivo : não se pode pausar/avançar se perde-se um pacote, sem informação Interativo em Tempo-Real : como o ao vivo vídeo-conferência/internet phone
Problemas da Internet Hoje Best effort há perda de pacotes atrasos não garantia de chegada dos pacotes packetjitter
Compressão de Áudio e Vídeo Streaming multimídia têm crescido Compressão para fazer melhor uso da rede M-PEG, J-MPEG, GSM, PCM
Media Players Executam as mídias Descomprimem a mídia Tratam o jitter Correção de erros Esquemas de bufferização
Protocolos Empacotar os pedaços de mídia Controla as operações durante as sessões Otimiza o processo da transmissão da mídia Possibilita interação Reservar recursos
Protocolos: RTP Real Time Protocol RTCP Real Time Control Protocol RTSP Real Time Streaming Protocol SDP Session Description Protocol ST-II Internet Stream Protocol II SIP Session Initiation Protocol H.323 RSVP Reservation Protocol SRP Selective Retransmission Protocol
Acessando um a mídia por um web Server Por HTTP, browser usa conexão TCP para acessar a mídia Ao receber, passa para o media player Não há facilidades para pausar, avançar uma reprodução. Acessando por streaming Server Media player usa UDP em vez de TCP Servidor HTTP serve meta-arquivos Browser no player contata webserver Servidor de streaming serve o arquivo multimídia propriamente Media player o contata
RTSP (RFC 2326) Real Time Streaming Protocol Protocolo que permite ao usuário interagir com a aplicação Play/pause/rewind/fast forward/slow RTSP não faz: Definir compressão para as midias Definir encapsulamento Definir entre TCP ou UDP Definir buferização É protocolo out of band como ftp Controles são mandados fora da banda (porta 544) Mídia mandada em banda (TCP ou UDP) Escolha por diferentes qualidades de mídia disponíveis(lo-fi/hi-hi) para se transmitir
RTP (RFC 1889) Real Time Protocol Protocolo encapsulador Roda sobre UDP Não oferece qualidade de serviço Somente end-systems o percebem, não roteadores Unicast/multicast Implementações no nível de transporte ou de aplicação
Pacotes RTP 1 2 3 4 5 1: PayLoad Type tipo de mídia (MPEG, GSM, PCM) 2: Sequence Number 16 bits, inc de 1 para cada pacote enviado 3: Timestamp 32 bits, para uso na remoção de jitter 4: Synchronization Source Identif 32 bits, identifica a fonte do pacote 5: Outros campos
Desenvolvendo aplicações com RTP Socket entre RTP e UDP nível aplicação código implementado à mão RTP no nível de transporte bibliotecas C e Java Aplicação Aplicação RTP Socket UDP IP Enlace Físico RTP UDP IP Enlace Físico
RTCP (RFC 1889) RTP Control Protocol Usado com RTP Pacotes se distinguem do RTP pelo número da porta (diferem de 1) Não encapsula Pacotes RTCP contém informações estatísticas: Número de pacotes enviados Número de pacotes perdidos Jitter Todos os receptores e remetentes recebem pacotes RTCP periodicamente
RTCP Cabeçalho RTCP contém: SSRC do stream RTP do qual o relatório se refere Fração dos pacotes perdidos dentro do pacote RTP em questão Número seqüencial do último pacote RTP recebido Jitter precisamente estimado Pacotes RTCP são empilháveis: infos sobre receptor, remetente podem ser concatenados e encapsulados em UDP e transmitidos
SRP Selective Retransmission Protocol Desenhado para melhorar a performance de aplicações multimídia Balancear altas perdas do UDP e latência do TCP Usa algoritmo de decisão para retransmitir ou não um pacote Nível de aplicação Suas mensagens são em UDP
SRP funcionamento Durante o streaming, se uma aplicação percebe falta de um pacote, o algoritmo de decisão decide se ela pedirá ou não o pacote novamente. O algoritmo leva em consideração o quanto de perda e latência a aplicação pode suportar e o quanto disso está acontecendo. Caso seja feito novo pedido pelo pacote perdido, quaisquer outras mensagens recebidas são buferizadas e a aplicação aguardará a chegada do pedido. Se a resposta não chegar, novo pedido é feito.
SRP Porque UDP? Mensagens do UDP são bem parecidas com a do SRP UDP não implementa restrições, TCP sim Somente adicionadas funcionalidades, sem substituição
SDP - Session Description Protocol Descreve sessões multimidia. Não possui mecanismo próprio de transporte (utiliza protocolos como SIP, SAP, RTSP, etc...). Informações contidas: tipo de mídia, protocolo de transporte, formato da mídia, endereço de destino, porta de recepção e URIs (Identificadores Universais de Recursos).
ST-II Internet Stream Protocol Criado para substituir o IP (por isso também é chamado de IPv5). Armazena características de performance e alocação de recursos da rede. Suporta protocolos como: PVP, NVP, TCP e outros. Pode ser encapsulado em IP. Contém uma camada superior destinada ao controle chamada de SCPM que permite o re-roteamento.
SIP Session Initiation Protocol Alta mobilidade. Conexão de duas ou mais pessoas com transmissão de áudio e vídeo que utilizando codecs diferentes. Mensagens se assemelham com as de HTTP. Utiliza pacotes UDP ou TCP.
H.323 Faz conferências entre end-points e entre end-points e telefones conectados a redes de comutação. Especifica: codecs de áudio e vídeo entre end-points, como são encapsulados (normalmente usando RTP),comunicação dos end-points com os gatekeepers Os end-points devem possuir no mínimo pelo menos G.711 para áudio e QCIF H.261 para vídeo (o de vídeo é opcional).
Comparativo entre H.323 e SIP H.323 Suíte completa de protocolos. Vindo do ITU. SIP Um protocolo apenas. Vindo do IETF. Grande e complexo. Pequeno e simples.
RSVP Reservation Protocol Faz alocação de banda para cada fluxo. O roteador gerencia a quantidade de banda de cada aplicação. Clientes, servidores e roteadores devem possui-lo. Faz as reservas através de arvores multicast. Ideal para garantir QoS p/aplicações multimídia na rede.
Além do melhor esforço Protocolos e técnicas utilizadas não suficientes para dar perfeição às aplicações. Performance conforme a rede Atrasos, perda de pacotes, jitter Classificação dos pacotes permite distinção entre eles Isolamento dos fluxos, afim de um não atrapalhar o outro Utilizar os recursos da maneira mais eficiente possível Fluxo declararia seus requerimentos e a rede aceitaria-o ou não Isso são bases para a Qualidade se Serviço (QoS)