Redes de Computadores Multimédia Prof. António Casimiro / José Rufino Email: docentes rcp@listas.di.ciencias.ulisboa.pt 2015/2016 Multimédia e Qualidade de Serviço Aplicações multimédia: Áudio e vídeo em rede Qualidade de Serviço (QoS): A rede oferece às aplicações o nível de desempenho que estas necessitam LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 2
Classes de aplicações multimédia 1. Difusão de conteúdo armazenado 2. Difusãoaovivo 3. Interativas, em tempo-real LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 3 Características fundamentais São tipicamente sensíveis ao atraso Atraso end-to-end Atraso jitter (variação no atraso dos pacotes do mesmo stream) Tolerância a perdas Perdas ocasionais não causam falhas significativas LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 4
Difusão de conteúdo armazenado Áudio/vídeo armazenado na fonte Transmitido para o cliente Difusão (streaming) o cliente pode aceder ao áudio/vídeo antes de todos os dados terem chegado Restrição temporal para os dados ainda por transmitir: chegarem a tempo de serem acedidos Exemplo: youtube LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 5 Difusão ao vivo Características Semelhante ao de conteúdos armazenados Mantém-se a restrição temporal Mas não é possível fazer PAUSE, REWIND, FORWARD Exemplos: Talk show em programa de rádio Evento ao vivo LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 6
Multimédia interativa em tempo-real Aplicações Telefonia IP, vídeo-conferência, Requisitos no atraso end-to-end: Áudio: Bom se < 150ms, Ok se < 400ms Livro 6th Ed: 587-593 Se os atrasos forem maiores então serão sentidos e podem por em causa a interatividade Início da sessão Como é que quem aguarda a ligação anuncia o seu IP, porto e algoritmos de codificação? LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 7 Taxas de transmissão Áudio: CD = 1,411 Mbps MP3 = 96 kbps, 128 kbps, 160 kbps Telefonia IP >= 5,3 kbps Vídeo MPEG 1 (CD-ROM) = 1.5 Mbps MPEG 2 (DVD) = 3 a 6 Mbps MPEG 4 < 1 Mbps LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 8
Multimédia na Internet atual TCP/UDP/IP oferecem um serviço melhoresforço Não existem garantias para os atrasos e perdas Como é que as aplicações multimédia compatibilizam os seus requisitos com a internet atual? Utilizando técnicas ao nível de aplicação para mitigar, o melhor possível, os efeitos dos atrasos e perdas LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 9 Técnicas para difusão de conteúdos armazenados Técnicas ao nível de aplicação para extrair o melhor do serviço melhor-esforço : Client-side buffering Utilização de UDP (em vez de TCP) Múltiplas codificações LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 10
Difusão de multimédia pela internet Difusão a partir de servidor web Difusão a partir de um servidor dedicado LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 11 Client buffering Atraso no arranque do vídeo Compensa o atraso na rede e o jitter constant bit rate video transmission variable network delay client video reception buffered video Livro 6th Ed: 593-601 constant bit rate video playout at client client playout delay time LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 12
Real-Time Streaming Protocol HTTP Não é adequado para conteúdo multimédia Não tem comandos para fast forward, RTSP (nível de aplicação) RFC 2326 Utilizador pode controlar: rewind, fast forward, pausa, recomeço, reposicionamento, Não define: como encapsular áudio/vídeo, como é o transporte (TCP ou UDP) e como fazer buffering LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 13 RTSP controlo fora de banda Utiliza um canal fora de banda (porto 554) Para enviar as ações de controlo O canal dentro da banda É utilizado para enviar áudio/vídeo É semelhante ao FTP! LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 14
Exemplo RTSP Cenário Metafile enviado para o browser Browser lança o player Player estabelece a ligação RTSP de controlo e ligação de dados para o servidor de streaming LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 15 Diretivas do RTSP OPTIONS Solicita ao servidor os tipos de pedido que este aceita DESCRIBE Inclui um RTSP URL (rtsp:// ) e o tipo de dados esperado pelo cliente. A resposta do servidor inclui a descrição da apresentação, tipicamente em SDP) SETUP Especifica a forma como a difusão deve ser transportada PLAY, PAUSE, TEARDOWN, LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 16
Exemplo de metafile <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> LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 17 Operação RTSP LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 18
Exemplo de troca RTSP C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=play S: RTSP/1.0 200 1 OK Session 4231 C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 S: 200 3 OK LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 19 Aplicações interativas de tempo-real PC-2-PC phone Ex: Skype PC-2-phone Ex: Dialpad, Net2Phone, Skype, Videoconferência com webcam Ex: Skype, Polycom, LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 20
Internet phone Áudio do falante: alterna sequência de voz com períodos de silêncio 64kbps durante a sequência de voz Pacotes gerados apenas durante a seq. de voz Blocos de dados de 20 ms a 8KB/s = 160 bytes Bloco de dados + header encapsulados em segmento UDP Aplicação envia segmento UDP para o socket a cada 20ms durante uma sequência de voz LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 21 Internet phone perdas e atrasos Perda na rede Datagrama perdido devido a congestão Perda por atraso Datagrama chega demasiado tarde Atrasos devido a: processamento, filas, Atraso máximo tolerável (típico): 400ms Livro 6th Ed: 612-614 618-620 Livro 6th Ed: 612-614 Tolerância a perdas Depende da codificação da voz, ocultação das perdas, podem ser toleradas 1-10% de perdas LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 22
Jitter constant bit rate transmission variable network delay (jitter) client reception buffered data constant bit rate playout at client client playout delay Considerar os atrasos end-to-end de 2 pacotes consecutivos LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 23 time Redes de distribuição de conteúdos Aproximar os conteúdos dos clientes Desafio para enviar ficheiros grandes (ex: vídeo) de um único servidor de origem em tempo-real Solução: replicar o conteúdo em centenas de servidores na internet origin server in North America CDN distribution node CDN server in S. America CDN server in Europe CDN server in Asia LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 24
Exemplo de distribuição de conteúdos O servidor de origem distribui HTML dinâmico que reencaminha para o servidor mais próximo do cliente 1 HTTP request for www.foo.com/sports/sports.html origin server client Livro 6th Ed: 602-612 2 3 CDN s authoritative DNS server DNS query for www.cdn.com HTTP request for www.cdn.com/www.foo.com/sports/ruth.gif CDN server near client LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 25 Multimédia na internet Resumo UDP pode ser utilizado para evitar o controlo de congestão do TCP (que gera atrasos) As aplicações são sensíveis a atrasos Uso de tampões (buffers) e atraso na utilização dos dados do lado do cliente Para compensar atrasos na rede LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 26
Multimédia na internet Resumo (2) Servidor ajusta débito no envio à largura de banda do caminho até ao cliente Escolhe entre fluxos com diferentes taxas de codificação, ou O servidor tem uma taxa de codificação dinâmica LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 27 Multimédia na internet Resumo (3) Recuperação de erros (utilizando UDP) Forward Error Correction (esquemas para recuperar a perda de um, ou mais, pacotes) Interleaving (segmentos de dados divididos em unidades menores que são distribuídas por diferentes pacotes) Retransmissões Redes de distribuição de conteúdos LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 28
Exemplo RTSP Ligar a um servidor RTSP com um cliente URL na forma rtsp:// Verificar que comandos suporta Solicitar difusão de conteúdo multimédia Analisar utilização de protocolos TCP, RTSP, RTP, RTCP LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 29 Exemplo RTSP OPTIONS reply operações suportadas pelo servidor LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 30
Exemplo RTSP DESCRIBE reply descrição da apresentação: que difusões são controladas pelo URL em Content-Base bitrate médio LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 31 Exemplo RTSP SETUP reply Forma de transporte para dados RTP RTP audio video profile porto para RTP (54602) porto para RTCP (54603) LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 32
IO graphs RTP jitter período jitter LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 33 Largura de banda RTP 120kbps LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 34
Redes de Computadores - LTI TP5 - Elementos de Estudo Wireshark User s Guide On-line: http://www.wireshark.org/docs/wsug_html_chunked/ No Moodle: Wireshark v2.1 User's Guide TCP/IP Quick Reference Card Disponível no moodle, na secção de materiais de apoio LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 35 Redes de Computadores - LTI TP5 - Elementos de Estudo Computer Networking: a top-down approach featuring the Internet. J. Kurose and K. Ross. 6th Ed., Addison Wesley, 2010. (em alternativa: 5 th, 4th, 3rd and 2nd editions). Capítulo 7 TCP/IP Tutorial and Technical Overview, IBM Redbooks, December 2006. LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 36
Obrigado pela vossa atenção! Questões finais? http://moodle.ciencias.ulisboa.pt/course/view.php?id=1910 Redes de Computadores (RC LTIC) LTI - FCUL 2012-2016 M. Calha, A. Casimiro, J. Rufino 37