Autor: Paulo Roberto Junior - WoLF <paulorvojr at gmail.com>
Data: 13/04/2009 O que GINGA Posso falar com minhas prprias indagaes e avaliaes sobre este projeto, mas nada como os prprios desenvolvedores o definem. Texto abaixo retirado e com os devidos crditos do site do governo: http://www.softwarepublico.gov.br/ "Ginga a camada de software intermedirio (middleware) que permite o desenvolvimento de aplicaes interativas para a TV Digital de forma independente da plataforma de hardware dos fabricantes de terminais de acesso (set-top boxes). Resultado de anos de pesquisas lideradas pela Pontifcia Universidade Catlica do Rio de Janeiro (PUC-Rio) e pela Universidade Federal da Paraba (UFPB), Ginga rene um conjunto de tecnologias e inovaes brasileiras que o tornam a especificao de middleware mais avanada e, ao mesmo tempo, mais adequada realidade do pas. O Middleware Ginga pode ser dividido em trs subsistemas principais: Ginga-CC, Ginga-J e Ginga-NCL. Ginga-CC (Ginga Common-Core) oferece o suporte bsico para os ambientes declarativo (Ginga-NCL) e procedural (Ginga-J) (veja detalhes da arquitetura Ginga em nosso Wiki). Dependendo das funcionalidades requeridas no projeto de cada aplicao, um paradigma de programao (declarativo ou procedural) possuir uma melhor adequao que o outro. Ginga-J foi desenvolvido pela UFPB para prover uma infra-estrutura de execuo de aplicaes baseadas em linguagem Java, com facilidades especificamente voltadas para o ambiente de TV digital. Em breve, o subgrupo Ginga-J estar disponvel nesta comunidade! Ginga-NCL foi desenvolvido pela PUC-Rio para prover uma infra-estrutura de apresentao de aplicaes baseadas em documentos hipermdia escritos em linguagem NCL, com facilidades para a especificao de aspectos de interatividade, sincronismo espao-temporal de objetos de mdia, adaptabilidade e suporte a mltiplos dispositivos. NCL possui Lua como sua linguagem de script. Entre agora mesmo no subgrupo Ginga-NCL! Para facilitar o desenvolvimento de aplicaes Ginga-NCL, a PUC-Rio desenvolveu tambm a ferramenta Composer. Composer um ambiente de autoria voltado para a criao de programas NCL para TV digital interativa. Nessa ferramenta, as abstraes so definidas em diversos tipos de vises que permitem simular um tipo especfico de edio (estrutural, temporal, leiaute e textual). Essas vises funcionam de maneira sincronizada, a fim de oferecer um ambiente integrado de autoria. Entre agora mesmo no subgrupo Composer! Cabe observar que os desenvolvimentos relacionados linguagem NCL e ferramenta Composer esto aplicados ao cenrio de TV Digital, mas j so aplicados em outros cenrios de aplicaes multimdia e hipermdia, como Web, IPTV etc. TV Digital Interativa apenas um caso particular de aplicao GINGA - Software Livre para TV Digital Brasileira [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 1 of 6 23/6/2010 22:40 multimdia. " Sistema de TV Digital: Uma viso geral rpida Um sistema de TV digital um sistema tpico de cliente/servidor. O servidor compe o ambiente de uma radiodifusora (Globo, SBT) ou de um servidor de contedo (GINGA por exemplo) e o cliente o ambiente do usurio telespectador (NS). Um programa de TV composto por um udio principal e um vdeo principal, capturado ao vivo de uma cmera, ou de um servidor com vdeos(no ao vivo). Com o GINGA instalado, consegue-se usar a interatividade da televiso Digital. Um dos exemplos de interatividade a escolha de um programa dentro de um canal, como filmes de ao, dentro do canal de filmes; ou fazer compras pela televiso. O que TV DIGITAL sem GINGA Basicamente uma televiso com uma imagem e som melhor. Portanto, no aceite uma televiso ou um set-top box sem ter o programa brasileiro GINGA, pois ele indispensvel para que a interatividade da televiso e as inovaes de canal e programao possam ser usufrudas por voc. Ento posso criar um programa interativo, onde pessoas com seus devidos recursos necessrios para o tal, e elas interagirem com o controle remoto? Sim, pode perfeitamente e isso que a TV Digital vai proporcionar, alm de claro uma melhor qualidade de sinal e resoluo, e acima de tudo, interao com os usurios. GINGA em formato LIVE-CD Este maravilho projeto agora est disponvel de uma forma mais prtica. Um belo Live-cd. Para baix-lo acesse o link: http://www.ncl.org.br/ferramentas/ginga_LiveCD_v1.0.iso Caso o link no funcione ou seja alterado, procure na pgina oficial em: http://www.gingancl.org.br /ferramentas.html Aps baixar, grave esta imagem de cd em formato .iso, em um cd virgem, e como qualquer outra distribuio Linux live-cd, inicie o computador ou sua mquina virtual pelo cd, ou pela .iso (no caso de uma mquina virtual). Aps isto, as seguintes imagens iro aparecer: GINGA - Software Livre para TV Digital Brasileira [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 2 of 6 23/6/2010 22:40 em seguida: Set-top Box Virtual de desenvolvimento Ginga-NCL Outra forma de conhecer o Ginga-NCL em formato j pronto de mquina virtual: Para baixar acesse: http://www.ncl.org.br/ferramentas/fedora-fc7-ginga-i386.zip Aps baixar, descompacte em uma pasta onde se localiza seu repositrio de mquinas virtuais, tanto para VMWare, VirtualBox, entre outros. Com informaes de fcil entendimento, segue abaixo a melhor descrio do assunto, criado com os crditos dos prprios desenvolvedores: "O Set-top Box Virtual Ginga-NCL uma mquina virtual construda para facilitar o processo de distribuio e implantao do Ginga-NCL verso C++, a verso do player NCL que conta com os mais avanados recursos de apresentao de aplicaes declarativas, melhor desempenho e maior proximidade de uma implementao embarcada em set-top boxes reais. GINGA - Software Livre para TV Digital Brasileira [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 3 of 6 23/6/2010 22:40 Analisando os reportes dos membros da comunidade Ginga, nota-se a dificuldade enfrentada por usurios no-avanados para colocar essa verso do Ginga-NCL em funcionamento em seus computadores. Mas, ao mesmo tempo, v-se que a demanda pelo uso da verso C++ vem crescendo, provavelmente motivada pela maior fidelidade de apresentao dos documentos NCL, se comparada verso escrita em Java. Uma mquina virtual a implementao em software de um computador que executa programas tal qual uma mquina real. Ela pode ser vista como uma duplicata isolada de uma mquina real. Cabe ao software de virtualizao multiplexar o hardware real gerenciado por um sistema operacional hospedeiro (host) entre diversas instncias virtuais desse hardware, gerenciadas por sistemas operacionais convidados (guests). Os sistemas operacionais convidados no precisam ser o mesmo que o hospedeiro, e nem precisam ser os mesmos entre si. Isso quer dizer que em um sistema hospedeiro pode-se ter diferentes sistemas operacionais (e suas aplicaes) executando ao mesmo tempo, concorrentemente, disputando o compartilhamento do hardware real. Criar uma mquina virtual envolve a seleo de quais dispositivos de hardware estaro disponveis para o sistema operacional convidado, qual a quantidade de memria, e outras configuraes. Tal seleo guiada por uma avaliao dos objetivos finais da mquina virtual. Uma vez configurada, a mquina virtual deve receber a instalao de um sistema operacional convidado, dos pacotes de sua distribuio e de softwares de terceiros. Assim, a virtualizao se torna um atrativo veculo para distribuio de software, principalmente daqueles que possuem alta complexidade de compilao, instalao ou personalizao junto ao hardware e servios. E essas mesmas caractersticas so encontradas no Ginga-NCL. A mquina virtual fedora-fc7-ginga-i386 foi criada e configurada pela equipe do Laboratrio TeleMdia da PUC-Rio utilizando o software VMWare Workstation 6 (trial). As caractersticas de hardware configuradas para a mquina virtual esto exibidas na figura ao lado. O sistema operacional instalado Linux, distribuio Fedora Core 7. A instalao foi otimizada para incluir apenas os pacotes de software essenciais para o desenvolvimento do Middleware Ginga e para a execuo do gingaNclPlayer verso C++. Dessa forma, foram excludos programas populares como todo ambiente grfico X/GNOME/KDE, e suas ferramentas. O objetivo gerar um ambiente muito prximo a um set-top box de desenvolvimento real. A maior diferena que nosso set-top box virtual capaz de recompilar os programas que executa e possui a mesma plataforma de hardware de um PC. E, infelizmente, no vem com controle remoto... Os principais pacotes de software instalados so: gingancl-cpp (mais recente) kernel 2.6.23.1 GNU toolchain (gcc 4.1.2-27, glibc 2.6-4) directfb 1.0.1 (extras & examples) xine-lib 1.1.7 gingancl-cpp-devel (cdigo fonte) Com tudo isso, a mquina virtual apresenta como principais vantagens: Instalao descomplicada, pois tudo est pronto, no h configuraes de kernel ou boot a serem feitas Portabilidade entre diferentes sistemas operacionais GINGA - Software Livre para TV Digital Brasileira [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 4 of 6 23/6/2010 22:40 timo ambiente de testes de aplicaes NCL / NCLua. Ambiente completo para os desenvolvedores do middleware Obs.: O STB Virtual vem pr-configurado com o uma resoluo de 640x480, baixa dessa forma para otimizar o uso da CPU. Usurios com alguma experincia em framebuffer e directfb podem modificar a resoluo conforme suas necessidades. 1.2. Requisitos para o funcionamento do Set-top Box Virtual de Desenvolvimento Ginga-NCL Requisitos de Hardware: Arquitetura Intel. Pentium 4 3.0GHz ou melhor. HyperThreading recomendado. Duplo ncleo ideal. Memria RAM de 1 Gb ou maior. 2 Gb recomendado. Placa Aceleradora de Vdeo com 64Mb ou maior. Chipsets nVidia e ATI recomendados. Disco rgido com 5Gb livres. Placa de som Requisitos de software: Sistema Operacional: Windows XP (ou posterior), ou Linux, ou Mac OS X. Software de virtualizao: VMWare Player (Windows ou Linux) ou VMWare Workstation (Windows ou Linux) ou VMWare Fusion (Mac OS X). Os requisitos de hardware podem ser relaxados se o usurio se limitar a aplicaes NCL mais simples, que incluem mdias de baixa resoluo e que evitam a renderizao em paralelo de diversos vdeos e udios. " Convite a todos Com o desenvolvimento e melhorias deste brilhante projeto brasileiro, e por sua filosofia de software livre, todos que se interessarem podem ajudar, aprender e a divulgar o GINGA. Criando pequenas aplicaes, tutoriais, disseminando informaes ao redor do mundo. Para ver muitos artigos, textos e tutoriais, acesse: http://www.gingancl.org.br/documentos.html Agradecimentos GINGA - Software Livre para TV Digital Brasileira [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 5 of 6 23/6/2010 22:40 Obrigado a todos que leram este artigo com foco em divulgao e novidades, e no apenas com o intuito de "howto", de como fazer isso, faa aquilo. Logo que esta incrvel tecnologia se fixar melhor no Brasil e adquirir conhecimento suficiente para o mesmo, posto novidades e como implementar programas, desenvolv-lo e usar. Espero que tenham gostado. Obrigado, tambm a todos os mantedores desta comunidade Viva o/ Linux, Abraos. Paulo Roberto Junior http://www.paulojr.info http://www.vivaolinux.com.br/artigo/GINGA-Software-Livre-para-TV-Digital-Brasileira Voltar para o site GINGA - Software Livre para TV Digital Brasileira [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 6 of 6 23/6/2010 22:40