StreamViewer Um analizador gráfico de transport stream code.google.com/p/streamviewer Paulo 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;