Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A...
Transcript of Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A...
Ginga e a TV Digital Interativa no Brasil
Bruno GhisiEngenheiro de Software
weblogs.java.net/brunogh
Alexandre LemosEngenheiro de Software
Objetivo
Introduzir o conceito do cenário brasileiro de TV Digital, middleware Ginga, aplicações interativas e ferramentas open source relacionadas.
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
HistóricoNovembro 2003
Ato federal para criação de um sistema de TV Digital SBTVD (Sistema Brasileiro de TV Digital Terrestre)
Junho 2006Definição do padrão ISDB-Tb
Cadeia de valor
RadiodifusorFabricante de produto (OEM)AcademiaFornecedor de middlewareFornecedor de JVM Fabricante de chipsetGerador de conteúdoFornecedor de ferramentas ...
Fórum SBTVD e ABNT
Fórum SBTVDDefine as especificações e propões soluções de acordo com a realidade brasileiraDissemina o padrão
ABNTNormatiza as especificaçõesGerencia as normas
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
Padrão Brasileiro TVD
ISDB-Tb - padrão japonêsVídeo H.264Áudio MPEG-4Ginga
Mobilidade
One-seg (1Seg)
Padrão Brasileiro TVD
Países que escolheram:BrasilPeruArgentinaChileVenezuelaEquadorCosta RicaParaguaiBolíviaNicarágua
Receptores full-seg e one-seg
Full-seg 1920x1080i, 1280x720p, 720x480pex: set top box e televisão
One-seg 320x240ex: celular
Ginga-NCL é mandatório para todos receptores Ginga-J é mandatório para receptores full-segCanal de retorno: Full-seg, opcional; one-seg, obrigatório
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
Middleware de TVDO que é um middleware?
Camada de software intermediário que oculta dependências de plataforma e permite que aplicações sejam desenvolvidas de maneira independente
O que é um middleware de TV Digital?
Middleware que irá rodar no conversor (set top box) ou embarcado na TV
Carrossel Objetos
O que é o Ginga?
Ginga é o nome do Middleware do Sistema Brasileiro de TV Digital (SBTVD)
Norma Middleware GingaABNT NBR 15606 - Middleware Ginga
Middleware brasileiro de TV Digital É uma especificação X implementação
ABNT NBR 15606 é dividida em 6 partes
NBR 15601 TransmissãoNBR 15602 CodificaçãoNBR 15603 MultiplexaçãoNBR 15604 ReceptoresNBR 15605 SegurançaNBR 15606 MiddlewareNBR 15607 Canal de InteratividadeNBR 15608 Guia de operação
Controle Remoto
Arquitetura Middleware TVD
Arquitetura Middleware Ginga
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
Middleware Ginga - Ginga-NCL
NCLPUC-Rio
NCL (Nested Context Language) é a parte declarativa do Ginga
Linguagem formato XML
Código NCL define os objetos de mídia e a estrutura da apresentação
Formatador NCL controla
fluxo da apresentação ciclo de vida dos players de mídia
NCL
PlayersPlayers de mídia específicos apresentam o conteúdo para o usuário
Vídeo, ImagensPlayer Lua - interpretador para scripts LuaPlayer de Xlets Java Player XHTML - decodifica conteúdo XHTML, incluindo CSS (stylesheets) e ECMAScript
Lua
PUC-Rio 1993 Linguagem de script poderosa, leve e extensívelImplementado como uma biblioteca, escrita em CLinguagem procedural, com sintaxe semelhante ao C
Dinamicamente tipado Sem ponteirosColetor de lixo
http://www.lua.org
Lua
NCLua
Extensões ao Luamódulo canvas
desenhar diretamente em uma área da TVmódulo event
comunicação com players no NCLinputcanal de retornoinformações do programa de TV
módulo settings configurações do NCL e receptor
módulo persistent permite armazenar pequena quantidade de dados no receptor
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
Middleware Ginga - Ginga-J
Histórico
Ginga-J foi proposto pela UFPB (Universidade da Paraíba) em Dez/07Ocorreram algumas questões de propriedade intelectual em função do MHP (APIs HAVI & DAVIC) Fórum SBTVD e a Sun Microsystems propuseram uma nova especificação
Java DTV
Stack Ginga-J Ginga-J define o ambiente de execução para aplicação procedurais: Java Xlets
CDC / FP / PBPConnected Device Configuration (CDC)
A configuração mais abrangente do Java MECDC é compatível com sintaxe Java 1.4Com a a adição dos profiles, pode se chegar na API Java SE
Foundation Profile (FP)
APIs io, security, network, utility
Personal Basis Profile (PBP) AWT
AMS
Application Management SystemSandboxXlet
Xlet
import javax.microedition.xlet.XletStateChangeException;import javax.microedition.xlet.XletContext;import javax.microedition.xlet.Xlet;
public class BasicXlet implements Xlet {
public BasicXlet () {}
public void initXlet (XletContext context) throws XletStateChangeException {} public void startXlet () throws XletStateChangeException {} public void pauseXlet () {} public void destroyXlet (boolean unconditional) throws XletStateChangeException {}
}
Java TV
APIs definidas no Java TV fornecem um framework
Outros middlewares TVD utilizam como stack básica Java TV
Acesso aos dados do SI (Service Information)
Controle dos media players específicos da TV via JMF
Java DTVInformações de serviço, tuner, transporte (MPEG streams)
Propriedades do usuário
Acesso aos arquivo da transmissão (broadcast)
Persistência (limitada)
Canal de retorno
Acesso aos dispositivos de rede
Comunicação Inter-Xlet
LWUIT
LWUITLWUIT - LightWeight User Interface Toolkit
Componentes gráficos de alto nível Tratador de eventos hierárquico através dos containers e componentesAbstração dos componentes nativos (Graphics, Font, etc)
Suporte a style, theme e look and feel
Resource bundles permitem o empacotamento dos recursos de maneira portável
Temas, fontes, imagens, animações e mensagens
Componentes LWUIT
Componentes LWUIT
Componentes LWUIT
Extensões brasileiras (SBTVD)
Complementam e estendem a Java DTV API de informações de serviço dependente de protocolo
Acessa informações dos serviços específicas do padrão brasileiro (baixo nível)
API da ponte NCL
Middleware Ginga - Ponte
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
Ferramentas Ginga-NCL LuaEclipse (Licença MIT)
http://luaeclipse.luaforge.net/http://github.com/KINFOO/LuaEclipse NCL EclipseDuplo Licenciamento (semelhante ao MySql) http://laws.deinf.ufma.br/~ncleclipse/index.html STB Virtual - implementação referência Ginga-NCLhttp://www.gingancl.org.br/ferramentas.html Lunity (Creative Commons)http://phrogz.net/lua/lunity.lua LuaCov (Licença MIT)http://luacov.luaforge.net
Ref http://www.bravaitv.com.br/fisl
Ferramentas Ginga-J
Emulador Ginga-J - Open Ginga - implementação referência Ginga-JGPLv2http://ginga.lavid.ufpb.br/projects/gingaj-emulator/wiki AntApache Software Licensehttp://ant.apache.org Criatividade!
LWUIT celular, Java TV SDK, phoneME Advanced, etc
Ref http://www.bravaitv.com.br/fisl
Demo OpenGinga
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
Comunidades e Listas
http://www.forumsbtvd.org.brhttp://www.softwarepublico.gov.br http://clube.ncl.org.brhttps://javatv-developers.dev.java.net
Listas
Lista TV Digital SouJava em [email protected] [email protected]@googlegroups.com
Agenda
ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual
Receptores
Copa - Band
Copa - Globo
Tititi - Globo
Passione - Globo
Caminho das Índias - Globo
A Fazenda - Record
Portal SBT
Bruno Ghisi weblogs.java.net/blog/brunogh [email protected]
Alexandre [email protected]
Obrigado
Estamos contratando: TVD, Web, Mobile, Java, C/C++, Unix, embedded, XP
http://www.certi.org.br/ccd