116
4° Edição Java Day TV Digital Introdução ao Middleware Ginga Ginga-J

TV Digital Introdução ao Middleware Ginga-Ginga-J

Embed Size (px)

DESCRIPTION

Mini-curso ministrado na 4° Edição do Java Day na UNESP em São José do Rio Preto-SP Java Noroeste

Citation preview

Page 1: TV Digital Introdução ao Middleware Ginga-Ginga-J

4° Edição Java Day

TV Digital

Introdução ao Middleware Ginga

Ginga-J

Page 2: TV Digital Introdução ao Middleware Ginga-Ginga-J

Carlos Fernando GonçalvesMestre em Engenharia de Computação, área de concentração - Engenharia de Software pelo IPT-SP

Bacharel em Física-USP-São Carlos-SPAtua no mercado de desenvolvimento de sistema a mais de

15 anos.Professor na Pós-graduação FATEC São José do Rio Preto

Page 3: TV Digital Introdução ao Middleware Ginga-Ginga-J

Televisão

A palavra televisão foi inventada em 1900, pelo francês Constantin Perskyi. Vem da junção das palavras tele (longe, em grego) e videre (ver, em latim). Perskyi apresentou uma tese no Congresso Internacional de Eletricidade, em Paris cujo título era "Televisão". A tese descrevia um equipamento baseado nas propriedades fotocondutoras do selênio, que transmitia imagens à distância.

Fonte: http://www.portalsaofrancisco.com.br/alfa/historia-da-televisao/historia-da-televisao.php

Page 4: TV Digital Introdução ao Middleware Ginga-Ginga-J

Alta definição

A história da televisão digital inicia-se nos anos 70, quando a direção da rede pública de TV do Japão Nippon Hoso Kyokai (NHK) juntamente com um consórcio de 100 estações comerciais, dão carta branca aos cientistas do NHK Science & Technical Research Laboratories para desenvolver uma TV de alta definição (que seria chamada de HDTV).

Os esforços estavam direcionados para a pesquisa de uma solução tecnológica capaz de dar ao telespectador as sensações mais próximas possíveis, tanto em imagem quanto em som, daquelas experimentadas por um espectador no cinema. Isso exigia não só maior nitidez da imagem e estabilidade na transmissão, mas também uma tela com dimensões proporcionais à das salas de projeção. Fonte:http://pt.wikipedia.org/wiki/Hist%C3%B3ria_da_televis%C3%A3o_digital

Page 5: TV Digital Introdução ao Middleware Ginga-Ginga-J

Twitter e TV

Fonte: http://www.youtube.com/watch?v=Jc8TQppzORE&feature=player_embedded

Page 6: TV Digital Introdução ao Middleware Ginga-Ginga-J

NotíciaTelevisores da LG terão loja de aplicativos

Uma loja de aplicativos online é uma das atrações da nova família de televisores Smart TV, da LG, que chegará ao mercado brasileiro nas próximas semanas

A nova família de TVs conectadas da LG, batizada de Smart TV, chegará ao mercado brasileiro nas próximas semanas. Entre as novidades está a inclusão de um menu com serviços “premium”, dentre os quais estarão portais de vídeo sob demanda, como NetMovies, Saraiva Digital e Terra TV Video Store. A LG fechou acordos de divisão de receitas com esses parceiros para as vendas de programação sob demanda através de seus televisores.

Fonte: http://www.mobilizado.com.br/aplicativos/televisores-da-lg-terao-loja-de-aplicativos

Page 7: TV Digital Introdução ao Middleware Ginga-Ginga-J

NotíciaPesquisa mostra relação da TV com as redes sociais

A proximidade da internet com a televisão nos lares já começa a estimular nos brasileiros o hábito de comentar online o conteúdo dos programas exibidos na telinha. Fatos televisivos divertidos, polêmicos e inesperados ou ainda programas aguardados com grande expectativa estão motivando este comportamento nos internautas.

Hoje, a internet brasileira já soma 73,9 milhões em todo o país. Desses, 76% dos adultos afirmam que navegam na internet enquanto assistem TV e, entre eles, 54% publicam comentários na internet, 30% trocam torpedos e 67% trocam mensagens instantâneas.

Um estudo realizado pelo IBOPE Nielsen Online confirmou esse potencial que os maiores programas da TV têm para gerar grandes picos de discussão nas redes sociais, hoje acessadas por 87% dos internautas brasileiros. A análise foi obtida a partir do BuzzMetrics, ferramenta de mensuração de conteúdos em mídias sociais, ao investigar três assuntos televisivos muito discutidos na esfera social: futebol, reality shows e novela. Nos três, um mesmo fenômeno se repete: as discussões se aquecem sempre que eventos considerados importantes pelo público acontecem.

