Ginga - Solisc 2010

Preview:

DESCRIPTION

 

Citation preview

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 tvdigital-subscribe@soujava.dev.java.net 

o devdtv@googlegroups.como tvinterativa@googlegroups.com

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  bcg@certi.org.br

Alexandre Lemosarl@certi.org.br

Estamos contratando: TVD, Web, Mobile, Java, C/C++, Unix, embedded, XP

http://www.certi.org.br/ccd