GINGA - Software Livre para TV Digital Brasileira [Artigo] 1 of 6 http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 GINGA - Software Livre para TV Digital Brasileira Autor: Paulo Roberto Junior - WoLF <paulorvojr at gmail.com> Data: 13/04/2009 O que é GINGA Posso falar com minhas próprias indagações e avaliações sobre este projeto, mas nada como os próprios desenvolvedores o definem. Texto abaixo retirado e com os devidos créditos do site do governo: http://www.softwarepublico.gov.br/ "Ginga é a camada de software intermediário (middleware) que permite o desenvolvimento de aplicações 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 Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) e pela Universidade Federal da Paraíba (UFPB), Ginga reúne um conjunto de tecnologias e inovações brasileiras que o tornam a especificação de middleware mais avançada e, ao mesmo tempo, mais adequada à realidade do país. O Middleware Ginga pode ser dividido em três subsistemas principais: Ginga-CC, Ginga-J e Ginga-NCL. Ginga-CC (Ginga Common-Core) oferece o suporte básico 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 aplicação, um paradigma de programação (declarativo ou procedural) possuirá uma melhor adequação que o outro. Ginga-J foi desenvolvido pela UFPB para prover uma infra-estrutura de execução de aplicações baseadas em linguagem Java, com facilidades especificamente voltadas para o ambiente de TV digital. Em breve, o subgrupo Ginga-J estará disponível nesta comunidade! Ginga-NCL foi desenvolvido pela PUC-Rio para prover uma infra-estrutura de apresentação de aplicações baseadas em documentos hipermídia escritos em linguagem NCL, com facilidades para a especificação de aspectos de interatividade, sincronismo espaço-temporal de objetos de mídia, adaptabilidade e suporte a múltiplos dispositivos. NCL possui Lua como sua linguagem de script. Entre agora mesmo no subgrupo Ginga-NCL! Para facilitar o desenvolvimento de aplicações Ginga-NCL, a PUC-Rio desenvolveu também a ferramenta Composer. Composer é um ambiente de autoria voltado para a criação de programas NCL para TV digital interativa. Nessa ferramenta, as abstrações são definidas em diversos tipos de visões que permitem simular um tipo específico de edição (estrutural, temporal, leiaute e textual). Essas visões 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 estão aplicados ao cenário de TV Digital, mas já são aplicados em outros cenários de aplicações multimídia e hipermídia, como Web, IPTV etc. TV Digital Interativa é apenas um caso particular de aplicação 23/6/2010 22:40 GINGA - Software Livre para TV Digital Brasileira [Artigo] 2 of 6 http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 multimídia. " Sistema de TV Digital: Uma visão geral rápida Um sistema de TV digital é um sistema típico de cliente/servidor. O servidor compõe o ambiente de uma radiodifusora (Globo, SBT) ou de um servidor de conteúdo (GINGA por exemplo) e o cliente o ambiente do usuário telespectador (NÓS). Um programa de TV é composto por um áudio principal e um vídeo principal, capturado ao vivo de uma câmera, ou de um servidor com vídeos(não ao vivo). Com o GINGA instalado, consegue-se usar a interatividade da televisão Digital. Um dos exemplos de interatividade é a escolha de um programa dentro de um canal, como filmes de ação, dentro do canal de filmes; ou fazer compras pela televisão. O que é TV DIGITAL sem GINGA Basicamente é uma televisão com uma imagem e som melhor. Portanto, não aceite uma televisão ou um set-top box sem ter o programa brasileiro GINGA, pois ele é indispensável para que a interatividade da televisão e as inovações de canal e programação possam ser usufruídas por você. Então posso criar um programa interativo, onde pessoas com seus devidos recursos necessários para o tal, e elas interagirem com o controle remoto? Sim, pode perfeitamente e é isso que a TV Digital vai proporcionar, além de claro uma melhor qualidade de sinal e resolução, e acima de tudo, interação com os usuários. GINGA em formato LIVE-CD Este maravilho projeto agora está disponível de uma forma mais prática. Um belo Live-cd. Para baixá-lo acesse o link: http://www.ncl.org.br/ferramentas/ginga_LiveCD_v1.0.iso Caso o link não funcione ou seja alterado, procure na página oficial em: http://www.gingancl.org.br /ferramentas.html Após baixar, grave esta imagem de cd em formato .iso, em um cd virgem, e como qualquer outra distribuição Linux live-cd, inicie o computador ou sua máquina virtual pelo cd, ou pela .iso (no caso de uma máquina virtual). Após isto, as seguintes imagens irão aparecer: 23/6/2010 22:40 GINGA - Software Livre para TV Digital Brasileira [Artigo] 3 of 6 http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 em seguida: Set-top Box Virtual de desenvolvimento Ginga-NCL Outra forma de conhecer o Ginga-NCL é em formato já pronto de máquina virtual: Para baixar acesse: http://www.ncl.org.br/ferramentas/fedora-fc7-ginga-i386.zip Após baixar, descompacte em uma pasta onde se localiza seu repositório de máquinas virtuais, tanto para VMWare, VirtualBox, entre outros. Com informações de fácil entendimento, segue abaixo a melhor descrição do assunto, criado com os créditos dos próprios desenvolvedores: "O Set-top Box Virtual Ginga-NCL é uma máquina virtual construída para facilitar o processo de distribuição e implantação do Ginga-NCL versão C++, a versão do player NCL que conta com os mais avançados recursos de apresentação de aplicações declarativas, melhor desempenho e maior proximidade de uma implementação embarcada em set-top boxes reais. 23/6/2010 22:40 GINGA - Software Livre para TV Digital Brasileira [Artigo] 4 of 6 http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 Analisando os reportes dos membros da comunidade Ginga, nota-se a dificuldade enfrentada por usuários não-avançados para colocar essa versão do Ginga-NCL em funcionamento em seus computadores. Mas, ao mesmo tempo, vê-se que a demanda pelo uso da versão C++ vem crescendo, provavelmente motivada pela maior fidelidade de apresentação dos documentos NCL, se comparada à versão escrita em Java. Uma máquina virtual é a implementação em software de um computador que executa programas tal qual uma máquina real. Ela pode ser vista como uma duplicata isolada de uma máquina real. Cabe ao software de virtualização multiplexar o hardware real gerenciado por um sistema operacional hospedeiro (host) entre diversas instâncias virtuais desse hardware, gerenciadas por sistemas operacionais convidados (guests). Os sistemas operacionais convidados não 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 aplicações) executando ao mesmo tempo, concorrentemente, disputando o compartilhamento do hardware real. Criar uma máquina virtual envolve a seleção de quais dispositivos de hardware estarão disponíveis para o sistema operacional convidado, qual a quantidade de memória, e outras configurações. Tal seleção é guiada por uma avaliação dos objetivos finais da máquina virtual. Uma vez configurada, a máquina virtual deve receber a instalação de um sistema operacional convidado, dos pacotes de sua distribuição e de softwares de terceiros. Assim, a virtualização se torna um atrativo veículo para distribuição de software, principalmente daqueles que possuem alta complexidade de compilação, instalação ou personalização junto ao hardware e serviços. E essas mesmas características são encontradas no Ginga-NCL. A máquina virtual fedora-fc7-ginga-i386 foi criada e configurada pela equipe do Laboratório TeleMídia da PUC-Rio utilizando o software VMWare Workstation 6 (trial). As características de hardware configuradas para a máquina virtual estão exibidas na figura ao lado. O sistema operacional instalado é Linux, distribuição Fedora Core 7. A instalação foi otimizada para incluir apenas os pacotes de software essenciais para o desenvolvimento do Middleware Ginga e para a execução do gingaNclPlayer versão C++. Dessa forma, foram excluídos programas populares como todo ambiente gráfico X/GNOME/KDE, e suas ferramentas. O objetivo é gerar um ambiente muito próximo a um set-top box de desenvolvimento real. A maior diferença é 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, não vem com controle remoto... Os principais pacotes de software instalados são: 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 (código fonte) Com tudo isso, a máquina virtual apresenta como principais vantagens: Instalação descomplicada, pois tudo está pronto, não há configurações de kernel ou boot a serem feitas Portabilidade entre diferentes sistemas operacionais 23/6/2010 22:40 GINGA - Software Livre para TV Digital Brasileira [Artigo] 5 of 6 http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 Ótimo ambiente de testes de aplicações NCL / NCLua. Ambiente completo para os desenvolvedores do middleware Obs.: O STB Virtual vem pré-configurado com o uma resolução de 640x480, baixa dessa forma para otimizar o uso da CPU. Usuários com alguma experiência em framebuffer e directfb podem modificar a resolução 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 núcleo ideal. Memória RAM de 1 Gb ou maior. 2 Gb recomendado. Placa Aceleradora de Vídeo com 64Mb ou maior. Chipsets nVidia e ATI recomendados. Disco rígido com 5Gb livres. Placa de som Requisitos de software: Sistema Operacional: Windows XP (ou posterior), ou Linux, ou Mac OS X. Software de virtualização: 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 usuário se limitar a aplicações NCL mais simples, que incluem mídias de baixa resolução e que evitam a renderização em paralelo de diversos vídeos 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 aplicações, tutoriais, disseminando informações ao redor do mundo. Para ver muitos artigos, textos e tutoriais, acesse: http://www.gingancl.org.br/documentos.html Agradecimentos 23/6/2010 22:40 GINGA - Software Livre para TV Digital Brasileira [Artigo] 6 of 6 http://www.vivaolinux.com.br/artigos/impressora.php?codigo=9814 Obrigado a todos que leram este artigo com foco em divulgação e novidades, e não apenas com o intuito de "howto", de como fazer isso, faça aquilo. Logo que esta incrível 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, também a todos os mantedores desta comunidade Viva o/ Linux, Abraços. Paulo Roberto Junior http://www.paulojr.info http://www.vivaolinux.com.br/artigo/GINGA-Software-Livre-para-TV-Digital-Brasileira Voltar para o site 23/6/2010 22:40