ginga e a tv digital interativa no brasil · cdc / fp / pbp connected device configuration (cdc) a...

63
Ginga e a TV Digital Interativa no Brasil Bruno Ghisi Engenheiro de Software weblogs.java.net/brunogh Alexandre Lemos Engenheiro de Software

Upload: others

Post on 21-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Ginga e a TV Digital Interativa no Brasil

Bruno GhisiEngenheiro de Software

weblogs.java.net/brunogh

Alexandre LemosEngenheiro de Software

Page 2: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Objetivo

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

Page 3: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 4: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 5: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Cadeia de valor

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

Page 7: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 9: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 10: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Padrão Brasileiro TVD

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

Mobilidade

One-seg (1Seg)

Page 11: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Padrão Brasileiro TVD

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

Page 12: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 14: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 15: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Carrossel Objetos

Page 16: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

O que é o Ginga?

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

Page 17: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Controle Remoto

Page 19: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Arquitetura Middleware TVD

Page 20: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Arquitetura Middleware Ginga

Page 21: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 22: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Middleware Ginga - Ginga-NCL

Page 23: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 24: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

NCL

Page 25: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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 26: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 27: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Lua

Page 28: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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 29: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 30: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Middleware Ginga - Ginga-J

Page 31: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 32: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 33: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4
Page 34: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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 35: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

AMS

Application Management SystemSandboxXlet

Page 36: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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 {}

}

Page 37: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4
Page 38: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 39: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4
Page 40: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 41: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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 42: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Componentes LWUIT

Page 43: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Componentes LWUIT

Page 44: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Componentes LWUIT

Page 45: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4
Page 46: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 47: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Middleware Ginga - Ponte

Page 48: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 49: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 50: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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

Page 51: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Demo OpenGinga

Page 52: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 53: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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 54: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Agenda

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

Page 55: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Receptores

Page 56: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Copa - Band

Page 57: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Copa - Globo

Page 58: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Tititi - Globo

Page 59: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Passione - Globo

Page 60: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Caminho das Índias - Globo

Page 61: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

A Fazenda - Record

Page 62: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

Portal SBT

Page 63: Ginga e a TV Digital Interativa no Brasil · CDC / FP / PBP Connected Device Configuration (CDC) A configuração mais abrangente do Java ME CDC é compatível com sintaxe Java 1.4

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