Fonte: http://www.adnews.com.br/tecnologia/115307.html?sms_ss=twitter&at_xt=4dd3b9581fd50c7c,0

Page 8: TV Digital Introdução ao Middleware Ginga-Ginga-J

NotíciaPesquisa mostra relação da TV com as redes sociais

Reality shows

De dezembro de 2010 a abril deste ano, foram encontradas quase 5 milhões de mensagens que citavam o nome dos principais reality shows nacionais. Os principais picos quase sempre estão relacionados com eventos predeterminados pelos programas: eliminação, provas por liderança, abertura e encerramento dos programas...

Novelas

Futebol

As mensagens com a palavra futebol chegaram a quase 2 milhões,..

Em estudo conduzido pelo IBOPE Nielsen Online, a pesquisa Social TV, foi possível perceber ainda que o período das 18 às 24h é o preferido por 85% dos usuários que comentam na internet sobre o programa que estão assistindo na TV.

Diante desses fatos, o IBOPE Nielsen Online constata que o futuro dos meios está na combinação entre eles. “Sem isso, será muito difícil, por exemplo, as empresas atingirem seus públicos-alvo. É preciso planejar cuidadosamente ações motivacionais que garantam engajamento e continuidade, e que o assunto não seja falado apenas durante alguns momentos e, depois, esquecido”, analisa Juliana Sawaia, gerente de inteligência de mercado do IBOPE Nielsen Online.

Fonte: http://www.adnews.com.br/tecnologia/115307.html?sms_ss=twitter&at_xt=4dd3b9581fd50c7c,0

Page 9: TV Digital Introdução ao Middleware Ginga-Ginga-J

Twitter

Fonte:http://www.ciashop.com.br/noticia.asp?

noticia=99%_dos_internautas_brasileiros_utilizam_redes_sociais_472&utm_source=eBehavior&utm_medium=email&utm_campaign=42%C2%AA%20Ciashop%20News&utm_term=99%%20redes%20sociais&&utm_source=eBehavior&utm_medium=email&utm_campaign=42%C2%AA%20Ciashop%20News&utm_term=99%%20redes%20sociais&pc=6497009+148+2489+36484

Page 10: TV Digital Introdução ao Middleware Ginga-Ginga-J

Sistema Brasileiro de Televisão Digital

Decreto Nº 4.901, de 26 de novembro de 2003

Institui o Sistema Brasileiro de Televisão Digital

http://www.forumsbtvd.org.br/anexos/decreto-tv-digital.pdf

DECRETO Nº 5.820, DE 29 DE JUNHO DE 2006.

Implantação do SBTVD-T

http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2006/Decreto/D5820.htm

Novembro de 2006

Fórum SBTVD

http://www.forumsbtvd.org.br/materias.asp?id=39

Page 11: TV Digital Introdução ao Middleware Ginga-Ginga-J

O que significa a sigla ISDB-TB ?

Esse é o acrônimo para Integrated Services Digital Broadcasting – Terrestrial. Faltou o “B” que é de Brasil. A tradução da sigla mostra que é um “Sistema Integrado de Radiodifusão Digital” transmitido por ondas terrestres, ou seja, não é nem a cabo e nem via satélite. Ele foi desenvolvido no Japão e é o sistema de TV Digital desse país. Ao ser adotado no Brasil, ele recebeu atualizações tecnológicas (upgrades) nas partes de áudio, vídeo e interatividade. Então o “B” é para contemplar essas atualizações, mas ele não é mais um sistema de TV Digital; ele é ISDB-T reconhecido pelas organizações internacionais que regulam as telecomunicações no mundo.

Fonte: http://www.forumsbtvd.org.br/materias.asp?id=20

Page 12: TV Digital Introdução ao Middleware Ginga-Ginga-J

Os países que já adotaram o padrão ISDB-Tb

Fonte: http://www.dtv.org.br/index.php/onde-ja-tem-tv-digital/veja-aqui-os-paises-da-america-do-sul-que-ja-adotaram-o-padrao-isdb-tb/

Page 13: TV Digital Introdução ao Middleware Ginga-Ginga-J

Padrões pelo mundo

Fonte: http://pt.wikipedia.org/wiki/Ficheiro:Digital_broadcast_standards.svg

Page 14: TV Digital Introdução ao Middleware Ginga-Ginga-J

Transmissão na TV Digital

Page 15: TV Digital Introdução ao Middleware Ginga-Ginga-J

Fonte: http://www.forumsbtvd.org.br

Implantação da TV Digital no Brasil

Page 16: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Analógica e TV Digital

Page 17: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Analógica e TV Digital

Page 18: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Analógica e TV Digital

