Sobre o palestrante.
• Tecnólogo em Sistemas para Internet.
• Pós-graduando MBA em Gestão de Projetos.
• Trabalho com T.I. Desde 1998.• 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.
Sobre o GingaMS.
• Grupo novo, mas com grandes perspectivas.
• Estimular e difundir as tecnologias TVDi.
• Tendências do mercado de TVDi.• Tendências do mercado de TVDi.
• Capacitar novos membros gradativamente.
• Incentivar produções independentes.
• Promover eventos e divulgação do grupo.
Sobre o Mini-curso.
• Nivelamento sobre TVDi.
• Entender as tecnologias envolvidas.
• Desafios do mercado.• Desafios do mercado.
• Principais dificuldades hoje.
• Montar ambiente de desenvolvimento e teste.
• Criar algumas aplicações de exemplo.
Segundo Dia
• O Mercado de TV Digital Interativa.
• O Middleware.
• Arquitetura Ginga.
• Ferramentas de Desenvolvimento e Teste.• Ferramentas de Desenvolvimento e Teste.
• Conceitos sobre NCL.
• Conceitos sobre JavaTV e Xlet.
• Exemplos de Aplicações.
O Mercado de TV Digital Interativa
« A possibilidade de desenvolver aplicações computacionais que executam sobre um computacionais que executam sobre um dispositivo físico permite o surgimento de uma vasta gama de novos serviços.»
O Mercado de TV Digital Interativa
« A possibilidade é tamanha que fica difícil imaginar onde podemos chegar.» imaginar onde podemos chegar.»
O Mercado de TV Digital Interativa
• EPG - Eletronic Programing Guide
« Guia eletrônico de programação. Possibilita a « Guia eletrônico de programação. Possibilita a navegação pelas múltimplas possibilidades de programação que o telespectador encontrará.»
O Mercado de TV Digital Interativa
• T-GOV - Government TV
« Representa a possibilidade de realizar « Representa a possibilidade de realizar programas de governo via transmissão televisiva, tornando possível a identificação da demanda proveniente do cidadão. »
O Mercado de TV Digital Interativa
• T-Commerce
« Representa as possibilidades de se explorar « 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. »
O Mercado de TV Digital Interativa
• T-Learning
« Estes serviços comportam aplicações de Ensino a « 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.»
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 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.»
O Mercado de TV Digital Interativa
• T-Banking
« É o mesmo homebanking com o diferencial do « É 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. »
O Mercado de TV Digital Interativa
T-MAIL.
T-Sale.
TV Social ou TV Comunidade (Niches TV).
Games.
Programas não-lineares.
O Middleware
« Camada de software capaz de prover o suporte necessário para o desenvolvimento de 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. »
O Middleware
Requisitos:
1. Sincronismo de mídias.2. Definição de relacionamentos de sincronismo 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.
O Middleware
Dos padrões de TV Digital Interativa no mundo, algum atende todos os 5 requisitos?
Apenas 1Apenas 1
Ferramentas de Desenvolvimento e Teste
O que precisamos para O que precisamos para desenvolver para TV
Digital Interativa?
Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
« 1. Emulador simples para rodar aplicações « 1. Emulador simples para rodar aplicações NCL Puras. »
Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
« 2. Para desenvolver JavaTV no Eclipse. »
Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.3. Vmware Player.
Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.3. Vmware Player.
« 3. Para emular o Set-top-Box com Ginga.»
Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.3. Vmware Player.
4. Imagem S.O. com Ginga configurado.
Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.3. Vmware Player.
4. Imagem S.O. com Ginga configurado.
« 4. Para rodar no Wmware Player.»
Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.3. Vmware Player.
4. Imagem S.O. com Ginga configurado.
5. WinSCP + Putty.
Ferramentas de Desenvolvimento e Teste
1. Ginga-NCL Player.
2. Eclipse + jdk + JavaTV + XletView.
3. Vmware Player.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.»
Ferramentas de Desenvolvimento e Teste
Plugin NCL para eclipse.
Vá no menu->Help->Install New SoftwareVá no menu->Help->Install New Software
Ferramentas de Desenvolvimento e Teste
Plugin NCL para eclipse.
Clique em ‘Add’Clique em ‘Add’
Nome: NCL-Eclipse
Location: http://www.laws.deinf.ufma.br/ncleclipse/update
Ferramentas de Desenvolvimento e Teste
Plugin NCL para eclipse.
Selecione o NCL-Eclipse na lista.Selecione o NCL-Eclipse na lista.
Desmarque a opção: ‘Group items by category’
Clique em ‘finish’
Ferramentas de Desenvolvimento e Teste
Plugin NCL para eclipse.
Após reiniciar o Eclipse já é possível criar Após reiniciar o Eclipse já é possível criar projetos NCL e até importar exemplos da comunidade.
Ferramentas de Desenvolvimento e Teste
Plugin Lua para eclipse.
Vá no menu->Help->Install New SoftwareVá no menu->Help->Install New Software
Ferramentas de Desenvolvimento e Teste
Plugin Lua para eclipse.
Clique em ‘Add’Clique em ‘Add’
Nome: Lua-Eclipse
Location: http://luaeclipse.luaforge.net/preview/update-site/win32.win32.x86
Ferramentas de Desenvolvimento e Teste
Plugin Lua para eclipse.
Selecione o plugin.Selecione o plugin.
Clique em ‘Finish’.
Conceitos sobre NCL
NCL - Nested Context Model
« Linguagem de aplicaçãp XML que permite aos « Linguagem de aplicaçãp XML que permite aos autores criarem apresentações multimidia interativas.»
Conceitos sobre NCL
Estrutura básica de um arquivo NCL
« A exemplo da linguagem HTML, a linguagem « A exemplo da linguagem HTML, a linguagem NCL caracteriza-se por ser uma linguagem de marcação, possuindo elementos (tags) padrões.»
Conceitos sobre NCL
Cabeçalho de um arquivo NCL
<?xml version="1.0" encoding="ISO-8859-1"><?xml version="1.0" encoding="ISO-8859-1">
<ncl id="gingaMS">
Conceitos sobre NCL
Dentro do cabeçalho de um programa NCL
<head> <head>
<regionBase>
...
</regionBase>
...
Conceitos sobre NCL
regionBase
« Aqui são delimitadas as regiões das « Aqui são delimitadas as regiões das apresentações na tela. Nestas regiões são apresentadas as midias.»
Conceitos sobre NCL
regionBase
<head><head>
<regionBase>
<region width="1080" height="1920" id="rgTV">
<region left="448" top="156" width="1024" height="300" id="rgVideo">
</region>
</regionBase>
....
Conceitos sobre NCL
regionBase - Notas exemplo
1 - Duas regiões - "rgTV" e "rgVideo".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.
Conceitos sobre NCL
descriptorBase
<head>
<regionBase>...</regionBase>
<descriptorBase>
.....
</descriptorBase>
Conceitos sobre NCL
descriptorBase
« Definem como e onde as mídias serão « Definem como e onde as mídias serão apresentadas.»
Conceitos sobre NCL
descriptorBase
<head>
<regionBase>...</regionBase>
<descriptorBase>
<descriptor region="rgVideo" id="dVideo"/>
</descriptorBase>
Conceitos sobre NCL
descriptorBase - Notas do exemplo
1 - id="dVideo" - Referência única1 - id="dVideo" - Referência única
2 - region="rgVideo" - Referência a uma região já criada.
Conceitos sobre NCL
Corpo de um documento NCL
<head>
<regionBase>
...
</regionBase>
<descriptorBase>
...
</descriptorBase>
</head>
<body>
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. »
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: « 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. »
Conceitos sobre NCL
Nó de Conteúdo (Mídia)
« Associado a um tipo de mídia (txt, html, jpeg, mpeg, etc). « 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"/>
Conceitos sobre NCL
Nó de Conteúdo - Notas do exemplo
1 - src - Referencia ao caminho do objeto.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á.
Conceitos sobre NCL
Nó de Composição (contexto)
Portas - Representada pela tag <port>, é um Portas - Representada pela tag <port>, é um ponto de interface de um contexto.
<port id="pInicio" component="suport"/>
Conceitos sobre NCL
Nó de Composição (contexto)
Elos - Funcionam semelhantes a um link de 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>
Conceitos sobre NCL
Nó de Composição (contexto)
Âncoras - São pontos de entrada para os nós de Â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.
Conceitos sobre NCL
Âncora de Conteúdo - (Content Anchor)
« Define um segmento de mídia (intervalo de « 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>.»
Conceitos sobre NCL
Âncora de Conteúdo - (Content Anchor)
<media type="vídeo/mpeg" id="video1" src="video1.mpg" descriptor="dVideo"> <media type="vídeo/mpeg" id="video1" src="video1.mpg" descriptor="dVideo">
<area id="aVideoLegenda01" begin="5s" end="9s"/>
<area id="aVideoLegenda02" begin="10s" end="14s"/>
<area id="aVideoLegenda03" begin="15s" end="19s"/>
</media>
Conceitos sobre NCL
Âncora de Atributo - (Attribut Anchor)
« Se refere a propriedades de um nó que « 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>. »
Conceitos sobre NCL
Âncora de Atributo - (Attribut Anchor)
<media type="video" id="video1" src="media/video1.mpg" descriptor="dVideo"> <media type="video" id="video1" src="media/video1.mpg" descriptor="dVideo">
<property id="top" name="top"/>
<property id="left" name="left"/>
<property id="width" name="width"/>
<property id="height" name="height"/>
<area id="aVideo1Imagem1" begin="3s" end="8s"/>
</media>
Estrutura Básica de um Arquivo NCL
<?xml version="1.0" encoding="ISO-8859-1"?>
<ncl id="exemplo1">
<head>
<regionBase>
<region width="1080" height="1920" id="rgTV">
<region left="448" top="156" width="1024" height="300" id="rgVideo"/> <region left="448" top="156" width="1024" height="300" id="rgVideo"/>
</region>
</regionBase>
<descriptorBase>
<descriptor region="rgVideo" id="dVideo"/>
</descriptorBase>
</head>
<body>
<port component="video" id="pInicio"/>
<media descriptor="dVideo" src="video1.mpg" type="video/mpeg" id="video"/>
</body>
</ncl>
Conceitos sobre JavaTV e Xlet
Java para servidores.
Java para sistemas.
Java para sites.Java para sites.
Java para mobiles.
Java para geladeiras, carros....
Java para TV.
Conceitos sobre JavaTV e Xlet
« API completa para TV Digital, sendo um pacote « API completa para TV Digital, sendo um pacote opcional para a plataforma j2ME. »
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 nos canais de transmissão.
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 nos canais de transmissão.
• Acesso aos dados do Service Information.
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 nos canais de transmissão.
• Acesso aos dados do Service Information.
• Controle do Sintonizador de Canais.
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 nos canais de transmissão.
• Acesso aos dados do Service Information.
• Controle do Sintonizador de Canais.
• Sincronização de mídias.
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 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.
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 java. Mas no caso do Xlet eles podem ser pausados e resumidos, diferentemente dos applets.»
Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.graphics• javax.tv.graphics
« Habilita simples composições e fornece um container para construção de interfaces com componentes AWT. »
Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.locator• javax.tv.locator
« Fornece acesso aos dados e recursos endereçados ao receptor de TV Digital. »
Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.media• javax.tv.media
« Define o controle e eventos para gerenciamento de conteúdos visuais e de áudio. »
Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.net• javax.tv.net
« Fornece acesso aos datagramas IP transmitidos pelo Stream de Broadcast. »
Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.service• javax.tv.service
« Fornece acesso ao banco de dados do Service Information e APIs para seus sub-pacotes. »
Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.util• javax.tv.util
« Suporta a criação e gerenciamento de eventos de tempo. »
Conceitos sobre JavaTV e Xlet
API JavaTV
• javax.tv.xlet• javax.tv.xlet
« Fornece os métodos para gerenciamento do ciclo de vida da Xlet controlados pelo gerenciador de programas. »
Conclusão.
• Mercado altamente promissor.
• Diversos nichos a serem explorados.
• Hora de se capacitar.• Hora de se capacitar.
• Levar a ideia para as universidades.
• Promover eventos.
• Se divertir.
Referências.
• Livro: Programando em NCL 3.0
• www.itvbr.com.br
• www.ginga.org.br• www.ginga.org.br
• www.gingancl.org.br
• www.grupogingagoias.com.br
• www.gingadf.com.br
• www.google.com.br
Top Related