TDC 2010 Florianópolis - Ginga

749 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
749
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

TDC 2010 Florianópolis - Ginga

  1. 1. Ginga e a TV Digital Interativa no Brasil Bruno Ghisi Engenheiro de Software weblogs.java.net/brunogh Alexandre Lemos Engenheiro de Software
  2. 2. ObjetivoIntroduzir o conceito do cenário brasileirode TV Digital, middleware Ginga,aplicações interativas e ferramentas opensource relacionadas.
  3. 3. Agenda● Contextualização● Demo● Padrão Brasileiro TVD● Middleware Ginga● Subsistema Ginga-NCL● Subsistema Ginga-J● Ferramentas● Comunidades● Status atual
  4. 4. Agenda● Contextualização● Demo● Padrão Brasileiro TVD● Middleware Ginga● Subsistema Ginga-NCL● Subsistema Ginga-J● Ferramentas● Comunidades● Status atual
  5. 5. Histórico● Novembro 2003 ○ Ato federal para criação de um sistema de TV Digital ○ SBTVD (Sistema Brasileiro de TV Digital Terrestre)● Junho 2006 ○ Definição do padrão ISDB-Tb
  6. 6. 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● ...
  7. 7. Fórum SBTVD e ABNT ● Fórum SBTVD ○ Define as especificações e propões soluções de acordo com a realidade brasileira ○ Dissemina o padrão ● ABNT ○ Normatiza as especificações ○ Gerencia as normas
  8. 8. Agenda ● Contextualização ● Demo ● Padrão Brasileiro TVD ● Middleware Ginga ● Subsistema Ginga-NCL ● Subsistema Ginga-J ● Ferramentas ● Comunidades ● Status atual
  9. 9. Agenda ● Contextualização ● Demo ● Padrão Brasileiro TVD ● Middleware Ginga ● Subsistema Ginga-NCL ● Subsistema Ginga-J ● Ferramentas ● Comunidades ● Status atual
  10. 10. Padrão Brasileiro TVD ● ISDB-Tb - padrão japonês ○ Vídeo H.264 ○ Áudio MPEG-4 ○ Ginga ● Mobilidade ○ One-seg (1Seg)
  11. 11. Padrão Brasileiro TVD ● Países que escolheram: ○ Brasil ○ Peru ○ Argentina ○ Chile ○ Venezuela ○ Equador ○ Costa Rica ○ Paraguai ○ Bolívia ○ Nicarágua
  12. 12. Receptores full-seg e one-seg ● Full-seg ○ 1920x1080i, 1280x720p, 720x480p ○ ex: set top box e televisão ● One-seg ○ 320x240 ○ 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
  13. 13. Agenda ● Contextualização ● Demo ● Padrão Brasileiro TVD ● Middleware Ginga ● Subsistema Ginga-NCL ● Subsistema Ginga-J ● Ferramentas ● Comunidades ● Status atual
  14. 14. Middleware de TVD ● O 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
  15. 15. Carrossel Objetos
  16. 16. O que é o Ginga? ● Ginga é o nome do Middleware do Sistema Brasileiro de TV Digital (SBTVD)
  17. 17. Norma Middleware Ginga ● ABNT 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ão NBR 15602 Codificação NBR 15603 Multiplexação NBR 15604 Receptores NBR 15605 Segurança NBR 15606 Middleware NBR 15607 Canal de Interatividade NBR 15608 Guia de operação
  18. 18. Controle Remoto
  19. 19. Arquitetura Middleware TVD
  20. 20. Arquitetura Middleware Ginga
  21. 21. Agenda ● Contextualização ● Demo ● Padrão Brasileiro TVD ● Middleware Ginga ● Subsistema Ginga-NCL ● Subsistema Ginga-J ● Ferramentas ● Comunidades ● Status atual
  22. 22. Middleware Ginga - Ginga-NCL
  23. 23. 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 ○ fluxo da apresentação ○ ciclo de vida dos players de mídia
  24. 24. NCL
  25. 25. Players ● Players de mídia específicos apresentam o conteúdo para o usuário ○ Vídeo, Imagens ○ Player Lua - interpretador para scripts Lua ○ Player de Xlets Java ○ Player XHTML - decodifica conteúdo XHTML, incluindo CSS (stylesheets) e ECMAScript
  26. 26. 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 C ○ Dinamicamente tipado ○ Sem ponteiros ○ Coletor de lixo ● http://www.lua.org
  27. 27. Lua
  28. 28. NCLua● Extensões ao Lua ○ módulo canvas ■ desenhar diretamente em uma área da TV ○ módulo event ■ comunicação com players no NCL ■ input ■ canal de retorno ■ informaçõ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
  29. 29. Agenda ● Contextualização ● Demo ● Padrão Brasileiro TVD ● Middleware Ginga ● Subsistema Ginga-NCL ● Subsistema Ginga-J ● Ferramentas ● Comunidades ● Status atual
  30. 30. Middleware Ginga - Ginga-J
  31. 31. Histórico ● Ginga-J foi proposto pela UFPB (Universidade da Paraíba) em Dez/07 ● Ocorreram 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
  32. 32. Stack Ginga-J ● Ginga-J define o ambiente de execução para aplicação procedurais: Java Xlets
  33. 33. CDC / FP / PBP ● Connected Device Configuration (CDC) ○ A configuração mais abrangente do Java ME ○ CDC é compatível com sintaxe Java 1.4 ○ 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) ○ AWT
  34. 34. AMS ● Application Management System ● Sandbox ● Xlet
  35. 35. Xletimport 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) throwsXletStateChangeException {}}
  36. 36. 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
  37. 37. 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 ○ Acesso aos dispositivos de rede● Comunicação Inter-Xlet● LWUIT
  38. 38. LWUIT ● LWUIT - LightWeight User Interface Toolkit ○ Componentes gráficos de alto nível ○ Tratador de eventos hierárquico através dos containers e componentes ○ 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ável ○ Temas, fontes, imagens, animações e mensagens
  39. 39. Componentes LWUIT
  40. 40. Componentes LWUIT
  41. 41. Componentes LWUIT
  42. 42. 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
  43. 43. Middleware Ginga - Ponte
  44. 44. Agenda ● Contextualização ● Demo ● Padrão Brasileiro TVD ● Middleware Ginga ● Subsistema Ginga-NCL ● Subsistema Ginga-J ● Ferramentas ● Comunidades ● Status atual
  45. 45. Ferramentas Ginga-NCL LuaEclipse (Licença MIT) http://luaeclipse.luaforge.net/ http://github.com/KINFOO/LuaEclipse NCL Eclipse Duplo Licenciamento (semelhante ao MySql) http://laws.deinf.ufma.br/~ncleclipse/index.html STB Virtual - implementação referência Ginga-NCL http://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
  46. 46. Ferramentas Ginga-J Emulador Ginga-J - Open Ginga - implementação referência Ginga-J GPLv2 http://ginga.lavid.ufpb.br/projects/gingaj-emulator/wiki Ant Apache Software License http://ant.apache.org Criatividade! ● LWUIT celular, Java TV SDK, phoneME Advanced, etc Ref http://www.bravaitv.com.br/fisl
  47. 47. Demo OpenGinga
  48. 48. Agenda ● Contextualização ● Demo ● Padrão Brasileiro TVD ● Middleware Ginga ● Subsistema Ginga-NCL ● Subsistema Ginga-J ● Ferramentas ● Comunidades ● Status atual
  49. 49. 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 ○ Lista TV Digital SouJava em tvdigital- subscribe@soujava.dev.java.net ○ devdtv@googlegroups.com ○ tvinterativa@googlegroups.com
  50. 50. Agenda ● Contextualização ● Demo ● Padrão Brasileiro TVD ● Middleware Ginga ● Subsistema Ginga-NCL ● Subsistema Ginga-J ● Ferramentas ● Comunidades ● Status atual
  51. 51. Receptores
  52. 52. Copa - Band
  53. 53. Copa - Globo
  54. 54. Tititi - Globo
  55. 55. Passione - Globo
  56. 56. Caminho das Índias - Globo
  57. 57. A Fazenda - Record
  58. 58. Portal SBT
  59. 59. ObrigadoBruno Ghisiweblogs.java.net/blog/brunoghbcg@certi.org.brAlexandre Lemos Estamos contratando: TVD,arl@certi.org.br Web, Mobile, Java, C/C++, Unix, embedded, XP http://www.certi.org.br/ccd

×