Mostrando entradas con la etiqueta Tutoriales. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tutoriales. Mostrar todas las entradas

viernes, 23 de marzo de 2012

Como enlazar el Entorno de Desarrollo Eclipse al Ginga-NCL STB Virtual

Para enlazar el STB de Ginga-BCLVirtual creado por el laboratorio TeleMídia de la PUC-Rio, primero debemos descargar la imagen de la última para VMWare de Ginga-NCL Virtual Set Top Box y con ayuda de VMWare Player lo abrimos como muestra la siguiente figura:


Damos click en la opción Play virtual machine y se iniciará una una pantalla con 6 opciones de resolución de pantalla, para emular las aplicaciones interactivas según sea nuestra conveniencia. 


Después de seleccionar la resolución más adecuada en este caso la 800X600 4:3 se iniciará la pantalla principal de nuestro STB virtual, en el cual se nos indica las teclas equivalentes a los botones del control remoto y se nos da una dirección IP con la cual podremos enlazar la maquina virtual a nuestro entorno de desarrollo Eclipse. 


En caso de que el momento de iniciar el Ginga-NCL STB virtual no apareciera la dirección IP, será necesario realizar un cambio en las preferencias del adaptador de red de nuestra máquina virtual, dando un click derecho sobre el icono de red, en la opción "Settings" como se muestra en la siguiente figura:


Una vez seleccionada esta opción nos aparecerá un menú flotante de todas la opciones de nuestro adaptador de red y en la sección "Network conection" seleccionamos el check box "NAT: Used to share the host´s IP address" y damos click en "OK":



Una vez hecho el paso anterior, realizamos un reset de la maquina virtual y automáticamente obtendremos la IP requerida.


Con la dirección IP obtenida, abrimos nuestro entorno de desarrollo Eclipse y nos dirigimos al Menú "Window" de la barra de menús y seleccionamos la opción "Preferences".


Después de esto se nos desplegará un menú flotante, nos dirigimos a la opción NCL-->Remote Ginga-NCL Player:


Una vez en esta opción la la etiqueta "Hostname" y cambiamos la dirección IP que viene por defecto configurada, por la IP que se nos indica en la pantalla principal del STB Virtual, aplicamos los cambios y presionamos "OK", y listo nuestro entorno de desarrollo Eclipse estará enlazado al STB Virtual para que podamos ejecutar automáticamente las aplicaciones interactivas con NCL que  desarrollemos.

lunes, 29 de agosto de 2011

Instalando Ginga en una PC

Una vez que hemos tomado la decisión de volvernos desarrolladores de aplicaciones interactivas para TV Digital con Ginga, lo primero que buscamos son herramientas de desarrollo y ejecución, en los dos tutoriales publicados anteriormente, les presente dos herramientas para desarrollo de apps: la primera que es utilizando el IDE Eclipse ayudado de la instalación de los plugins de NCL y Lua desarrollados por la PUC-Rio, esta herramienta como se vió, es para personas mas experimentadas; y la segunda era utilizando la herramienta "CreaTV Digital" desarrollado por la U de Rio Cuarto, con ayuda de un entorno gráfico muy agradable y sencillo de utilizar. Pero en ninguna de estas herramientas se encuentra incluido ningún software que nos permita ejecutar nuestras aplicaciones desarrolladas, motivo por el cual me he visto en la necesidad de escribir este nuevo tutorial.

Para que un desarrollador pueda ejecutar sus aplicaciones interactivas tiene dos opciones, la primera es virtualizando la imagen del STB que se encuentra disponible en varias versiones; y la segunda que es instalando nativamente el código fuente de Ginga en nuestra PC. Esta última opción es la que se abarcará en este tutorial, ya que así optimizamos recuros de procesamiento y memoria de nuestra PC de desarrollo, además que una vez instalado de esta forma, podremos enlazarlo directamente con cualquiera de las dos herramientas de desarrollo anteriormente mencionadas para ejecutar nuestras aplicaciones, lo que se verá en el siguiente tutorial.


Los pasos a continuación a seguir, ha sido recopilados de varias fuentes y que en conjunto han permitido hacer este proceso lo más sencillo posible, de tal manera que aquellos que utilicen este tutorial no necesiten de conocimientos muy profundos en lo que concierne a la compilación por lineas de comandos en Ubuntu.

