Ginga - Solisc 2010
-
Upload
bruno-ghisi -
Category
Technology
-
view
608 -
download
2
description
Transcript of Ginga - Solisc 2010
Introdução ao middleware de TV Digital brasileiro
Bruno Ghisi
Alexandre Lemos
Objetivo
Introduzir o conceito do cenário brasileiro de TV Digital, middleware Ginga, aplicações interativas e ferramentas open source relacionadas.
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
Histórico• Novembro 2003
o Ato federal para criação de um sistema de TV Digital o SBTVD (Sistema Brasileiro de TV Digital Terrestre)
• Junho 2006o Definição do padrão ISDB-Tb
Cadeia de valor
• Radiodifusor• Fabricante de produto (OEM)• Academia• Fornecedor de middleware• Fornecedor de JVM • Fabricante de chipset• Gerador de conteúdo• Fornecedor de ferramentas • ...
Fórum SBTVD e ABNT
• Fórum SBTVDo Define as especificações e propões soluções
de acordo com a realidade brasileirao Dissemina o padrão
• ABNTo Normatiza as especificaçõeso Gerencia as normas
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
T-Commerce
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
Padrão Brasileiro TVD
• ISDB-Tb - padrão japonêso Vídeo H.264o Áudio MPEG-4o Ginga
• Mobilidade
o One-seg (1Seg)
Padrão Brasileiro TVD
• Países que escolheram:o Brasilo Peruo Argentinao Chileo Venezuelao Equadoro Costa Ricao Paraguaio Bolíviao Nicarágua
Receptores full-seg e one-seg
• Full-seg o 1920x1080i, 1280x720p, 720x480po ex: set top box e televisão
• One-seg o 320x240o ex: celular
• Ginga-NCL é mandatório para todos receptores • Ginga-J é mandatório para receptores full-seg• Canal de retorno: Full-seg, opcional; one-seg,
obrigatório
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
Middleware de TVD
• O que é um middleware?o 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?
o Middleware que irá rodar no conversor (set top box) ou embarcado na TV
Carrossel Objetos
O que é o Ginga?
• Ginga é o nome do Middleware Aberto do Sistema Brasileiro de TV Digital (SBTVD)
Norma Middleware Ginga• ABNT NBR 15606 - Middleware Ginga
o Middleware brasileiro de TV Digital o É 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
Arquitetura Middleware TVD
Arquitetura Middleware Ginga
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
Middleware Ginga - Ginga-NCL
NCL
• PUC-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
o fluxo da apresentação o ciclo de vida dos players de mídia
NCL
Players• Players de mídia específicos apresentam o conteúdo
para o usuárioo Vídeo, Imagenso Player Lua - interpretador para scripts Luao Player de Xlets Java o Player XHTML - decodifica conteúdo XHTML,
incluindo CSS (stylesheets) e ECMAScript
Lua• PUC-Rio 1993
• Linguagem de script poderosa, leve
e extensível • Implementado como uma biblioteca,
escrita em C• Linguagem procedural, com sintaxe
semelhante ao Co Dinamicamente tipado o Sem ponteiroso Coletor de lixo
• http://www.lua.org
Lua
NCLua
• Extensões ao Luao módulo canvas
desenhar diretamente em uma área da TVo módulo event
comunicação com players no NCL input canal de retorno informações do programa de TV
o módulo settings configurações do NCL e receptor
o módulo persistent permite armazenar pequena quantidade de dados no
receptor
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
Middleware Ginga - Ginga-J
Histórico
• Ginga-J foi proposto pela UFPB (Universidade da Paraíba) em Dez/07 e ocorreram algumas questões de propriedade intelectual em função do MHP (APIs HAVI & DAVIC)o Forum SBTVD e a Sun Microsystems
propuseram uma nova especificaçãoJava DTV
Stack Ginga-J • Ginga-J define o ambiente de execução para aplicação
procedurais: Java Xlets
CDC / FP / PBP• Connected Device Configuration (CDC)
o A configuração mais abrangente do Java MEo CDC é compatível com sintaxe Java 1.4o Com 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)
o AWT
Java TV
• Acesso aos dados do SI (Service Information) • Controle dos media players específicos da TV
via JMF • APIs definidas no Java TV fornecem um
framework • Outros middlewares TVD utilizam como stack
básica Java TV
Java DTV• Informaçõ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
o Acesso aos dispositivos de rede • Comunicação Inter-Xlet
• LWUIT
• Segurança
LWUIT
• LWUIT - LightWeight User Interface Toolkito Componentes gráficos de alto nível o Tratador de eventos hierárquico através dos containers e
componenteso Abstraçã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ávelo Temas, fontes, imagens, animações e mensagens
Extensões brasileiras (SBTVD)
• Complementam e extendem a Java DTV• • API de informações de serviço dependente de
protocoloo Acessa informações dos serviços específicas do
padrão brasileiro (baixo nível) • API da ponte NCL
Middleware Ginga - Ponte
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
Ferramentas Eclipse
Eclipse Public Licensewww.eclipse.org LuaEclipseLicença MIThttp://luaeclipse.luaforge.net/http://github.com/KINFOO/LuaEclipse NCL EclipseDuplo Licenciamento (semelhante ao MySql) http://laws.deinf.ufma.br/~ncleclipse/faq.htmlhttp://laws.deinf.ufma.br/~ncleclipse/index.html STB Virtual - implementação referência Ginga-NCLLicença indeterminadahttp://www.gingancl.org.br/ferramentas.html
Ref http://www.bravaitv.com.br/fisl
Ferramentas
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 LunityCreative Commonshttp://phrogz.net/lua/lunity.lua LuaCovLicença MIThttp://luacov.luaforge.net
Ref http://www.bravaitv.com.br/fisl
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
Comunidades e Listas
• http://www.forumsbtvd.org.br• http://www.softwarepublico.gov.br • http://clube.ncl.org.br• https://javatv-developers.dev.java.net
• Listas
o Lista TV Digital SouJava em [email protected]
Agenda
• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual
Receptores
Copa - Band
Copa - Globo
Tititi - Globo
Passione - Globo
Caminho das Índias - Globo
A Fazenda - Record
Portal SBT
Obrigado
Bruno Ghisi weblogs.java.net/blog/brunogh [email protected]
Alexandre [email protected]
Estamos contratando: TVD, Web, Mobile, Java, C/C++, Unix, embedded, XP
http://www.certi.org.br/ccd