360 likes | 444 Views
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);
E N D
StreamViewerUm analizador gráfico de transport streamcode.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
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.
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;
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;
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;