Antes de empezar con el proceso de compilación e instalación del código de Ginga en nuestra PC, es necesario instalar ciertas dependencias que serán indispensables para poder llevar a efecto lo planteado.

  • Herramientas adecuadas y actualizadas para compilación:

$ sudo apt-get install libtool autoconf automake g++  pkg-config cmake  cmake-dbg

  • Librerías Boost C++ en su version actual 1.42: 

$ sudo apt-get   install   libboost-date-time-dev libboost-date-time1.42  libboost-dev   libboost-doc   libboost-filesystem-dev   libboost-filesystem1.42   libboost-graph-dev   libboost-graph1.42   libboost-iostreams-dev   libboost-iostreams1.42 libboost-program-options-dev   libboost-program-options1.42   libboost-python-dev   libboost-python1.42   libboost-regex-dev   libboost-regex1.42   libboost-signals-dev   libboost-signals1.42   libboost-test-dev   libboost-test1.42   libboost-thread-dev   libboost-thread1.42  

  • Librerías de Google's framework para escribir pruebas C++:

$ sudo apt-get install  libgtest0  libgtest-dev

  • Librerías XML parser para C++ 

$ sudo apt-get install libxerces-c-dev

  • Librerías para LUA:

$ sudo apt-get  install libluabind9.0  libluabind-doc  libluabind-dev  libluabind-dbg  libluabind-examples  liblua5.1-curl-dev liblua5.1-curl0 liblua5.1-0-dev

  • Librerías libcurl:

$ sudo apt-get install libcurl-ocaml-dev  libcurl4-openssl-dev

  • Librerías de codecs de video:

$ sudo apt-get install  libxine-dev libavformat-dev libavcodec-dev libxine1-ffmpeg 

  • Bibliotecas para la base de datos Berkeley v4.7

$ sudo apt-get install libdb4.7-dev

  • Librerías para  DirectFB

$ sudo apt-get install libdirectfb-dev

  • Librerias para archivos formato PNG:

$ sudo apt-get install libpng12-dev

  • Librerías de desarrollo OpenSSL:

$ sudo apt-get install libssl-dev libnewpki2

  • Librerías de GPM:

$ sudo apt-get install ocaml-base-nox  libfindlib-ocaml-dev camlp4 camlp4-extra  libfindlib-ocaml


Una vez instaladas todas la dependencias anteriormente citadas, procedemos a la instalacion de FusionSound debido a que muy pocas distribuciones de Linux tienen este incluido. Se instalará la versión  que se encuentra en el repositorio GIT, para lo cual previamente se debe tener instalado el GIT, pero en caso de no tenerlo ejecutamos primero la siguiente linea:

$ apt-get install git-core

Para luego proceder a instalar el repositorio GIT:

$  git clone git://git.directfb.org/git/directfb/core/DirectFB.git
$ git clone git://git.directfb.org/git/directfb/core/FusionSound.git

Una vez que tenemos los fuentes, simplemente los compilamos:

$ cd FusionSound
$ ./autogen.sh

Después de ejecutar el comando anterior se verá una lista de verificaciones de software actualizado necesario. Se debe prestar mucha atención a esta lista, pues en el caso que se utilice una instalación de Ubuntu reciente es probable que muchas herramientas y librerías estén desactualizadas. Actualice todas aquellas que presentaron error. Posteriormente introduzca el siguiente comando para compilar.

$ make
$ sudo make install

Una vez ejecutado este código, habremos compilado el FusionSound.

Después de haber ejecutado todo el proceso anterior ya tenemos todas las dependencias necesarias para poder compilar Ginga en nuestra PC, el siguiente paso sera descargar las fuentes de Ginga del repositorio subversión usando el comando svn checkout, en caso de no tener instalada esta herramienta procedemos a anteponer el siguiente comando para instalarla:

$ apt-get install subversion 
$ svn checkout svn://scm.ourproject.org/svnroot/ginga/middleware/ginga.ar/tags/release/1.1.0

Este proceso puede durar un par de minutos, pues necesita descargar todos los archivos necesarios para la compilación de la parte más importante del emulador de Ginga NCL.

