56
Introdução ao middleware de TV Digital brasileiro Bruno Ghisi Alexandre Lemos

Solisc 2010 ginga

Embed Size (px)

Citation preview

Page 1: Solisc 2010 ginga

Introdução ao middleware de TV Digital brasileiro

Bruno Ghisi

Alexandre Lemos

Page 2: Solisc 2010 ginga

Objetivo

Introduzir o conceito do cenário brasileiro de TV Digital, middleware Ginga, aplicações interativas e ferramentas open source relacionadas.

Page 3: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 4: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 5: Solisc 2010 ginga

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

Page 6: Solisc 2010 ginga

Cadeia de valor

RadiodifusorFabricante de produto (OEM)AcademiaFornecedor de middlewareFornecedor de JVM Fabricante de chipsetGerador de conteúdoFornecedor de ferramentas ...

Page 7: Solisc 2010 ginga

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

Page 8: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 9: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 10: Solisc 2010 ginga

Padrão Brasileiro TVD

ISDB-Tb - padrão japonêsVídeo H.264Áudio MPEG-4Ginga

Mobilidade

One-seg (1Seg)

Page 11: Solisc 2010 ginga

Padrão Brasileiro TVD

Países que escolheram:BrasilPeruArgentinaChileVenezuelaEquadorCosta RicaParaguaiBolíviaNicarágua

Page 12: Solisc 2010 ginga

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

Page 13: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 14: Solisc 2010 ginga

Middleware de TVD

O 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

Page 15: Solisc 2010 ginga

Carrossel Objetos

Page 16: Solisc 2010 ginga

O que é o Ginga?

Ginga é o nome do Middleware Aberto do Sistema Brasileiro de TV Digital (SBTVD)

Page 17: Solisc 2010 ginga

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

Page 18: Solisc 2010 ginga

Arquitetura Middleware TVD

Page 19: Solisc 2010 ginga

Arquitetura Middleware Ginga

Page 20: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 21: Solisc 2010 ginga

Middleware Ginga - Ginga-NCL

Page 22: Solisc 2010 ginga

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

fluxo da apresentação ciclo de vida dos players de mídia

Page 23: Solisc 2010 ginga

NCL

Page 24: Solisc 2010 ginga

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

Page 25: Solisc 2010 ginga

LuaPUC-Rio 1993

Linguagem de script poderosa, leve e extensível

Implementado como uma biblioteca, escrita em CLinguagem procedural, com sintaxe semelhante ao C

Dinamicamente tipado Sem ponteirosColetor de lixo

http://www.lua.org

Page 26: Solisc 2010 ginga

Lua

Page 27: Solisc 2010 ginga

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

Page 28: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 29: Solisc 2010 ginga

Middleware Ginga - Ginga-J

Page 30: Solisc 2010 ginga

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)

Forum SBTVD e a Sun Microsystems propuseram uma nova especificação

Java DTV

Page 31: Solisc 2010 ginga

Stack Ginga-J Ginga-J define o ambiente de execução para aplicação procedurais: Java Xlets

Page 32: Solisc 2010 ginga
Page 33: Solisc 2010 ginga

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

Page 34: Solisc 2010 ginga
Page 35: Solisc 2010 ginga

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

Page 36: Solisc 2010 ginga
Page 37: Solisc 2010 ginga

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

Segurança

Page 38: Solisc 2010 ginga

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

Page 39: Solisc 2010 ginga
Page 40: Solisc 2010 ginga

Extensões brasileiras (SBTVD)

Complementam e extendem 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

Page 41: Solisc 2010 ginga

Middleware Ginga - Ponte

Page 42: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 43: Solisc 2010 ginga

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

Page 44: Solisc 2010 ginga

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

Page 45: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 46: Solisc 2010 ginga

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

Page 47: Solisc 2010 ginga

Agenda

ContextualizaçãoDemoPadrão Brasileiro TVD Middleware Ginga Subsistema Ginga-NCLSubsistema Ginga-JFerramentasComunidadesStatus atual

Page 48: Solisc 2010 ginga

Receptores

Page 49: Solisc 2010 ginga

Copa - Band

Page 50: Solisc 2010 ginga

Copa - Globo

Page 51: Solisc 2010 ginga

Tititi - Globo

Page 52: Solisc 2010 ginga

Passione - Globo

Page 53: Solisc 2010 ginga

Caminho das Índias - Globo

Page 54: Solisc 2010 ginga

A Fazenda - Record

Page 55: Solisc 2010 ginga

Portal SBT

Page 56: Solisc 2010 ginga

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