Esse número é a relação entre Largura e Altura da tela. Às vezes é chamada de “tela de cinema” ou “tela larga”.

Para ver um imagem de alta definição verdadeira (1920 pixels na horizontal e 1080 pixels/linhas na vertical) o televisor precisa ter, no mínimo, 42 polegadas (da ordem de 1.07m) de diagonal. Isso equivale a uma largura de 93cm e altura de 52cm, porque a largura/altura é 16/9.

Page 19: TV Digital Introdução ao Middleware Ginga-Ginga-J

Posicionar a TV Digital

Page 20: TV Digital Introdução ao Middleware Ginga-Ginga-J

Caminho das Índias – Interatividade TV Digital - 2009

Page 21: TV Digital Introdução ao Middleware Ginga-Ginga-J

Cadeia de Valor: TV Analógica

Produtores de Conteúdo

Anunciantes

Redes deTelevisão Aberta

Industria de equipamentosDe recepção

Industria deTransmissão

TelespectadorPassivo

Page 22: TV Digital Introdução ao Middleware Ginga-Ginga-J

Cadeia de Valor: TV Digital Aberta

Produtores de Conteúdo

Anunciantes

Redes deTelevisão Aberta

Industria de equipamentosDe recepção

Industria deTransmissão

TelespectadorPassivo

Proveedores de software embarcado

Softwares para equipamentos de transmissão

Provedoresde Chipsets para Set Top Box

Page 23: TV Digital Introdução ao Middleware Ginga-Ginga-J

Cadeia de Valor: TV Digital Aberta e Interativa

Produtores de Conteúdo

Anunciantes

Redes deTelevisão Aberta

Industria de equipamentosDe recepção

Industria deTransmissão

TelespectatorAtivo

Proveedores de software embarcado

Softwares para equipamentos de transmissão

Provedoresde Chipsets para Set Top Box

Proveedoresde middleware

DesenvolvedoresDe aplicação interactivas

Proveedores ferramentaspara desenvolviemento.de aplicativosGinga

Page 24: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

Page 25: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

Page 26: TV Digital Introdução ao Middleware Ginga-Ginga-J

Convergência digital

Page 27: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

TVs da Linha Sony Brava - Em todas as TVs da linha Sony Bravia a partir de 2011 com recurso DTVi

Page 28: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

VT20 (3D) - Desde dezembro todas TVs das séries VT20 (3D) e D20 (LED LCD), da linha Viera, saem de fábrica com o Ginga embarcado

Page 29: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

Page 30: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

Page 31: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

Conversor Digital VT7200E

Page 32: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

Media Center TEKI TK-TS200

Page 33: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

Conversor Digital TEKI TK-TS100

Page 34: TV Digital Introdução ao Middleware Ginga-Ginga-J

TV Digital interativa

EITV Developer Box

Page 35: TV Digital Introdução ao Middleware Ginga-Ginga-J

Set-top-box

Tnstituto Nacional de Telecomunicações (Inatel), em Santa Rita do Sapucaí, em Minas Gerais - Placa eletrônica do terminal interativo

Fonte:http://www.revistapesquisa.fapesp.br/index.php?art=5515&bd=4&pg=1&lg

Page 36: TV Digital Introdução ao Middleware Ginga-Ginga-J

Set-top-box

Fonte: http://olhardigital.uol.com.br/produtos/central_de_videos/interatividade-na-tv-digital-veja-o-que-sera-possivel-fazer

Page 37: TV Digital Introdução ao Middleware Ginga-Ginga-J

Set-top-box Visiontec

Page 38: TV Digital Introdução ao Middleware Ginga-Ginga-J

Set-top-box Visiontec

Fonte: http://www.youtube.com/watch?v=-CJi7ji3rlg

Page 39: TV Digital Introdução ao Middleware Ginga-Ginga-J

CONSEGI 2011

Page 40: TV Digital Introdução ao Middleware Ginga-Ginga-J

CONSEGI 2011

Governo usará TV pública para induzir interatividade e tornará GINGA obrigatório no PPB

“Não vamos esperar a decisão sobre o novo modelo de negócios [da radiodifusão]. A TV pública deve lançar a interatividade”, afirmou o assessor especial da Casa Civil, André Barbosa, durante debate sobre TV Digital promovido nesta sexta-feira, 13/5, durante o 4º Consegi - Congresso Internacional de Software Livre e Governo Eletrônico. Segundo Barbosa, o Ginga também pode se tornar obrigatório nos celulares

A principal diferença parece ser a aposta na TV pública – EBC, TV Cultura, etc – como indutora da interatividade, acreditando que isso fará com que os telespectadores naturalmente exijam um movimento das emissoras comerciais. Mas ainda há desafios que precisam ser superados, a começar pelo canal de retorno do sistema.