Después de haber descargado las fuentes satisfactoriamente, se debe instalar un parche que corrige algunos errores de la version 1.1.0 con las nuevas versiones del FusionSound. Es importante mencionar que la dirección en la que se ejecuta el comando de patch debe ser la carpeta /1.1.0. De otra forma no funcionará. 

Para esto digitamos en la terminal:

$ gedit

Y nos aparecerá un docuemnto de texto plano en blanco, dentro de el debemos copiar el contenido del enlace Parche y guardarlo con el nombre “ginga.fusionsound.patch” (sin comillas).

Es importante recordar que este archivo debe tener el nombre especificado y debe encontrarse en el directorio /Fusionsound/1.1.0/ para que se pueda ejecutar.

Una vez creado el archivo, se ejecuta el comando patch de la siguiente forma, es importante mencionar que el archivo se lo debe ejecutar desde la carpeta en la que se instaló el fusion sound, y consecuentemente el archivo de parche debe estar en la misma carpeta. En este caso, el directorio es dentro de 1.1.0: Se ejecuta el siguiente comando:

$ patch -p0 < ginga.fusionsound.patch 

Se presentarán dos lineas que verificaran el proceso del patch en la carpeta. Esas líneas deberían verse de esta manera:

patching file src/gingacc-system/src/io/interface/content/audio/FFmpegAudioProvider.cpp
patching file src/gingacc-system/src/io/interface/content/video/FFmpegVideoProvider.cpp

Como último paso antes de compilar Ginga meramente, debemos compilar e instalar un conjunto de librerías llamado telemidia-links ejecutaremos el siguiente comando para el telemidia links dentro de la carpeta /1.1.0/src/telemidia-links (no esta demás recordar la necesidad de leer bien lo que nos muestra al ejecutar los comandos, pues muchas veces podrían dar error por falta de herramientas y librerías):

$ sudo ./autogen.sh --enable-graphics --with-directfb --enable-javascript --without-x --without-sd1 --prefix=/usr --enable-debuglevel=0

Cuando este termine de verificar, dará una lista resumen de las herramientas habilitadas. En el caso que no termine la verificación se debe leer con cuidado la herramienta que falta e instalarla. Posteriormente, se pasa a la compilación. Usamos los siguientes comandos:

$ sudo make 
$ sudo make install 
$ cd ../../../

Después de este comando, se muestra un resumen de la instalación.

Ahora estamos listos para para compilar e instalar el Ginga propiamente dicho. En este caso, la instalación se realiza sobre el directorio /usr/local.
Una vez dentro, ejecutamos los siguientes comandos.

$ cd 1.1.0/src/ 
$ sudo ./ginga-build.sh -i -S -P /usr/local -C /usr/local 

Durante la instalación se mostrarán los paquetes instalados y los paquetes que faltan instalar. Se debe leer con cuidado para poder instalar las herramientas que faltan y completar la configuración y compilación del Ginga NCL.

Para terminar configurar los últimos detalles del software emulador de Ginga vamos a ejecutar algunos pasos finales. Creamos unos archivos de configuración. Primero debemos obtener permisos de administrador y ejecutar los siguientes comandos:

$ sudo su
$ echo "/usr/lib/ginga" > /etc/ld.so.conf.d/ginga.conf 

Luego cargamos nuestro archivo de configuración y nos salimos del modo administrador con los siguientes comandos:

$ ldconfig 
$ exit

Luego creamos un archivo de configuración para el DirectFB, esto es necesario para poder trabajar sobre el entorno gráfico X11, Gnome, etc.

$ echo "system=x11" > ~/.directfbrc

Posterior a este comando deberíamos tener listo Ginga para ser ejecutado. Para poder probar un archivo en NCL simplemente ejecutamos la siguiente instrucción:

ginga --ncl <algún documento .ncl>

jueves, 4 de agosto de 2011

"CreaTV Digital" una herramienta gráfica para desarrollo de Apps Interactivas para el Middleware Ginga

"CreaTV Digital” es una herramienta de software desarrollada como un proyecto de Tesis de la carrera de Licenciatura en Ciencias de la Computación de la Universidad Nacional de Rio Cuarto - Argentina y bajo licencia GPL V3,  que permite desarrollar aplicaciones interactivas para el middleware Ginga de un manera fácil y  a través de un entorno gráfico, de modo que sus usuarios no necesiten tener un conocimiento muy profundo de los lenguajes NCL y Lua.

