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

Ginga - Solisc 2010

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Ginga - Solisc 2010

Introdução ao middleware de TV Digital brasileiro

Bruno Ghisi

Alexandre Lemos

Page 2: Ginga - Solisc 2010

Objetivo

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

Page 3: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 4: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 5: Ginga - Solisc 2010

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

Page 6: Ginga - Solisc 2010

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 • ...

Page 7: Ginga - Solisc 2010

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

Page 8: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 9: Ginga - Solisc 2010

T-Commerce

Page 10: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 11: Ginga - Solisc 2010

Padrão Brasileiro TVD

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

 • Mobilidade

o One-seg (1Seg)

Page 12: Ginga - Solisc 2010

Padrão Brasileiro TVD

• Países que escolheram:o Brasilo Peruo Argentinao Chileo Venezuelao Equadoro Costa Ricao Paraguaio Bolíviao Nicarágua

Page 13: Ginga - Solisc 2010

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

Page 14: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 15: Ginga - Solisc 2010

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

Page 16: Ginga - Solisc 2010

Carrossel Objetos

Page 17: Ginga - Solisc 2010

O que é o Ginga?

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

Page 18: Ginga - Solisc 2010

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

Page 19: Ginga - Solisc 2010

Arquitetura Middleware TVD

Page 20: Ginga - Solisc 2010

Arquitetura Middleware Ginga

Page 21: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 22: Ginga - Solisc 2010

Middleware Ginga - Ginga-NCL

Page 23: Ginga - Solisc 2010

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

Page 24: Ginga - Solisc 2010

NCL

Page 25: Ginga - Solisc 2010

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

Page 26: Ginga - Solisc 2010

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

Page 27: Ginga - Solisc 2010

Lua

Page 28: Ginga - Solisc 2010

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

Page 29: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 30: Ginga - Solisc 2010

Middleware Ginga - Ginga-J

Page 31: Ginga - Solisc 2010

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

Page 32: Ginga - Solisc 2010

Stack Ginga-J • Ginga-J define o ambiente de execução para aplicação

procedurais: Java Xlets

Page 33: Ginga - Solisc 2010
Page 34: Ginga - Solisc 2010

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

Page 35: Ginga - Solisc 2010
Page 36: Ginga - Solisc 2010

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 37: Ginga - Solisc 2010
Page 38: Ginga - Solisc 2010

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

Page 39: Ginga - Solisc 2010

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

Page 40: Ginga - Solisc 2010
Page 41: Ginga - Solisc 2010

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

Page 42: Ginga - Solisc 2010

Middleware Ginga - Ponte

Page 43: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 44: Ginga - Solisc 2010

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 45: Ginga - Solisc 2010

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 46: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 47: Ginga - Solisc 2010

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] 

o [email protected] [email protected]

Page 48: Ginga - Solisc 2010

Agenda

• Contextualização• Demo• Padrão Brasileiro TVD • Middleware Ginga • Subsistema Ginga-NCL• Subsistema Ginga-J• Ferramentas• Comunidades• Status atual

Page 49: Ginga - Solisc 2010

Receptores

Page 50: Ginga - Solisc 2010

Copa - Band

Page 51: Ginga - Solisc 2010

Copa - Globo

Page 52: Ginga - Solisc 2010

Tititi - Globo

Page 53: Ginga - Solisc 2010

Passione - Globo

Page 54: Ginga - Solisc 2010

Caminho das Índias - Globo

Page 55: Ginga - Solisc 2010

A Fazenda - Record

Page 56: Ginga - Solisc 2010

Portal SBT

Page 57: Ginga - Solisc 2010

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