Fonte:

http://convergenciadigital.uol.com.br/cgi/cgilua.exe/sys/start.htm?infoid=26258&sid=101

Page 41: TV Digital Introdução ao Middleware Ginga-Ginga-J

Aplicações sofisticadas na TV Digital

Fonte: http://www.youtube.com/watch?v=HDe_XMTEA88&feature=player_embedded

Page 42: TV Digital Introdução ao Middleware Ginga-Ginga-J

Quem usa Ginga-J

Fonte: http://www.youtube.com/watch?v=HDe_XMTEA88&feature=player_embedded

Page 43: TV Digital Introdução ao Middleware Ginga-Ginga-J

Quem usa Ginga-J

Fonte: http://www.oraclejavamagazine-digital.com/javamagazine/premiere2011?sub_id=NAEo70XDKURK#pg1

Page 44: TV Digital Introdução ao Middleware Ginga-Ginga-J

2006

Page 45: TV Digital Introdução ao Middleware Ginga-Ginga-J

2008Java TV

TV digital – Desenvolvendo uma aplicação utilizando a plataforma Java TV

Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=11447

Page 46: TV Digital Introdução ao Middleware Ginga-Ginga-J

2009UNIFEV no Java TV Digital

Page 47: TV Digital Introdução ao Middleware Ginga-Ginga-J

2009Carlos Fini (Rede Globo)

Page 48: TV Digital Introdução ao Middleware Ginga-Ginga-J

2009

Page 49: TV Digital Introdução ao Middleware Ginga-Ginga-J

2009Aguinaldo Boquimpani da TQTVD

Page 50: TV Digital Introdução ao Middleware Ginga-Ginga-J

2009Américo Tomé, da Intel

Page 51: TV Digital Introdução ao Middleware Ginga-Ginga-J

2010Sistema interativo de TV Digital com Ginga-J

Fonte: http://blog.globalcode.com.br/2010/09/sistema-interativo-de-tv-digital-com.html

Page 52: TV Digital Introdução ao Middleware Ginga-Ginga-J

2010Sistema interativo de TV Digital com Ginga-J

Fonte: http://blog.globalcode.com.br/2010/09/sistema-interativo-de-tv-digital-com.html

Page 53: TV Digital Introdução ao Middleware Ginga-Ginga-J

2011 - INTERATIVIDADE NA TV DIGITAL UNIVERSITÁRIA: PROGRAMA DEBATE LIVRE

Page 54: TV Digital Introdução ao Middleware Ginga-Ginga-J

2011TDC2011 – Trilha de TV Digital

Page 55: TV Digital Introdução ao Middleware Ginga-Ginga-J

2011TDC2011 – Trilha de TV Digital

Page 56: TV Digital Introdução ao Middleware Ginga-Ginga-J

2011TDC2011 – Trilha de TV Digital

Page 57: TV Digital Introdução ao Middleware Ginga-Ginga-J

Paradigmas Imperativo e Declarativo

Em outros ambiente computacionais, temos várias formas de se construir aplicações e são utilizadas linguagens de programação declarativas, imperativas ou uma mistura dos dois tipos de linguagens.

Uma linguagem de programação declarativa é um paradigma de programação baseado em programação funcional, programação lógica ou programação restritiva.

Exemplo: linguagens de marcação

São declarativas pois descrevem o que são suas estruturas e não como elas serão utilizadas.

Page 58: TV Digital Introdução ao Middleware Ginga-Ginga-J

Paradigmas Imperativo e Declarativo

Programação imperativa (ou programação procedural) é um paradigma de programação que descreve a computação como ações (comandos) que mudam o estado (variáveis) de um programa. Muito parecido com o comportamento imperativo das linguagens naturais que expressam ordens, programas imperativos são uma sequência de comandos para o computador executar.

Page 59: TV Digital Introdução ao Middleware Ginga-Ginga-J

O middleware Ginga

O Ginga é a especificação de middleware do SBTVD, resultado da integração das propostas FlexTV [Leite 2005] e MAESTRO [Soares 2006], desenvolvidas por consórcios liderados pela UFPB e PUC-Rio no projeto SBTVD , respectivamente.

O Ginga integrou estas duas soluções, chamadas de Ginga-J e Ginga-NCL , tomando por base as recomendações internacionais da ITU. Desta forma, o Ginga é subdividido em dois subsistemas interligados, também chamados de Máquina de Execução (Ginga-J) e Máquina de Apresentação

(Ginga-NCL)

Page 60: TV Digital Introdução ao Middleware Ginga-Ginga-J

Middleware Ginga

