RMU-2012-1
Redes Multimidia: Diário de Aula 2012-1
Professor: Marcelo Maia Sobral (msobral@gmail.com)
Lista de email (forum): rmu-ifsc@googlegroups.com
Encontros: 4a feira/9:40, 5a feira/7:30
Atendimento paralelo: 2a de 8 às 11:30 h, 4a de 13:30 às 16:30 h, 6a de 9:40 às 11:30 h.
Bibliografia
- Livros sobre Redes de Computadores (por ordem de preferência):
- KUROSE, James F. e ROSS, Keith W. Redes de computadores e a Internet, Uma abordagem Top-Down. 5a edição. Editora Addison Wesley SP, 2010.
- Sérgio Colcher, Antônio Tadeu Azevedo Gomes, e Anderson Oliveira da Silva. VoIP: Voz sobre IP. Campus, 1a edição, 2005.
- STALLINGS, W. Redes e sistemas de comunicação de dados. Editora Elsevier RJ, 2005.
- TANENBAUM, Andrew S. Redes de Computadores, tradução da quarta edição. Editora Campus RJ, 2003
- FOROUZAN, Behrouz. Comunicação de Dados e Redes de Computadores, 3a/4a edicão. Editora Bookman, 2004.
Curiosidades
Listas de exercícios
Avaliações
Softwares
29/02: Apresentação
Apresentação da disciplina: conteúdo, bibliografia e avaliação, laboratório.
Redes multimidia
Uso de redes de dados para transmitir conteúdo de diferentes midias:
- Video streaming (ex: Netflix, Youtube)
- Internet radio (ex: Icecast)
- VoIP e telefonia IP (SIP com Asterisk ou FreePBX, Skype)
- Video e áudio conferência
- Telemedicina
- Jogos
- ... outros ?
Algumas questões sobre essas aplicações:
- Como funcionam esses serviços ? Como os conteúdos são acessados ?
- Como os dados são representados ?
- Como os dados são transportados através da rede ? Quais os protocolos envolvidos e como os dados são encapsulados em suas PDUs ?
- Que requisitos quanto à transmissão pela rede possuem para um bom funcionamento ?
Exemplo 1: video streaming
Video streaming é a transmissão de video por uma rede de dados, com sua visualização ocorrendo à medida que for sendo recebido pelo cliente. Um exemplo muito conhecido de serviço de video streaming é fornecido pelo YouTube. Outros exemplos de video streaming são Netflix, que possibilita assistir filmes via Internet mediante o pagamento de uma assinatura, e a transmissão de jogos de futebol via Internet por algumas emissoras de TV aberta. Apesar de a experiência dos usuários parecer a mesma (ou quase ...) para esses serviços, existem diferenças na forma como são implementados.
Experimente visualizar os videos abaixo. Em todos eles observe quanto tempo demora para iniciar a tocar o video e sua continuidade (se ele interrompe ou degrada a imagem). Experimente também avançar o video, como por exemplo para perto de seu final.
- Video 1: execute mplayer rtsp://172.18.200.251:8000/teste.sdp ou vlc rtsp://172.18.200.251:8000/teste.sdp
- Video 2: usando um tocador Flash.
- Video 3: usando HTML5
- Video 4: execute vlc http://tele.sj.ifsc.edu.br/~msobral/rmu/videos/x.mp4
- Video 5: execute vlc http://mmsobral.no-ip.org:8080/armacao/coisas/sr.mp4
- Video 6: execute vlc http://mmsobral.no-ip.org:8080/armacao/coisas/sr3.mp4
Como é feito o acesso a esses videos, e como eles são transportados pela rede ?
- Execute o wireshark e repita o acesso aos videos. Enquanto a captura acontece, faça um reposicionamento do video - i.e. avance-o para perto de seu final. Observe as mensagens trocadas entre sua aplicação cliente e o servidor do video.
- Você conseguiria descrever como funcionam seus acessos e tranmsmissões ?
- Você pode notar alguma diferença entre as diferentes formas de transmissão do video ?
Exemplo 2: Internet radio
Atualmente muitas estações de rádio transmitem suas programações também pela Internet. Existem inclusive muitas estações cujas transmissões são feitas somente pela rede - i.e. a rigor, não fazem transmissão por rádio. Com isso, pessoas conseguem escutar a programação de uma estação de rádio de outro país. Um atrativo dessas estações via Internet é informarem o gênero de música transmitida, além de apresentarem uma boa qualidade sonora. Esse tipo de serviço se popularizou tanto que existem diretórios de estações, que podem ser acessados por aplicativos e assim possibilitar que os usuários escolham que tipo de música desejam escutar.
Um aplicativo do Linux que oferece fácil acesso a Internet radio é o Rhytmbox. Ele pode ser executado no menu Aplicativos->Som e video. Execute o Rhytmbox em seu computador, e escolha uma estação de radio. Observe quanto tempo demora para que a música comece a tocar, a qualidade do som, e sua continuidade.
Como é feito o acesso às estações de rádio, e como as músicas são transportadas pela rede ?
- Execute o wireshark e repita o acesso à estação. Enquanto a captura acontece, observe os protocolos envolvidos e as mensagens que fluem entre seu computador e o servidor da estação. Observe também onde a estação se localiza (país/cidade).
- Você conseguiria descrever como funcionam seus acessos e transmissões ?
Tarefa: codificação dos videos e som
Faça uma pesquisa para descrever uma dentre as diferentes formas de video streaming existentes hoje em dia. Algumas técnicas são:
- HTTP Live streaming
- HTTP Pseudo-streaming
- HTTP Dynamic-streaming
- RTSP streaming
- ... outras ?
Em sua pesquisa, descreva os fundamentos da técnica, os protocolos envolvidos, as mensagens de controle trocadas, e as codificações de midia requeridas. Dê especial ênfase à descrição da codificação do video.
01/03: Caracterização de midias
Compressão de audio
Técnicas usadas:
- Remoção de silêncio
- Uso de psicoacústica
- Remoção de redundância
Exemplo de codificação:
Atividade
1) Copie este arquivo de audio para seu computador. Escute-o e confira sua qualidade sonora. Veja também o tamanho do arquivo.
2) Codifique esse arquivo com os seghuintes codecs:
- MP3: lame musica.wav musica.mp3
- Ogg: oggenc -o musica.ogg musica.wav
- Flac: flac musica.wav -o musica.flac
3) Toque os arquivos de audio codificados, comparando suas qualidades sonoras. Compare também os tamanhos dos arquivos.
Compressão de video
Técnicas usadas para compressão de video:
- Remoção de redundância espacial - codificação intraquadros (ex: JPEG)
- Remoção de redundância espacial e temporal - codificação intraquadros e interquadros (H.261, MPEG)
Remoção de redundância temporal: iniciando com um intraquadro (quadro I), quadros sucessivos contém atualizações relativas a quadros anteriores (quadros P) ou a quadros anteriores e posteriores (quadros B). O conjunto de quadros entre quadros I se chama GOP (Group of Pictures):
Exemplos de codecs de video
- MPEG-2
- H-264
- XVID
- Theora
Atividade
1) Copie este video para seu computador. Visualize-o com mplayer ou vlc, observando sua qualidade de imagem. Veja também o tamanho desse arquivo de video, que está codificado com MJPG.
2) Codifique esse video para outros formatos de compressão:
- MPEG-2: mencoder -o sr-mp3g2.mpg -of mpeg -ovc lavc -lavcopts vcodec=mp3g2video:vbitrate=250 -oac copy sr.mjpg
- XVID: mencoder -o sr-xvid.avi -ovc xvid -xvidencopts bitrate=250 -oac copy sr.mjpg
- H-264:
mencoder -o sr-h264.mp4 -ovc x264 -x264encopts pass=1:turbo -oac mp3lame sr.mjpg
mencoder -o sr-h264.mp4 -ovc x264 -x264encopts bitrate=250:pass=2 -oac mp3lame sr.mjpg - Theora:
mencoder -o sr-theora.mp4 -of mpeg -ovc lavc -lavcopts vcodec=libtheora:vpass=1:turbo -oac mp3lame sr.mjpg
mencoder -o sr-theora.mp4 -of mpeg -ovc lavc -lavcopts vcodec=libtheora:vpass=2 -oac mp3lame sr.mjpg
3) Compare os tamanhos dos arquivos de video resultantes das codificações. Toque-os e veja se há diferença de qualidade de imagem entre eles.