streamviewer um analizador gráfico de transport stream code.google.com/p/streamviewer paulo...
TRANSCRIPT
StreamViewerUm analizador gráfico de transport stream
code.google.com/p/streamviewerPaulo Flabiano Smorigo
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;
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...
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;
TV Digital
Inicio da transmissão digital:
Dezembro de 2007
Fim da transmissão analógica:
Dezembro de 2016
TV Digital
TV Digital no Mundo
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.
Transport Stream (TS)
Transport Stream (TS)
Transport Stream (TS)
Transport Stream (TS)
Transport Stream (TS)
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;
StreamViewer
Extrair as informações do arquivo de transport stream (via DVBSnoop);
Analisa (Parser) dos dados;
Mostra gráficamente os resultados;
DVBSnoop
DVBSnoop
DVBSnoop
DVBSnoop
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;
Modelo de desenvolvimento
Producing Open Source
Software, Karl Fogel
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)
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);
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;
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;
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;
Doxygen
Documentação do código (geração da API);
Compativel com Javadoc;
Build
Necessita dos pacotes de desenvolvimento: buildutils, gtkmm-dev e glade;
Ir no diretório do projeto e digitar make;
Build
Build
Glade
Tela inicial
Abrindo arquivo
Resultado
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;