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
Classes de aplicações multimédia
1. Difusão de conteúdo armazenado 2. Difusão ao vivo
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
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
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
• 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 Livro 6th Ed: 587-593
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 MbpsMultimédia na Internet atual
• TCP/UDP/IP – oferecem um “serviço
melhor-esforç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
Difusão de multimédia pela internet
LTI - FCUL ©2012-2016 M. Calha, A. Casimiro, J. Rufino 11 Difusão a partir de servidor web
Difusão a partir de um servidor dedicado
Client buffering
• Atraso no arranque do vídeo– Compensa o atraso na rede e o jitter
constant bit rate video transmission time variable network delay client video
reception rate videoconstant bit
playout at client client playout delay buffered video Livro 6th Ed: 593-601
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!
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
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
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
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
• Considerar os atrasos end-to-end de 2 pacotes
consecutivos
Jitter
LTI - FCUL ©2012-2016 M. Calha, A. Casimiro, J. Rufino 23
constant bit rate transmission time variable network delay (jitter) client
reception rate playoutconstant bit
at client
client playout delay
buffered data
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
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
LTI - FCUL ©2012-2016 M. Calha, A. Casimiro, J. Rufino 25 HTTP request for
www.foo.com/sports/sports.html
DNS query for www.cdn.com
HTTP request for www.cdn.com/www.foo.com/sports/ruth.gif 1 2 3 origin server CDN’s authoritative DNS server
CDN server near client client
Livro
6th Ed: 602-612
Multimédia na internet – Resumo
• UDP pode ser utilizado para evitar o controlode 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
Multimédia na internet – Resumo (2)
• Servidor ajusta débito no envio à largura debanda 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 – …
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
Exemplo RTSP – DESCRIBE reply
LTI - FCUL ©2012-2016 M. Calha, A. Casimiro, J. Rufino 31
descrição da apresentação: • que difusões são controladas pelo URL em Content-Base • bitrate médio • …
Exemplo RTSP – SETUP reply
Forma de transporte para dados RTP • RTP audio video profile • porto para RTP (54602) • porto para RTCP (54603)
IO graphs – RTP
LTI - FCUL ©2012-2016 M. Calha, A. Casimiro, J. Rufino 33
período
jitter jitter
Largura de banda – RTP
©2012-2016 M. Calha, A. Casimiro, J. Rufino
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
35 LTI - FCUL
• Computer Networking: a top-down approach featuring
the Internet. J. Kurose and K. Ross. 6th Ed., Addison Wesley, 2010. (em alternativa: 5th, 4th, 3rd and 2nd
editions). – Capítulo 7
• TCP/IP Tutorial and Technical Overview, IBM
Redbooks, December 2006.
Redes de Computadores - LTI
LTI - FCUL ©2012-2016 M. Calha, A. Casimiro, J. Rufino 37
Obrigado pela vossa atenção!
Questões finais?
http://moodle.ciencias.ulisboa.pt/course/view.php?id=1910 Redes de Computadores (RC‐LTIC)