Page 61: TV Digital Introdução ao Middleware Ginga-Ginga-J

Middleware Ginga

O Visão geral do middleware Ginga

Page 62: TV Digital Introdução ao Middleware Ginga-Ginga-J

Visão Geral do Ginga-J

Page 63: TV Digital Introdução ao Middleware Ginga-Ginga-J

Ginga-J

CDC 1.1 / FP 1.1 / PBP 1.1

JavaTV 1.1

Med

ia A

PIs

Appl

icat

ion

Man

agem

ent

MPE

G C

once

pts

Broa

dcas

t File

syst

em

MPE

G S

ectio

n Fi

lterin

g

Tuni

ng

Netw

ork

Dev

ice

User

Set

tings

& P

refs

Even

ts

ARIB extensions

Cont

ent S

ecur

ity

Reso

urce

Man

agem

ent

Pers

iste

nt S

tora

ge

TV G

raph

ics

SBTVD Extensions

Applications

UI W

idge

t Set

Page 64: TV Digital Introdução ao Middleware Ginga-Ginga-J

Norma Ginga-J [NBR 15606-4 2010]

1 - Pacotes da plataforma básica Java – representa as funcionalidades de um ambiente Java básico um sistema embarcado baseado nos ambientes CDC [CDC 1.1 2008], FP [FP 1.1 2008] e PBP [PBP 1.1 2008].

2 - Pacotes da especificação JSSE 1.0.1 – implementa funcionalidades opcionais de segurança para a plataforma básica de Java para TV Digital, como por exemplo protocolos de transporte seguro [JSSE 1.0.1 2006].

Page 65: TV Digital Introdução ao Middleware Ginga-Ginga-J

Norma Ginga-J [NBR 15606-4 2010]

3 - Pacotes da especificação JCE 1.0 – implementa outras funcionalidades opcionais de segurança para a plataforma básica de Java para TV Digital, especificamente para operações de criptografia [JCE 1.0.1 2006].

4 - Pacotes da especificação SATSA 1.0.1 – permite comunicação com dispositivos externos (normalmente smartcards) utilizando o protocolo APDU (do inglês, Application Protocol Data Unit) [SATSA 1.0.1 2007].

Page 66: TV Digital Introdução ao Middleware Ginga-Ginga-J

Norma Ginga-J [NBR 15606-4 2010]

5 - Pacotes da especificação JavaTV 1.1 – implementa o modelo de gerenciamento de aplicações, funcionalidades específicas para TV Digital num grau de abstração maior, além de incluir a API JMF (Java Media Framewor) [JavaTV 1.1 2008].

6. Pacotes da especificação JavaDTV 1.3 – extende os pacotes do JavaTV 1.1 para implementar funcionalidades específicas de TV Digital adicionais ou de menor grau de abstração. Também contém os pacotes de APIs gráficas do LWUIT (componentes gráficos, tratamento de eventos do usuário e gerenciador de

layout) [JavaDTV 1.3 2009].

Page 67: TV Digital Introdução ao Middleware Ginga-Ginga-J

Norma Ginga-J [NBR 15606-4 2010]

