SlideShare una empresa de Scribd logo
SATVD-T   Sistema Argentino de Televisión Digital Terrestre INTERACTIVO   Argentina adoptó la norma  nipo-brasileña de TV digital SBTVD-T/ ISDB-Tb , que difiere de la ISDB-T, con respecto a la codificación de vídeo, usando el estándar  MPEG- 4 AVC  y el  middleware   Ginga , que fue  desarrollado por Brasil  y se convirtió en la gran novedad de la norma. Optando por aplicar la  alternativa declarativa  de Ginga. H.264 o  MPEG- 4 AVC  parte 10, es una norma que define un códec de vídeo de alta compresión. Esta norma H.264/AVC, crea un estándar capaz de proporcionar una buena calidad de imagen, con tasas binarias notablemente inferiores a los estándares previos (MPEG-2, H.263 o MPEG-4 parte 2), además de no incrementar la complejidad de su diseño.
¿Qué es?
Ginga  es el nombre del  middleware  libre, del Sistema Brasileño de TV Digital Terrestre (SBTVD), que nos permite ejecutar  aplicaciones interactivas  dentro de un  STB  (Set-Top Box). Como en el mercado existen STBs de distintos fabricantes y puede variar la plataforma hardware/software de los mismos, surge la necesidad de tener un middleware que nos permita correr aplicaciones sin importar que STB tengamos.  El  middleware es un software  de conectividad, que ofrece un conjunto de servicios que hacen posible el funcionamiento de aplicaciones.  Funciona como una capa de software, que se sitúa entre las capas de aplicaciones, proporcionando una  API  para la fácil programación. API  es una interfaz de programación de aplicaciones(del inglés application programming interface) se trata de un conjunto de funciones y procedimientos (o métodos, en la  programación orientada a objetos ) que ofrece cierta biblioteca, para ser utilizado por otro software como una capa de abstracción.  Fue creado en  Brasil  por la Pontificia Universidade Católica de Río de Janeiro (PUC-Rio) y la Universidade Federal de Paraíba - UFPB; ofrece una infraestructura de presentación de aplicaciones de multimedia/hipermedia desarrolladas sobre el  paradigma declarativo , escritas en el lenguaje  NCL  y el lenguaje de scripting  Lua .
El  lenguaje NCL  ha sido desarrollado utilizando una estructura modular, siguiendo  los principios adoptados por el W3C -(WWW)  World-Wide Web Consortium.  Así, los módulos para la especificación de los conectores y las plantillas,son utilizados  para la creación de documentos web. Es un  lenguaje declarativo  que provee facilidades para especificar aspectos de  interactividad, sincronismos espacial/temporal entre objetos de multimedia,  adaptabilidad y soporte para múltiples dispositivos, es decir, construir aplicaciones. La Programación Declarativa , es un paradigma de programación que está basado  en el desarrollo de programas especificando o "declarando" un conjunto de  condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante  mecanismos internos de control, sin especificar exactamente cómo encontrarla. Nested Context Language o lenguaje de contexto anidado
Lua  se utiliza en muchas aplicaciones profesionales (por ejemplo, Photoshop Lightroom de Adobe),con énfasis en sistemas embebidos (por ejemplo, el middleware  Ginga  de televisión digital) y juegos (por ejemplo, World of Warcraft).  Lua  es actualmente el lenguaje de scripting más utilizados en juegos, tiene un sólido manual de referencia y hay destacados libros sobre el mismo.  Diversas versiones de Lua han sido liberadas y utilizadas en aplicaciones reales desde su creación en 1993.  Lua  es un  lenguaje de programación imperativa , estructurado y bastante ligero que fue diseñado como lenguaje de script con una semántica extendible. La programación imperativa , en contraposición a la programación declarativa es un paradigma de programación  que describe la programación en términos del estado del programa y sentencias que cambian dicho estado.  Los programas imperativos son un  conjunto de instrucciones  que le indican a la computadora cómo realizar una tarea.
STB  (Set-Top-Box) Para que las señales de tv digital abierta que transmita Canal 7 (y luego el resto de las prestadoras) puedan ser reproducidas en nuestros televisores (recuerden que para una calidad suprema en la definición se necesitan displays -ya sea monitor o TV- que sean full HD, esto es, de 1080 líneas) hace falta un  decodificador externo , que ya se encuentra a la venta en el país y lo fabrica un grupo de empresas locales. Próximamente saldrán al mercado  TVs con set top box integrados .
El modelo de STB  que ya se encuentra disponible en el mercado se denomina CDR 1000D. El decodificador ofrece la posibilidad de ver señales digitales estándar, y posee también salida puerto HDMI para alta definición y super vídeo. Integra un Flash de 64 MB, un micro ARM de 400 MHz, entrada Ethernet y ofrece interactividad por medio del  middleware Ginga ; conexión a Internet y un Web browser por ahora muy limitado. El formato  MP4  instalado   tiene varias capas. En una se envía el stream de video y en la capa se datos, éstos se pueden enviar de varias maneras. En este caso, a través de un  servidor llamado ‘The Carrousel’ . Entonces es posible la  interactividad con el televisor sin necesidad de canal de retorno  (conexión adicional a Internet).  Por ejemplo, si se está viendo una noticia, se puede presionar un botón ‘Leer más’ y acceder a la noticia como si fuera un diario.  Para otro tipo de interactividad sí es necesaria la  conexión a Internet  adicional .  En un reality, para elegir quién se va de la casa desde el control remoto, por ejemplo, se debe apretar el botón rojo o el verde para la elección. Esto sí debe volver por Internet. Observación:  El MP4 o  MPEG-4  (no confundir con reproductor MP4) es un formato contenedor, especificado como parte del estándar internacional. Se utiliza para  almacenar  formatos audiovisuales, datos en archivos de computadoras y para  transmitir  flujos audiovisuales, etc. Existe una prestación denomidada  On The Air , que permite cambiar el  firmware  automáticamente a través del canal. Por ejemplo, se avisa en qué día y hora se va a actualizar el firmware de determinados productos y, a través de The Carrousel, el STB modifica el software, sin necesidad de acceder a Internet. Firmware  o programación en firme, es un bloque de instrucciones de programa para propósitos específicos, grabado en una memoria de tipo ROM (no volátil).
¿programar en Ginga-NCL? Estructuración básica de un entorno de desarrollo Ginga  es una cualidad, casi indefinible,de movimiento y actitud  que poseen los brasileños y que es evidente en todo lo que hacen.  La forma en la que caminan, hablan, bailan y se relacionan con todo  en sus vidas. La ginga  es además, un movimiento fundamental de la capoeira,  una forma de lucha por la libertad y la igualdad. Comunidade Ginga
El entorno de desarrollo  es el conjunto de herramientas que tiene por objeto prestar asistencia a la codificación,ejecución y visualización, de nuestras aplicaciones interactivas.  Comenzamos por disponer de un editor dedicado para programar en  NCL :  Composer  Requisito: Java Runtime Environment (JRE) 6 o superior  Para codificar nuestras aplicaciones vamos  a utilizar el  IDE :  Eclipse  Un entorno de desarrollo integrado o  IDE  (acrónimo en inglés de integrated development  environment), es un programa informático compuesto por un conjunto de herramientas de  Programación. Eclipse  es un entorno integrado, muy popular, de código abierto y multiplataforma  desarrollado en Java   . En el IDE deberá instalarse un plug-in:  el eclipse NCL   que  tiene por objeto acelerar el desarrollo de  aplicaciones para la TV digital interactiva en NCL.
Vamos a utilizar además una  herramienta indispensable:  Emulator El "Ginga NCL emulador" es la herramienta que nos permitirá visualizar nuestra aplicación NCL en el PC. En el IDE deberá instalarse también el plug-in:  eclipse Lua   para el desarrollo de aplicaciones en el lenguaje de programación Lua  Emulator en acción
El   Composer   es el entorno de edición dedicado a  la creación de programas declarativos en NCL para la televisión digital interactiva . En esta herramienta, las abstracciones están definidas en los distintos tipos de puntos de vista, que permiten simular un tipo específico de edición.  1 : estructural,  2 : layout,  3 : temporal y  4 : textual. Conociendo  Composer
En la captura de pantalla, vemos la interfaz de Eclipse, en el momento de abrir una  presentación NCL con el Ginga-NCL-Emulator. Conociendo  Eclipse
Podemos ejecutar el Ginga-NCL en un  Virtual STB Una alternativa necesaria es instalar como máquina virtual:  Vmware Server . VMware  es un sistema de virtualización por software. Un sistema virtual por software es  un programa que simula un sistema  físico: un ordenador, un hardware; en este caso un  STB .  Cuando se ejecuta el programa simulador, proporciona un ambiente de ejecución similar a todos los efectos de un STB físico. Para  ejecutar  el  Ginga-NCL Virtual STB  bastará con abrir el  VMware Player ,  hacer clic en  Abrir una máquina virtual existente,  navegar a la carpeta donde ha descomprimido la imagen y hacer clic en el  archivo-FC7 fedora-ginga-i386.vmx .
Abriendo la máquina virtual existente En este caso: nuestro STB, que contiene un Sistema Operativo Linux Fedora de Red Hat
Pero hace falta algo más. Para acceder a nuestro Ginga-NCL Virtual STB necesitamos hacerlo, a través de  una  conexión SSH. En Windows  para abrir una conexión con la máquina virtual, es posible hacer uso de los programas de  Putty  SSH Secure Shell Client. Linux  ya ofrece el cliente SSH instalado.  SSH : (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un  protocolo y del programa que lo implementa, y sirve para acceder a máquinas  remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos. Consola de comando de  windows y Putty SSH
10 Enlaces útiles:  http://www.grupogingagoias.com.br/esp/index.php http://grupogingagoias.wordpress.com/ http://www.ginga.org.br/ http://clube.ncl.org.br/ http://www.gingadf.com/blogGinga/ http://imasters.uol.com.br/artigo/11712/tvdigital/o_que_e_o_ginga_ncl_emulator/ http://laws.deinf.ufma.br/~ncleclipse/es/index.htm http://www.softwarepublico.gov.br/dotlrn/clubs/ginga/gingancl/xowiki/weblog http://tdtargentina.ning.com/group/ginga http://wiki.ginga.org.ar/doku.php Observación:  presentación realizada en Buenos Aires, con actualización al 8 de agosto del 2010,  para complementar el módulo 6 – Trabajo Integrador – Grupo 6, del curso E-learning – Profesores  para el Futuro – UTN FRBS. Críticas, opiniones e intercambio de información al respecto del tema, escribir a: [email_address]

Más contenido relacionado

La actualidad más candente

Historia de los lenguajes de programación power point
Historia de los lenguajes de programación power pointHistoria de los lenguajes de programación power point
Historia de los lenguajes de programación power pointramosmendezshura
 
Historia de los lenguajes de programación
Historia de los lenguajes de programaciónHistoria de los lenguajes de programación
Historia de los lenguajes de programaciónLincoln School
 
Resolución de programas y algoritmos
Resolución de programas y algoritmosResolución de programas y algoritmos
Resolución de programas y algoritmosLusby_Medianero
 
Quasi - Introducción al Lenguaje C
Quasi - Introducción al Lenguaje CQuasi - Introducción al Lenguaje C
Quasi - Introducción al Lenguaje Cdegarden
 
Open xpertya solucion_empresarial_global
Open xpertya solucion_empresarial_globalOpen xpertya solucion_empresarial_global
Open xpertya solucion_empresarial_globalloidavale
 
Lenguajes de programación más utilizados
Lenguajes de programación más utilizadosLenguajes de programación más utilizados
Lenguajes de programación más utilizadosJesus Salas Castro
 
Programacion en C
Programacion en CProgramacion en C
Programacion en CDHERNAN1993
 
Lenguajes de programacion mas utilizados
Lenguajes de programacion mas utilizadosLenguajes de programacion mas utilizados
Lenguajes de programacion mas utilizadosCesar-Sanchez
 
Lenguajes de profgramacion valentina suarez restrepo
Lenguajes de profgramacion valentina suarez restrepoLenguajes de profgramacion valentina suarez restrepo
Lenguajes de profgramacion valentina suarez restrepoOnce Redes
 
SLS Presentación Corporativa
SLS Presentación CorporativaSLS Presentación Corporativa
SLS Presentación Corporativapedroxpineda
 
Introducción a Python 3.4 (Presentación)
Introducción a Python 3.4 (Presentación)Introducción a Python 3.4 (Presentación)
Introducción a Python 3.4 (Presentación)Jesús Navarro
 

La actualidad más candente (18)

Historia de los lenguajes de programación power point
Historia de los lenguajes de programación power pointHistoria de los lenguajes de programación power point
Historia de los lenguajes de programación power point
 
Historia de los lenguajes de programación
Historia de los lenguajes de programaciónHistoria de los lenguajes de programación
Historia de los lenguajes de programación
 
Resolución de programas y algoritmos
Resolución de programas y algoritmosResolución de programas y algoritmos
Resolución de programas y algoritmos
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
Conferencia transición HD
Conferencia transición HDConferencia transición HD
Conferencia transición HD
 
Programacion objetos
Programacion objetosProgramacion objetos
Programacion objetos
 
Quasi - Introducción al Lenguaje C
Quasi - Introducción al Lenguaje CQuasi - Introducción al Lenguaje C
Quasi - Introducción al Lenguaje C
 
Ansi c
Ansi cAnsi c
Ansi c
 
Open xpertya solucion_empresarial_global
Open xpertya solucion_empresarial_globalOpen xpertya solucion_empresarial_global
Open xpertya solucion_empresarial_global
 
Lenguajes de programación más utilizados
Lenguajes de programación más utilizadosLenguajes de programación más utilizados
Lenguajes de programación más utilizados
 
Programacion en C
Programacion en CProgramacion en C
Programacion en C
 
Lenguajes de programacion mas utilizados
Lenguajes de programacion mas utilizadosLenguajes de programacion mas utilizados
Lenguajes de programacion mas utilizados
 
Lenguajes de profgramacion valentina suarez restrepo
Lenguajes de profgramacion valentina suarez restrepoLenguajes de profgramacion valentina suarez restrepo
Lenguajes de profgramacion valentina suarez restrepo
 
Formatos de video
Formatos de videoFormatos de video
Formatos de video
 
Formatos de video
Formatos de videoFormatos de video
Formatos de video
 
SLS Presentación Corporativa
SLS Presentación CorporativaSLS Presentación Corporativa
SLS Presentación Corporativa
 
Guia8 java
Guia8 javaGuia8 java
Guia8 java
 
Introducción a Python 3.4 (Presentación)
Introducción a Python 3.4 (Presentación)Introducción a Python 3.4 (Presentación)
Introducción a Python 3.4 (Presentación)
 

Similar a Ginga ncl-lua

Lenguaje de programacion yesica cañaveral angel
Lenguaje de programacion  yesica cañaveral angelLenguaje de programacion  yesica cañaveral angel
Lenguaje de programacion yesica cañaveral angelOnce Redes
 
Lenguaje de programación- veronica Cañaveral Angel
Lenguaje de programación- veronica Cañaveral AngelLenguaje de programación- veronica Cañaveral Angel
Lenguaje de programación- veronica Cañaveral AngelOnce Redes
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informaticaDianis Vizcaino
 
Historia de c++
Historia de c++Historia de c++
Historia de c++edwin562
 
Historia de c++
Historia de c++Historia de c++
Historia de c++edwin562
 
Software y su tipos tarea 3
Software y su tipos tarea 3Software y su tipos tarea 3
Software y su tipos tarea 3Diorimy Joaquin
 
Sanchez montesdeoca angela 2 b2
Sanchez montesdeoca angela 2 b2Sanchez montesdeoca angela 2 b2
Sanchez montesdeoca angela 2 b2angelasanchezm29
 
Sanchez montesdeoca angela 2 b2
Sanchez montesdeoca angela 2 b2Sanchez montesdeoca angela 2 b2
Sanchez montesdeoca angela 2 b2angelasanchezM
 
Herramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesHerramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesFernand Bernowly
 

Similar a Ginga ncl-lua (20)

Lenguaje de programacion yesica cañaveral angel
Lenguaje de programacion  yesica cañaveral angelLenguaje de programacion  yesica cañaveral angel
Lenguaje de programacion yesica cañaveral angel
 
Lenguaje de programación- veronica Cañaveral Angel
Lenguaje de programación- veronica Cañaveral AngelLenguaje de programación- veronica Cañaveral Angel
Lenguaje de programación- veronica Cañaveral Angel
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Preguntas para el blog
Preguntas para el blogPreguntas para el blog
Preguntas para el blog
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Unidades de medidas en informatica
Unidades de medidas en informaticaUnidades de medidas en informatica
Unidades de medidas en informatica
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Software y su tipos tarea 3
Software y su tipos tarea 3Software y su tipos tarea 3
Software y su tipos tarea 3
 
Sanchez montesdeoca angela 2 b2
Sanchez montesdeoca angela 2 b2Sanchez montesdeoca angela 2 b2
Sanchez montesdeoca angela 2 b2
 
Sanchez montesdeoca angela 2 b2
Sanchez montesdeoca angela 2 b2Sanchez montesdeoca angela 2 b2
Sanchez montesdeoca angela 2 b2
 
Herramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesHerramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móviles
 

Ginga ncl-lua

  • 1. SATVD-T Sistema Argentino de Televisión Digital Terrestre INTERACTIVO Argentina adoptó la norma nipo-brasileña de TV digital SBTVD-T/ ISDB-Tb , que difiere de la ISDB-T, con respecto a la codificación de vídeo, usando el estándar MPEG- 4 AVC y el middleware Ginga , que fue desarrollado por Brasil y se convirtió en la gran novedad de la norma. Optando por aplicar la alternativa declarativa de Ginga. H.264 o MPEG- 4 AVC parte 10, es una norma que define un códec de vídeo de alta compresión. Esta norma H.264/AVC, crea un estándar capaz de proporcionar una buena calidad de imagen, con tasas binarias notablemente inferiores a los estándares previos (MPEG-2, H.263 o MPEG-4 parte 2), además de no incrementar la complejidad de su diseño.
  • 3. Ginga es el nombre del middleware libre, del Sistema Brasileño de TV Digital Terrestre (SBTVD), que nos permite ejecutar aplicaciones interactivas dentro de un STB (Set-Top Box). Como en el mercado existen STBs de distintos fabricantes y puede variar la plataforma hardware/software de los mismos, surge la necesidad de tener un middleware que nos permita correr aplicaciones sin importar que STB tengamos. El middleware es un software de conectividad, que ofrece un conjunto de servicios que hacen posible el funcionamiento de aplicaciones. Funciona como una capa de software, que se sitúa entre las capas de aplicaciones, proporcionando una API para la fácil programación. API es una interfaz de programación de aplicaciones(del inglés application programming interface) se trata de un conjunto de funciones y procedimientos (o métodos, en la programación orientada a objetos ) que ofrece cierta biblioteca, para ser utilizado por otro software como una capa de abstracción. Fue creado en Brasil por la Pontificia Universidade Católica de Río de Janeiro (PUC-Rio) y la Universidade Federal de Paraíba - UFPB; ofrece una infraestructura de presentación de aplicaciones de multimedia/hipermedia desarrolladas sobre el paradigma declarativo , escritas en el lenguaje NCL y el lenguaje de scripting Lua .
  • 4. El lenguaje NCL ha sido desarrollado utilizando una estructura modular, siguiendo los principios adoptados por el W3C -(WWW) World-Wide Web Consortium. Así, los módulos para la especificación de los conectores y las plantillas,son utilizados para la creación de documentos web. Es un lenguaje declarativo que provee facilidades para especificar aspectos de interactividad, sincronismos espacial/temporal entre objetos de multimedia, adaptabilidad y soporte para múltiples dispositivos, es decir, construir aplicaciones. La Programación Declarativa , es un paradigma de programación que está basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante mecanismos internos de control, sin especificar exactamente cómo encontrarla. Nested Context Language o lenguaje de contexto anidado
  • 5. Lua se utiliza en muchas aplicaciones profesionales (por ejemplo, Photoshop Lightroom de Adobe),con énfasis en sistemas embebidos (por ejemplo, el middleware Ginga de televisión digital) y juegos (por ejemplo, World of Warcraft). Lua es actualmente el lenguaje de scripting más utilizados en juegos, tiene un sólido manual de referencia y hay destacados libros sobre el mismo. Diversas versiones de Lua han sido liberadas y utilizadas en aplicaciones reales desde su creación en 1993. Lua es un lenguaje de programación imperativa , estructurado y bastante ligero que fue diseñado como lenguaje de script con una semántica extendible. La programación imperativa , en contraposición a la programación declarativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican a la computadora cómo realizar una tarea.
  • 6. STB (Set-Top-Box) Para que las señales de tv digital abierta que transmita Canal 7 (y luego el resto de las prestadoras) puedan ser reproducidas en nuestros televisores (recuerden que para una calidad suprema en la definición se necesitan displays -ya sea monitor o TV- que sean full HD, esto es, de 1080 líneas) hace falta un decodificador externo , que ya se encuentra a la venta en el país y lo fabrica un grupo de empresas locales. Próximamente saldrán al mercado TVs con set top box integrados .
  • 7. El modelo de STB que ya se encuentra disponible en el mercado se denomina CDR 1000D. El decodificador ofrece la posibilidad de ver señales digitales estándar, y posee también salida puerto HDMI para alta definición y super vídeo. Integra un Flash de 64 MB, un micro ARM de 400 MHz, entrada Ethernet y ofrece interactividad por medio del middleware Ginga ; conexión a Internet y un Web browser por ahora muy limitado. El formato MP4 instalado tiene varias capas. En una se envía el stream de video y en la capa se datos, éstos se pueden enviar de varias maneras. En este caso, a través de un servidor llamado ‘The Carrousel’ . Entonces es posible la interactividad con el televisor sin necesidad de canal de retorno (conexión adicional a Internet). Por ejemplo, si se está viendo una noticia, se puede presionar un botón ‘Leer más’ y acceder a la noticia como si fuera un diario. Para otro tipo de interactividad sí es necesaria la conexión a Internet adicional . En un reality, para elegir quién se va de la casa desde el control remoto, por ejemplo, se debe apretar el botón rojo o el verde para la elección. Esto sí debe volver por Internet. Observación: El MP4 o MPEG-4 (no confundir con reproductor MP4) es un formato contenedor, especificado como parte del estándar internacional. Se utiliza para almacenar formatos audiovisuales, datos en archivos de computadoras y para transmitir flujos audiovisuales, etc. Existe una prestación denomidada On The Air , que permite cambiar el firmware automáticamente a través del canal. Por ejemplo, se avisa en qué día y hora se va a actualizar el firmware de determinados productos y, a través de The Carrousel, el STB modifica el software, sin necesidad de acceder a Internet. Firmware o programación en firme, es un bloque de instrucciones de programa para propósitos específicos, grabado en una memoria de tipo ROM (no volátil).
  • 8. ¿programar en Ginga-NCL? Estructuración básica de un entorno de desarrollo Ginga es una cualidad, casi indefinible,de movimiento y actitud que poseen los brasileños y que es evidente en todo lo que hacen. La forma en la que caminan, hablan, bailan y se relacionan con todo en sus vidas. La ginga es además, un movimiento fundamental de la capoeira, una forma de lucha por la libertad y la igualdad. Comunidade Ginga
  • 9. El entorno de desarrollo es el conjunto de herramientas que tiene por objeto prestar asistencia a la codificación,ejecución y visualización, de nuestras aplicaciones interactivas. Comenzamos por disponer de un editor dedicado para programar en NCL : Composer Requisito: Java Runtime Environment (JRE) 6 o superior Para codificar nuestras aplicaciones vamos a utilizar el IDE : Eclipse Un entorno de desarrollo integrado o IDE (acrónimo en inglés de integrated development environment), es un programa informático compuesto por un conjunto de herramientas de Programación. Eclipse es un entorno integrado, muy popular, de código abierto y multiplataforma desarrollado en Java . En el IDE deberá instalarse un plug-in: el eclipse NCL que tiene por objeto acelerar el desarrollo de aplicaciones para la TV digital interactiva en NCL.
  • 10. Vamos a utilizar además una herramienta indispensable: Emulator El "Ginga NCL emulador" es la herramienta que nos permitirá visualizar nuestra aplicación NCL en el PC. En el IDE deberá instalarse también el plug-in: eclipse Lua para el desarrollo de aplicaciones en el lenguaje de programación Lua Emulator en acción
  • 11. El Composer es el entorno de edición dedicado a la creación de programas declarativos en NCL para la televisión digital interactiva . En esta herramienta, las abstracciones están definidas en los distintos tipos de puntos de vista, que permiten simular un tipo específico de edición. 1 : estructural, 2 : layout, 3 : temporal y 4 : textual. Conociendo Composer
  • 12. En la captura de pantalla, vemos la interfaz de Eclipse, en el momento de abrir una presentación NCL con el Ginga-NCL-Emulator. Conociendo Eclipse
  • 13. Podemos ejecutar el Ginga-NCL en un Virtual STB Una alternativa necesaria es instalar como máquina virtual: Vmware Server . VMware es un sistema de virtualización por software. Un sistema virtual por software es un programa que simula un sistema físico: un ordenador, un hardware; en este caso un STB . Cuando se ejecuta el programa simulador, proporciona un ambiente de ejecución similar a todos los efectos de un STB físico. Para ejecutar el Ginga-NCL Virtual STB bastará con abrir el VMware Player , hacer clic en Abrir una máquina virtual existente, navegar a la carpeta donde ha descomprimido la imagen y hacer clic en el archivo-FC7 fedora-ginga-i386.vmx .
  • 14. Abriendo la máquina virtual existente En este caso: nuestro STB, que contiene un Sistema Operativo Linux Fedora de Red Hat
  • 15. Pero hace falta algo más. Para acceder a nuestro Ginga-NCL Virtual STB necesitamos hacerlo, a través de una conexión SSH. En Windows para abrir una conexión con la máquina virtual, es posible hacer uso de los programas de Putty SSH Secure Shell Client. Linux ya ofrece el cliente SSH instalado. SSH : (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos. Consola de comando de windows y Putty SSH
  • 16. 10 Enlaces útiles: http://www.grupogingagoias.com.br/esp/index.php http://grupogingagoias.wordpress.com/ http://www.ginga.org.br/ http://clube.ncl.org.br/ http://www.gingadf.com/blogGinga/ http://imasters.uol.com.br/artigo/11712/tvdigital/o_que_e_o_ginga_ncl_emulator/ http://laws.deinf.ufma.br/~ncleclipse/es/index.htm http://www.softwarepublico.gov.br/dotlrn/clubs/ginga/gingancl/xowiki/weblog http://tdtargentina.ning.com/group/ginga http://wiki.ginga.org.ar/doku.php Observación: presentación realizada en Buenos Aires, con actualización al 8 de agosto del 2010, para complementar el módulo 6 – Trabajo Integrador – Grupo 6, del curso E-learning – Profesores para el Futuro – UTN FRBS. Críticas, opiniones e intercambio de información al respecto del tema, escribir a: [email_address]