Esta herramienta esta disponible para  SO Ubuntu y Kubuntu y su código fuente puede ser descargado Aquí.
Mayor información se la puede obtener Aquí . 

Para la ejecución del código fuente del programa es necesario realizar los siguientes pasos desde una terminal: 

1) Instalar Librerías:

Librerías Qt para desarrollo
- sudo apt-get install libqt4-dev

Librerías C++
- sudo apt-get install g++

Librerías Phonon (para tratamiento de archivos multimedia)
- sudo apt-get install libphonon-dev

Librerías para tratamiento de archivos de video
- sudo apt-get install libxine1-ffmpeg
- sudo apt-get install ffmpeg

2) En la carpeta donde se encuentra el código fuente (..../CreaTVDigital/) Generar Makefile:
- qmake

3) En la carpeta donde se encuentra el código fuente (..../CreaTVDigital/) Compilar:
- make

4) En la carpeta donde se encuentra el código fuente (..../CreaTVDigital/) Ejecutar:
- ./CreaTVDigital


Los ejemplos a continuación muestran el desarrollo paso a paso de la creación de un proyecto utilizando la herramienta "creatv digital" y su posterior ejecución.


Si se desea obtener un manual de usuario más detallado lo pueden encontrar Aquí.

Ejemplo 1:
Generamos una aplicación ncl que ejecuta una interactividad al presionar un botón del control remoto.


Descargar Ejemplo 1




Ejemplo 2: 
Generamos una aplicación ncl que cambia el color y tamaño de un texto.


Descargar Ejemplo 2





Ejemplo 3: 
Generamos una aplicación ncl que durante su ejecución setea atributos(de tamaño y posición) a los medias.


Descargar Ejemplo 3






Ejemplo 4:  
Generamos una aplicación ncl que ejecuta interacciones entre los videos y las imágenes.


Descargar Ejemplo 4






Autores:
  • Cardozo, Sergio A. (yojajo@gmail.com)
  • Schwartz, Sebastian M. (seba.schwartz.7@gmail.com)
  • Arroyo, Marcelo (Director de Tesis)
  • Tardivo, Laura (Co-Directora de Tesis)
Contacto:
e-mail: creatvdigital@gmail.com

miércoles, 20 de julio de 2011

Configurando el entorno de desarrollo Eclipse


En este tutorial se mostrará la forma de cómo configurar Eclipse para desarrollar aplicaciones interactivas utilizando los lenguajes NCL/Lua
La instalación se la realizó utilizando Eclipse JEE Galileo SR2 para Linux, el cual se puede descargar en el siguiente enlace: Download Eclipse.

Una vez que se haya descargado y ejecutado Eclipse procedemos a seguir los siguientes pasos:

 1. Primero vamos a instalar el Plugin de NCL, para lo cual nos dirigimos al menú “Help” y seleccionamos la opción "Install New Software", tal como indica la figura.


2. Coloque la URL:  http://www.laws.deinf.ufma.br/ncleclipse/update en la casilla "Work whith" y presione ENTER. Posterior a esto, aparecerá el Plugin de NCL en la parte inferior.
Seleccione el Item y proceda con la instalación dando un clic sobre el botón "Next".


Después de su instalación y la reinicialización de Eclipse, procedemos a ejecutar los mismos pasos para la instalación del Plugin Lua.

3. Para la instalación debemos insertar en el campo "Work whith" uno de los cuatro siguientes URLs, en función de su sistema operativo y seleccione todas las opciones para descargar. 
 De clic en el botón "Next" y siga la instalación.
Ahora es necesario que se configure el interprete de Lua. En caso de no tenerlo instalado y solo para el caso de un SO Linux, abrimos un terminal y digitamos: sudo apt-get install lua5.1
Debemos tener muy en cuenta el path en el cual es instalado el mismo, ya que puede diferir al que se muestra en este tutorial.

4. Una vez realizados los pasos anteriores vamos en Elipce al menú "Window" a la opción "Preferences", en seguida seleccionamos la categoria "Lua->Installed Interpreters", como se muestra en la figura. 

 
Damos clic en el botón "Add" y colocamos un nombre y el path en el cual instalamos el interprete de Lua, damos clic en "OK" y los Plugins estarán instalados y configurados.