7 - Pacotes específicos Ginga-J – contém pacotes que implementam funcionalidades exclusivas do sistema brasileiro (controle de planos gráficos, ou que foram herdadas do sistema japonês (acesso a informações de serviço dependente de protocolo) [NBR 15606-4 2010].

Page 68: TV Digital Introdução ao Middleware Ginga-Ginga-J

Planos gráficos

Aplicações Ginga-J podem obter acesso de forma genérica aos planos gráficos oferecidos pelo terminal de acesso, para configuração e exibição de conteúdo de acordo com um modelo de camadas na tela do dispositivo.

Page 69: TV Digital Introdução ao Middleware Ginga-Ginga-J

Planos gráficos

1. Plano[0]: Plano de texto e gráficos;2. Plano[1]: Plano de seleção vídeo/imagem;3. Plano[2]: Plano de imagens estáticas;4. Plano[3]: Plano de vídeo.

Plano de legenda não é acessível

Page 70: TV Digital Introdução ao Middleware Ginga-Ginga-J

Interatividade Local

O conteúdo é transmitido unilateralmente para o receptor, de uma só vez. A partir daí, o usuário pode interagir livremente com os dados que ficam armazenados no seu receptor. Um novo fluxo de dados ocorre apenas quando é solicitada uma atualização ou uma nova área do serviço é acessada.

Fonte: http://pt.wikipedia.org/wiki/Televis%C3%A3o_digital#Interatividade

Page 71: TV Digital Introdução ao Middleware Ginga-Ginga-J

Interatividade com Canal de Retorno Não-Dedicado -

Aplicações com canal de retorno intermitente caracterizam-se por estabelecer a conexão do terminal de acesso em horários preestabelecidos, durante a madrugada por exemplo. Dessa forma, os dados não são enviados on-line (comunicação assíncrona), ficando armazenados no terminal de acesso até o momento da conexão e do envio. Nesse nível, a comunicação exigida pela aplicação não necessita ocorrer em tempo real (máximo de instantaneidade) nem apresentar requisitos de latência mínima, pois ela se baseia em informações que podem ser processadas posteriormente, sem prejuízo ao desempenho da aplicação.

Page 72: TV Digital Introdução ao Middleware Ginga-Ginga-J

Interatividade com Canal de Retorno Dedicado

As aplicações com canal de retorno permanente são caracterizadas pela disponibilidade em tempo integral do canal de retorno. Essa característica constitui uma comunicação em tempo real (comunicação síncrona), pois os dados devem ser enviados a emissora/provedor de serviços sempre que houver uma solicitação. Nesse nível, a comunicação exigida pelo serviço ocorre com o máximo de instantaneidade e deve apresentar requisitos de latência mínima, pois se baseia em informações que não podem ser processadas posteriormente, sob pena de inviabilizar a aplicação.

Fonte: http://barao.mycpqd.com/file.upload/154089.pdf

Page 73: TV Digital Introdução ao Middleware Ginga-Ginga-J

Observações sobre Ginga

Page 74: TV Digital Introdução ao Middleware Ginga-Ginga-J

Middleware Ginga

Page 75: TV Digital Introdução ao Middleware Ginga-Ginga-J

Middleware Ginga

Page 76: TV Digital Introdução ao Middleware Ginga-Ginga-J

Xlet

As aplicações para TV interativa desenvolvidas em JavaTV são chamadas de Xlets.

O ciclo de vida dos Xlets é regido por quatro métodos:

- initXlet():responsável por inicializar os componentes da aplicação e manipular o XletContext;

- startXlet(): que é o metodo chamado para iniciar a aplicação;

- pauseXlet(): chamando quando há um evento que causa uma pausa na aplicação

- destroyXlet(): chamado quando a aplicação é destruída.

Page 77: TV Digital Introdução ao Middleware Ginga-Ginga-J

Middleware Ginga

Page 78: TV Digital Introdução ao Middleware Ginga-Ginga-J

Xlet

import javax.microedition.xlet.*;

public class AloXlet implements Xlet{

private XletContext context = null;

public void initXlet(XletContext xletContext)

throws XletStateChangeException {}

public void startXlet() throws XletStateChangeException {}

public void pauseXlet(){}

public void destroyXlet(boolean flag) throws XletStateChangeException { }

}

Page 79: TV Digital Introdução ao Middleware Ginga-Ginga-J

LWUIT

Page 80: TV Digital Introdução ao Middleware Ginga-Ginga-J

Modelo Gráfico Ginga-J

Page 81: TV Digital Introdução ao Middleware Ginga-Ginga-J

Modelo Gráfico Ginga-J

A classe com.sun.dtv.ui.Device (representa o dispositivo no qual o Ginga está

instalado) dá acesso a uma ou mais classes com.sun.dtv.ui.Screen (representa cada tela disponível para exibição dos gráficos da aplicação). Esta classe permite acessar todos os planos do terminal, retornando instancias da classe com.sun.dtv.ui.Plane com os respectivos identificadores específicos (Video Plane, Still Picture Plane, Switching

Plane e Graphics/Text Plane). Para cada plano é possível verificar suas características (com.sun.dtv.ui.Capabilities) e obter uma classe com.sun.dtv.ui.DTVContainer que é o componente que suporta todos os tipos de com.sun.dtv.lwuit.component e operações gráficas definidas na API do LWUIT (por exemplo, com.sun.dtv.lwuit.Form).

Page 82: TV Digital Introdução ao Middleware Ginga-Ginga-J

Modelo Gráfico Ginga-J

A classe ResourceComponents é apenas uma classe auxiliar (pertence a própria

aplicação e não faz parte da especificação Ginga-J) para encapsular as classes que

permitem configurar (Device, Screen, Plane e Capabilities) e desenhar elementos

gráficos na tela do terminal do acesso (Form e DTVContainer), conforme ilustrado no trecho de código a seguir.

Page 83: TV Digital Introdução ao Middleware Ginga-Ginga-J

Modelo Gráfico Ginga-J

Page 84: TV Digital Introdução ao Middleware Ginga-Ginga-J

Tratamento de Eventos de Entrada do Usuário

As seguintes classes são recursos limitados, ou seja implementam a interface

com.sun.dtv.resources ScarceResource no Ginga-J: filtros de seções MPEG-2

(com.sun.dtv.filtering.DataSectionFilterCollection), eventos de entrada do usuário

(com.sun.dtv.ui.event.UserInputEvent, com.sun.dtv.ui.event.KeyEvent,

com.sun.dtv.ui.event.MouseEvent, com.sun.dtv.ui.event.RemoteControlEven),

dispositivos de rede (com.sun.dtv.net.NetworkDevice), telas (com.sun.dtv.ui.Screen) e sintonizador (com.sun.dtv.tuner.Tuner).

O trecho de código a seguir exemplifica a reserva da escuta de eventos de

qualquer tecla colorida do controle remoto (através da chamada do método reserve()).

Page 85: TV Digital Introdução ao Middleware Ginga-Ginga-J

Tratamento de Eventos de Entrada do Usuário

No exemplo, anyColoredKeyTyped é uma instância da classe

com.sun.dtv.ui.event.RemoteControlEvent.

Page 86: TV Digital Introdução ao Middleware Ginga-Ginga-J

Tratamento de Eventos de Entrada do Usuário

Depois de configurar as camadas gráficas para desenho dos elementos da interface gráfica do usuário e realizar a reserva de recursos limitados do terminal, o próximo passo é definir o esquema de navegação de aplicação através de tratamento de eventos de entrada do usuário.

No Ginga-J o mecanismo de tratamento de eventos de entrada do usuário é

oferecido através de componentes específicos de TVD (pacote com.sun.dtv.ui.event) e componentes mais gerais providos pela LWUIT (pacote com.sun.dtv.lwuit.events). A classe que trata os eventos gerados por componente gráficos é a com.sun.dtv.ui.event.UserInputEventManager.

Page 87: TV Digital Introdução ao Middleware Ginga-Ginga-J

Tratamento de Eventos de Entrada do Usuário

Na sequência do texto trechos de código da tela inicial da aplicação exemplo são

ilustrados. As 5 (cinco) primeiras linhas do trecho de código servem para a criação de um objeto UserInputEventManager a partir de uma referência para uma Screen (currentScreen) e o cadastro (método addUserInputEventListener) do objeto corrente (o objeto da Tela Inicial) como Listener (implementa a interface

com.sun.dtv.ui.event.UserInputEventListener) do UserInputEventManager e configurado para receber apenas eventos das teclas coloridas (já explicado no passo 3 deste seção). Já o método userInputEventReceived é definido na interface do Listener e é chamado quando algum evento é disparado em componentes gráficos da aplicação. No exemplo é verificado se o evento gerado é de uma tecla de ENTER. Caso afirmativo, a “Tela” atual é apagada e se abre uma nova “Tela” (representado pela classe Menu1).

Page 88: TV Digital Introdução ao Middleware Ginga-Ginga-J

Tratamento de Eventos de Entrada do Usuário

Page 89: TV Digital Introdução ao Middleware Ginga-Ginga-J

OpenGingahttp://ginga.lavid.ufpb.br/projects/ginga-j

Page 90: TV Digital Introdução ao Middleware Ginga-Ginga-J

OpenGingaEstatísticas de Acesso

Page 91: TV Digital Introdução ao Middleware Ginga-Ginga-J

Máquina Virtual com OpenGinga 0.4.3

O OpenGinga tem como objetivo oferecer uma implementação não emulada da especificação Ginga executável em ambientes PC. Oferecendo a execução de aplicações Ginga-J e GingaNCL através da união da Implementação de Referência Ginga-J do Lavid da UFPB e a Implementação de Referência Ginga-NCL do laboratório Telemídia da PUC-Rio.

Foi liberado a Máquina virtual com a versão 0.4.3 instalada do OpenGinga em um Ubuntu 10.04.

Nessa versão foi corrigido o problema de eventos de input das aplicações e foi instalado a decodificação por ffmpeg, que possibilita a decodificação por hardware(em breve liberarei um vídeo exemplificando). A próxima versão terá o foque de incrementar a API ginga-j, em especial a API LWUIT e a de multidevices.

Para maiores detalhes e/ou contribuições, se cadastre e acesse o projeto OpenGinga na rede GingaCDN.

O tutorial de Instalação pode ser encontradono seguinte endereço http://gingacdn.lavid.ufpb.br/projects/ginga-j/wiki/Usando_a_m%C3%A1quina_virtual.

Page 92: TV Digital Introdução ao Middleware Ginga-Ginga-J

Máquina Virtual com OpenGinga 0.4.3

Page 93: TV Digital Introdução ao Middleware Ginga-Ginga-J

Máquina Virtual com OpenGinga 0.4.3

Page 94: TV Digital Introdução ao Middleware Ginga-Ginga-J

Máquina Virtual com OpenGinga 0.4.3

Page 95: TV Digital Introdução ao Middleware Ginga-Ginga-J

Máquina Virtual com OpenGinga 0.4.3

Page 96: TV Digital Introdução ao Middleware Ginga-Ginga-J

applications.xml

Page 97: TV Digital Introdução ao Middleware Ginga-Ginga-J

Abrir o arquivo applications.xml

Botão direito do mouse

Page 98: TV Digital Introdução ao Middleware Ginga-Ginga-J

Abrir o arquivo applications.xml

Botão direito do mouse

Page 99: TV Digital Introdução ao Middleware Ginga-Ginga-J

Executando OpenGingaAcionar atalho

Page 100: TV Digital Introdução ao Middleware Ginga-Ginga-J

Executando OpenGingaAcionar atalho

Page 101: TV Digital Introdução ao Middleware Ginga-Ginga-J

Executando OpenGingaAcionar tecla M para ativar Menu

Page 102: TV Digital Introdução ao Middleware Ginga-Ginga-J

Executando OpenGingaNavegação por setas

Acionar a tecla ENTER para ativar aplicação Primeiro Xlet

Page 103: TV Digital Introdução ao Middleware Ginga-Ginga-J

Executando OpenGingaAplicação Primeiro Xlet em execução

Page 104: TV Digital Introdução ao Middleware Ginga-Ginga-J

Executando OpenGingaSenha: openginga

Page 105: TV Digital Introdução ao Middleware Ginga-Ginga-J

Abrir o arquivo applications.xml

Page 106: TV Digital Introdução ao Middleware Ginga-Ginga-J

Área de trabalho no NetBeans

Page 107: TV Digital Introdução ao Middleware Ginga-Ginga-J

Área de trabalho no NetBeans

Page 108: TV Digital Introdução ao Middleware Ginga-Ginga-J

Compilação com JDK 1.4

Page 109: TV Digital Introdução ao Middleware Ginga-Ginga-J

Bibliotecas para compilação

Page 110: TV Digital Introdução ao Middleware Ginga-Ginga-J

Acessando diretório das aplicações

Page 111: TV Digital Introdução ao Middleware Ginga-Ginga-J

OpenGingahttp://ginga.lavid.ufpb.br/projects/ginga-j/wiki/Usando_o_middleware

Page 112: TV Digital Introdução ao Middleware Ginga-Ginga-J

Vídeo no OpenGinga

ln -s /home/openginga/278-SD_Futebol_Copa_2002_Brasil.ts openginga/gingacc/channels/channel0

Page 113: TV Digital Introdução ao Middleware Ginga-Ginga-J

Grande problema

O problema com as aplicações de televisão interativa é que elas têm toda a complexidade das aplicações de computadores, mas estão rodando em uma plataforma que normalmente não tem problemas técnicos ou de usabilidade. Os aparelhos de televisão dos telespectadores não falham, o controle remoto sempre funciona (a menos que a bateria acabe) e, ao contrário da internet, a imagem não carrega mais lentamente nos horários de pico de visualização. Qualquer serviço de televisão interativa que cause problemas com o aparelho de televisão ou faça coisas inesperadas provavelmente não será tolerado pelos telespectadores.

Gawlinski, M. (2003). “Interactive television production”. Oxford: Focal Press, 2003.

Page 114: TV Digital Introdução ao Middleware Ginga-Ginga-J

Bibliografia

Parte 4: Ginga-J - Ambiente para a execução de aplicações procedurais

http://www.dtv.org.br/download/pt-br/ABNTNBR15606-4_2010Ed1.pdf

Desenvolvimento de Aplicações Imperativas para TV Digital no middleware Ginga com Java

https://disciplinas.dcc.ufba.br/pub/MATA39/NotasDeAula/gingaj-minicurso-webmedia-cameraready-final.pdf

Introdução ao OpenGinga

http://www.lavid.ufpb.br/

Page 115: TV Digital Introdução ao Middleware Ginga-Ginga-J

Bibliografia

Desenvolvimento Ginga-J

JavaDTV – OpenGinga

http://www.tvdi.inf.br/site/artigos/Ginga-J/Desenvolvimento%20Ginga-J,%20JavaDTV,%20OpenGinga%20-%20Parte%201%20-%20KULESZA,%20FERREIRA.pdf

Ginga-J Emulator: Uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

http://www.erisvaldojunior.com/downloads/TCC_Erisvaldo_UFPB.pdf

Page 116: TV Digital Introdução ao Middleware Ginga-Ginga-J

Agradeço a DeusA minha esposa Marli

E as minhas filhas Danúbia e Letícia

E-mail: [email protected]