O documento resume um mini-curso sobre desenvolvimento para TV digital interativa. O mini-curso abordará o mercado de TV digital interativa, o middleware Ginga, ferramentas de desenvolvimento e conceitos sobre a linguagem NCL.
1. GingaMS
Dia 2
Desenvolvimento para TV Digital Interativa
Diemesleno Souza Carvalho
Campo Grande - MS
2. Sobre o palestrante.
• Tecnólogo em Sistemas para Internet.
• Pós-graduando MBA em Gestão de Projetos.
• Trabalho com T.I. Desde 1998.
• Palestrante em diversos eventos regionais.
• Ex-estagiário TRE/MS e Dataprev/MS.
• 2 anos na Sefaz/MS Analista/Programador.
• Analista de Sistemas Pleno na Sanesul/MS.
3. Sobre o GingaMS.
• Grupo novo, mas com grandes perspectivas.
• Estimular e difundir as tecnologias TVDi.
• Tendências do mercado de TVDi.
• Capacitar novos membros gradativamente.
• Incentivar produções independentes.
• Promover eventos e divulgação do grupo.
4. Sobre o Mini-curso.
• Nivelamento sobre TVDi.
• Entender as tecnologias envolvidas.
• Desafios do mercado.
• Principais dificuldades hoje.
• Montar ambiente de desenvolvimento e teste.
• Criar algumas aplicações de exemplo.
5. Segundo Dia
• O Mercado de TV Digital Interativa.
• O Middleware.
• Arquitetura Ginga.
• Ferramentas de Desenvolvimento e Teste.
• Conceitos sobre NCL.
• Conceitos sobre JavaTV e Xlet.
• Exemplos de Aplicações.
6. O Mercado de TV Digital Interativa
« A possibilidade de desenvolver aplicações
computacionais que executam sobre um
dispositivo físico permite o surgimento de
uma vasta gama de novos serviços.»
7. O Mercado de TV Digital Interativa
« A possibilidade é tamanha que fica difícil
imaginar onde podemos chegar.»
8. O Mercado de TV Digital Interativa
• EPG - Eletronic Programing Guide
« Guia eletrônico de programação. Possibilita a
navegação pelas múltimplas possibilidades de
programação que o telespectador
encontrará.»
9. O Mercado de TV Digital Interativa
• EPG - Eletronic Programing Guide
10. O Mercado de TV Digital Interativa
• T-GOV - Government TV
« Representa a possibilidade de realizar
programas de governo via transmissão
televisiva, tornando possível a identificação da
demanda proveniente do cidadão. »
11. O Mercado de TV Digital Interativa
• T-GOV - Government TV
12. O Mercado de TV Digital Interativa
• T-Commerce
« Representa as possibilidades de se explorar
atividades comerciais de varejo via
transmissão televisiva. Torna possível a
conclusão de uma transação comercial por
meio da operação do controle remoto. »
14. O Mercado de TV Digital Interativa
• T-Learning
« Estes serviços comportam aplicações de Ensino a
Distância e de Suporte ao Ensino e Educação,
independente do grau ou série que se aplicam.»
16. O Mercado de TV Digital Interativa
• T-Health - Serviços de Saúde pela TV
« Aplicações de interesse comunitário que podem
minimizar as imensas filas em postos e instituições de
saúde, com programas que informem os serviços
oferecidos pelos hospitais e postos, marcações de
consultas, programas de imunização, campanhas de
esclarecimentos e educação em saúde coletiva. »
« Podem ainda ser direcionados à formação a distância
de profissionais médicos e para-médicos, utilizando-se
programas interativos ou distribuição de vídeos.»
17. O Mercado de TV Digital Interativa
• T-Health - Serviços de Saúde pela TV
18. O Mercado de TV Digital Interativa
• T-Banking
« É o mesmo homebanking com o diferencial do
telespectador poder acessar informações de
sua conta ou contratar serviços com o
controle remoto da TV. »
22. O Middleware
« Camada de software capaz de prover o
suporte necessário para o desenvolvimento de
aplicações para TV Digital e também tornar
uma aplicação de TV capaz de ser executada
em qualquer plataforma, independente de
hardware e sistema operacional. »
23. O Middleware
Requisitos:
1. Sincronismo de mídias.
2. Definição de relacionamentos de sincronismo
espacial e temporal separada da definição do
conteúdo dos objetos de mídia relacionais.
3. Adaptação de conteúdo e da forma como o
conteúdo é exibido.
4. Múltimplos dispositivos de exibição.
5. Edição ao vivo.
39. Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.
« 3. Para emular o Set-top-Box com Ginga.»
40. Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.
4. Imagem S.O. com Ginga configurado.
41. Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.
4. Imagem S.O. com Ginga configurado.
« 4. Para rodar no Wmware Player.»
42. Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.
4. Imagem S.O. com Ginga configurado.
5. WinSCP + Putty.
43. Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.
4. Imagem S.O. com Ginga configurado.
5. WinSCP + Putty.
« 5. Para copiar as aplicações para o Ginga e
acessar o S.O. via ssh.»
46. Ferramentas de Desenvolvimento e Teste
Plugin NCL para eclipse.
Clique em ‘Add’
Nome: NCL-Eclipse
Location: http://www.laws.deinf.ufma.br/ncleclipse/update
47. Ferramentas de Desenvolvimento e Teste
Plugin NCL para eclipse.
Selecione o NCL-Eclipse na lista.
Desmarque a opção: ‘Group items by category’
Clique em ‘finish’
48. Ferramentas de Desenvolvimento e Teste
Plugin NCL para eclipse.
Após reiniciar o Eclipse já é possível criar
projetos NCL e até importar exemplos da
comunidade.
51. Ferramentas de Desenvolvimento e Teste
Plugin Lua para eclipse.
Clique em ‘Add’
Nome: Lua-Eclipse
Location: http://luaeclipse.luaforge.net/preview/update-site/win32.win32.x86
54. Conceitos sobre NCL
NCL - Nested Context Model
« Linguagem de aplicaçãp XML que permite aos
autores criarem apresentações multimidia
interativas.»
55. Conceitos sobre NCL
Estrutura básica de um arquivo NCL
« A exemplo da linguagem HTML, a linguagem
NCL caracteriza-se por ser uma linguagem de
marcação, possuindo elementos (tags)
padrões.»
61. Conceitos sobre NCL
regionBase - Notas exemplo
1 - Duas regiões - "rgTV" e "rgVideo".
2 - wigth e height - Largura e altura em pixels.
3 - id - Indentificador único da região.
4 - left e top - Posição da região na tela em
relação a esquerda e ao topo.
65. Conceitos sobre NCL
descriptorBase - Notas do exemplo
1 - id="dVideo" - Referência única
2 - region="rgVideo" - Referência a uma região já criada.
66. Conceitos sobre NCL
Corpo de um documento NCL
<head>
<regionBase>
...
</regionBase>
<descriptorBase>
...
</descriptorBase>
</head>
<body>
67. Conceitos sobre NCL
Corpo de um documento NCL
<body>
...
</body>
« No corpo de um programa, são inseridos os nós, portas, elos e âncoras. »
68. Conceitos sobre NCL
Corpo de um documento NCL - Nós
« Os nós são referências para as mídias, e podem ser de 2 tipos:
Nó de Conteúdo, ou Nó de Composição. »
69. Conceitos sobre NCL
Nó de Conteúdo (Mídia)
« Associado a um tipo de mídia (txt, html, jpeg, mpeg, etc).
Sempre iniciado com a tag <media>. »
<media type="video/mpeg" id="video1" src="video1.mpeg" descriptor="dVideo"/>
70. Conceitos sobre NCL
Nó de Conteúdo - Notas do exemplo
1 - src - Referencia ao caminho do objeto.
2 - type - Referencia o tipo do objeto.
3 - descriptor - Referencia ao local da tela que o objeto ficará.
71. Conceitos sobre NCL
Nó de Composição (contexto)
Portas - Representada pela tag <port>, é um
ponto de interface de um contexto.
<port id="pInicio" component="suport"/>
72. Conceitos sobre NCL
Nó de Composição (contexto)
Elos - Funcionam semelhantes a um link de
arquivo HTML e sua tag é <link>.
<link xconnector="connectors#onBegin1StartN" id="Titulo1Inicia">
<bind role="onBegin" component="suporte"/>
<bind role="start" component="titulo"/>
</link>
73. Conceitos sobre NCL
Nó de Composição (contexto)
Âncoras - São pontos de entrada para os nós de
mídia ou de contexto, e são divididas em
Âncoras de Conteúdo e Âncoras de Atributo.
74. Conceitos sobre NCL
Âncora de Conteúdo - (Content Anchor)
« Define um segmento de mídia (intervalo de
tempo e/ou região no espaço) que poderá
ser utilizado como ponto de ativação de elos.
Utilizam a tag <area> dentro da tag
<media>.»
76. Conceitos sobre NCL
Âncora de Atributo - (Attribut Anchor)
« Se refere a propriedades de um nó que
podem ser manipulados pelos elos. Por
exemplo, volume de audio de um nó de
audio ou vídeo dentre outros. Utilizam a tag
<property> dentro da tag <media>. »
83. Conceitos sobre JavaTV e Xlet
Java para servidores.
Java para sistemas.
Java para sites.
Java para mobiles.
Java para geladeiras, carros....
Java para TV.
88. Conceitos sobre JavaTV e Xlet
• Fluxo de áudio e de vídeo.
• Acesso condicional.
• Acesso aos dados nos canais de transmissão.
89. Conceitos sobre JavaTV e Xlet
• Fluxo de áudio e de vídeo.
• Acesso condicional.
• Acesso aos dados nos canais de transmissão.
• Acesso aos dados do Service Information.
90. Conceitos sobre JavaTV e Xlet
• Fluxo de áudio e de vídeo.
• Acesso condicional.
• Acesso aos dados nos canais de transmissão.
• Acesso aos dados do Service Information.
• Controle do Sintonizador de Canais.
91. Conceitos sobre JavaTV e Xlet
• Fluxo de áudio e de vídeo.
• Acesso condicional.
• Acesso aos dados nos canais de transmissão.
• Acesso aos dados do Service Information.
• Controle do Sintonizador de Canais.
• Sincronização de mídias.
92. Conceitos sobre JavaTV e Xlet
• Fluxo de áudio e de vídeo.
• Acesso condicional.
• Acesso aos dados nos canais de transmissão.
• Acesso aos dados do Service Information.
• Controle do Sintonizador de Canais.
• Sincronização de mídias.
• Gerenciamento do Cliclo de Vida das Aplicações.
95. Conceitos sobre JavaTV e Xlet
« O Xlet possui um ciclo de vida assim como os applets
java. Mas no caso do Xlet eles podem ser pausados
e resumidos, diferentemente dos applets.»
96. Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.graphics
« Habilita simples composições e fornece um container
para construção de interfaces com componentes
AWT. »
97. Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.locator
« Fornece acesso aos dados e recursos endereçados ao
receptor de TV Digital. »
98. Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.media
« Define o controle e eventos para gerenciamento de
conteúdos visuais e de áudio. »
99. Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.net
« Fornece acesso aos datagramas IP transmitidos pelo
Stream de Broadcast. »
100. Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.service
« Fornece acesso ao banco de dados do Service
Information e APIs para seus sub-pacotes. »
101. Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.util
« Suporta a criação e gerenciamento de eventos de
tempo. »
102. Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.xlet
« Fornece os métodos para gerenciamento do ciclo de
vida da Xlet controlados pelo gerenciador de
programas. »
104. Conclusão.
• Mercado altamente promissor.
• Diversos nichos a serem explorados.
• Hora de se capacitar.
• Levar a ideia para as universidades.
• Promover eventos.
• Se divertir.