![Page 1: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/1.jpg)
StreamViewerUm analizador gráfico de transport stream
code.google.com/p/streamviewerPaulo Flabiano Smorigo
![Page 2: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/2.jpg)
O que é?
Um analisador visual de streams;
Inicialmente compativel com streams no formato de dados da TV digital brasileira: Transport Stream (TS);
Inteiramente feito por software livre;
![Page 3: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/3.jpg)
TV Digital
Mudança do sinal analógico para o sinal digital;
Mais qualidade, mais canais, mais informações e interatividade;
Na mesma faixa de frequência do analógico, no digital suporta: Um canal HD, um standard e um móvel (1Seg) ou; Quatro canais standard e um móvel; Mais informações: EPG, Interatividade...
![Page 4: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/4.jpg)
TV Digital
6Mhz = 19 Mbps;
Multiprogramação;
Mobilidade (Assistir TV no celular);
Televisão em 3D;
Resoluções: HD: 1920x1080; SD: 720×576; LD: 320x240;
![Page 5: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/5.jpg)
TV Digital
Inicio da transmissão digital:
Dezembro de 2007
Fim da transmissão analógica:
Dezembro de 2016
![Page 6: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/6.jpg)
TV Digital
![Page 7: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/7.jpg)
TV Digital no Mundo
![Page 8: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/8.jpg)
Transport Stream (TS)
Formato de stream usado na televisão digital;
Video: H.264, Áudio: AAC;
Formado por pacotes de 188 bytes que podem conter diversos formatos de dados: Informações do canal como descrição, faixa etária,
inicio e fim, grade de programação etc; Vídeos e áudios (não há limite); Interatividade.
![Page 9: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/9.jpg)
Transport Stream (TS)
![Page 10: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/10.jpg)
Transport Stream (TS)
![Page 11: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/11.jpg)
Transport Stream (TS)
![Page 12: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/12.jpg)
Transport Stream (TS)
![Page 13: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/13.jpg)
Transport Stream (TS)
![Page 14: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/14.jpg)
Captura do TS
Foi capturado com o uso de software usando um dongle USB;
Atualmente é comum achar arquivos TS na internet contento filmes, jogos de futebol etc;
![Page 15: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/15.jpg)
StreamViewer
Extrair as informações do arquivo de transport stream (via DVBSnoop);
Analisa (Parser) dos dados;
Mostra gráficamente os resultados;
![Page 16: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/16.jpg)
DVBSnoop
![Page 17: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/17.jpg)
DVBSnoop
![Page 18: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/18.jpg)
DVBSnoop
![Page 19: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/19.jpg)
DVBSnoop
![Page 20: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/20.jpg)
Estrutura do Projeto
Programado de C++;
Cross-compilação via MingW;
Interface gráfica em GTKmm e Glade 3;
Documentação do código via Doxygen;
Build seguindo padrão da maioria dos softwares livres (./configure; make etc);
Multiplataforma;
![Page 21: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/21.jpg)
Modelo de desenvolvimento
Producing Open Source
Software, Karl Fogel
![Page 22: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/22.jpg)
Por que C++?
Toda vantagem do C com orientação a objetos;
Uma das linguagens mais usadas no mundo;
Compilador GCC (G++);
Segundo o site SourceForge.net: Java(43,101) C++(34,240) PHP(28,272) C(26,666)
![Page 23: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/23.jpg)
GTKmm
Wrapper para C++ do GTK+;
GTK é uma das bibliotecas gráficas mais usadas no mundo;
GTK+ vs Qt (Gnome vs KDE);
Pode ser usado juntamente com o Glade;
Suporte a temas (milhares disponíveis);
![Page 24: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/24.jpg)
GTKmm
Multiplataforma (Linux, Windows, Mac);
Praticamente independente do sistema operacional;
Linux: vem instalado, por padrão nas distribuições testadas: Debian, Ubuntu, Fedora etc;
Windows: mesma aplicação funciona, sem modificações, no 95, XP, Vista, 7;
![Page 25: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/25.jpg)
Glade
Glade é um construtor de interfaces gráficas;
Permite a criação a criação de interfaces gráficas seguindo o conceito WYSIWYG;
Facilita a construção do software no modelo MVC;
Separação quase que total da UI com a lógica de programação;
![Page 26: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/26.jpg)
![Page 27: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/27.jpg)
Glade
Gera a interface no Glade e gera um XML como saída;
No código é associado o nome do elemento com o nome criado pelo Glade;
Separação quase que total do código e interface;
Permite alteração da interface sem a necessidade de compilar novamente;
![Page 28: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/28.jpg)
Doxygen
Documentação do código (geração da API);
Compativel com Javadoc;
![Page 29: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/29.jpg)
Build
Necessita dos pacotes de desenvolvimento: buildutils, gtkmm-dev e glade;
Ir no diretório do projeto e digitar make;
![Page 30: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/30.jpg)
Build
![Page 31: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/31.jpg)
Build
![Page 32: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/32.jpg)
Glade
![Page 33: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/33.jpg)
Tela inicial
![Page 34: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/34.jpg)
Abrindo arquivo
![Page 35: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/35.jpg)
Resultado
![Page 36: StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo Flabiano Smorigo](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc117497959413d8c8614/html5/thumbnails/36.jpg)
Futuro
Procurar por desenvolvedores;
– E-mail em fóruns como mplayer, vlc;
– Divulgação na internet;
Não usar o DVBSnoop (criar o próprio parser);
Visualizar outros stream;