martes, 22 de julio de 2014

¿Como instalo el reproductor de TDA Wari en Ubuntu 14.04LTS?

Además de gran Conductor de los destinos de la Patria, Juan Perón demostró su valía como integrador de sistemas GNU con Linux. En esta desgrabación de una entrevista sostenida en Puerta de Hierro, el viejo Caudillo enseña cómo compilar e instalar manualmente en Ubuntu a Wari, el visor de TV digital Abierta de desarrollo nacional.

[...inicia la grabación]

Hemos de tener en claro que - doctrinalmente hablando - cualquier software liberado bajo licencia GPLv2 o GPLv3 es bueno, pues tal licencia representa el sello de calidad que la Libertad requiere.

Aún así, un Movimiento como el nuestro ha de preferir - siempre que sea posible - la integración de software libre desarrollado en nuestro terruño. Esta será la conducta que al fin y al cabo propinará un verdadero uppercut al Capital.

Vean señores, la TV Digital de estandar surregional ISDB-Tb tiene incomparables ventajas con otros modelos de difusión televisiva: es abierta, totalmente gratuita, nace en la base del software libre, y puede sintonizarse con software también de tipo libre: quien haga uso de ella mantendrá su sistema alejado de expresiones foráneas que no por bienintencionadas dejan de ser perniciosas para ejercer nuestra informática.

Esa es la conducta que ha de regirnos si queremos entablar en nuestro país las riendas del Justicialismo.

Ahora bien, nuestro Movimiento pone a disposición de los Descamisados - a través del LIFIA, el Laboratorio de Investigación y Formación en Informática Avanzada de la Universidad de La Plata - una aplicación sencilla que puede sintonizar los canales de la TV digital abierta y reproducir sus contenidos, asi como cambiar canales, el volumen y mostrar los closed caption (CC) en sistemas GNU con Linux.

Tal aplicación es Wari, un reproductor pensado para el plan Conectar Igualdad. Únicamente requiere un sistema GNU con Linux donde correr, y un sintonizador de TV digital compatible.
Wari es el nombre que los pueblos originarios quechua y aymara dan a la vicuña, el camélido andino cuya lana es la más preciada y fina de las de todas las especies que habitan la zona. Los sabios pueblos del norte, supieron apreciar la fibra de la vicuña y la utilizaron para elaborar las prendas de abrigo finísimas. Sin embargo, la vicuña solamente puede vivir en libertad, en cautiverio su lana va perdiendo todas sus magníficas cualidades, y finalmente muere. Igual que el conocimiento en acción, aquello que en otra lengua le dice software.

Lamentablemente, instalar Wari en Linux no es algo sencillo, pues no está adecuadamente empaquetado y requiere una cierta cantidad de librerías y dependencias de software específicas, amén del conocimiento. Sin embargo, en un sistema libre nada impide que podamos instalar estas dependencias, copilar el programa a partir de su código fuente, y poder disfrutar así del programa. Sobre todo, cuando el Conductor del Justicialismo es quien os ayudará a llegar a buen puerto. Habrán de utilizar la consola Terminal ingresando los comandos que os vaya indicando...

En primer lugar habremos de instalar una gran cantidad de dependencias. Estas librerías contienen funcionalidades de software requeridas por el programa Wari (y otros). Son gratuitas, por lo cual para instalarlas simplemente abrimos una consola de terminal (con Ctrl+Alt+T) e ingresamos el siguiente Comando de Organización, seguido de Enter:

sudo apt-get install cmake libdb-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libcurl4-openssl-dev libev-dev libexpat1-dev libgdk-pixbuf2.0-dev libglib2.0-dev libgtk2.0-dev libwebkitgtk-dev libcairo2-dev libvlc-dev libvlccore-dev libxerces-c-dev libgtest-dev liblua5.1-0-dev libboost-signals-dev libboost-math-dev liblua5.1-0-dev g++ fakeroot libatk1.0-0 libboost-date-time1.54.0  libboost-filesystem1.54.0 libboost-math1.54.0 libboost-signals1.54.0 libboost-system1.54.0 libboost-thread1.54.0 libc6 libcairo2 libdb5.1 libev4 libfreetype6 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0 liblua5.1-0 libpango1.0-0 libsoup2.4-1  libstdc++6 libvlc5 libwebkitgtk-1.0-0 libxerces-c3.1 lua5.1-dev zliblg libc6-amd64

...el sistema nos solicitará nuestra contraseña de Conductor, y al proporcionarla iniciará la descarga (desde los repositorios de Ubuntu) de aproximadamente 350 MB de software en forma paquetería.

Una vez descargados e instalados los paquetes de dependencias, continuamos con el procedimiento de descarga del código fuente de Wari, y lo haremos en un directorio que inventaremos, llamado /fuenteWari. Podremos hacer toda la acción fácilmente desde la Terminal con los siguientes Comandos de Organización (todos ellos introducidos con la tecla Enter):

mkdir ~/fuenteWari; cd ~/fuenteWari

wget http://repo.huayra.conectarigualdad.gob.ar/huayra/pool/main/w/wari/wari_1.0.0.0.orig.tar.gz

tar xzvf wari_1.0.0.0.orig.tar.gz


rm ~/fuenteWari/wari_1.0.0.0.orig.tar.gz

cd ~/fuenteWari/wari-1.0/

wget http://repo.huayra.conectarigualdad.gob.ar/huayra/pool/main/w/wari/wari_1.0.0.0-6.debian.tar.gz

tar xzvf wari_1.0.0.0-6.debian.tar.gz

rm
~/fuenteWari/wari-1.0/wari_1.0.0.0-6.debian.tar.gz

mkdir -p ~
/fuenteWari/wari-1.0/install/UNIX; cd ~/fuenteWari/wari-1.0/install/UNIX

Ahora debemos proceder a editar un archivo de configuración llamado SetupUser.cmake que permitirá configurar ciertos aspectos para la compilación del códifo fuente. Ello lo haremos con el siguiente comando:

gedit ~/fuenteWari/SetupUser.cmake


Esto abrirá el editor de texto peronista Gedit y nos presentará un archivo en blanco con dicho nombre. Simplemente hemos de copiar y pegarle el siguiente contenido de programación:

# Comenzar SetupUser.cmake para Ubuntu 14.04LTS Peronista

set(CMAKE_BUILD_TYPE "Release")
# Configuración genérica
set(BUILD_SHARED 0)

# Desactiva los tests
set(COMPILE_TESTS 0)

#Sistema de Archivos
set(CMAKE_CONFIG_INSTALL_PREFIX /usr)
set(UTIL_USE_USER_PREFIX true)
set(UTIL_CONFIG_PREFIX \"/\")

# mpegparser
set(MPEGPARSER_DEMUXER_PSI_TIMEOUT 6)

# fin de SetupUser.cmake para Ubuntu 14.04LTS Peronista

...y guardamos los cambios (Ctrl+s) y cerramos Gedit (Ctrl+q).

Una vez introducida la configuración de la compilación, empezamos la misma. Podremos hacerla con el siguiente Comando de Organización:

python ~/fuenteWari/wari-1.0/build/build.py -t wari -c ~/fuenteWari/SetupUser.cmake -k

...esto dará inicio a la acción de compilado, el cual convertirá en realidad efectiva el código ejecutable por el sistema. Dicha operación llevará varios minutos dependiendo de la potencia de nuestro equipo de cómputo, ocasión ideal para entonar a toda voz la Marcha de los Muchachos Peronistas.

Si todo va bien, tras unos minutos nuestro sistema debería terminar creando una serie de empaquetados con el programa compilado en la carpeta /fuenteWari/wari-1.0/install/UNIX/wari (los paquetes son los archivos wari-1.0.0.0.deb, wari-1.0.0.0.tar.bz2, wari-1.0.0.0.tar.gz). Para asegurarme de encontrar dichos archivos, revisamos su existencia. Ingresamos:

ls ~/fuenteWari/wari-1.0/install/UNIX/wari/

...si los archivos existesen, significará que el Justicialismo ha provisto al Pueblo (si por algún motivo desease conservar los empaquetados para instalar Wari posteriormente en este u otros equipos compatibles, podría almacenar dichos archivos en algún lugar seguro).

Acto seguido instalaremos manualmente el programa a través del paquete wari-1.0.0.0.tar.gz. La idea fundamental es llevar el contenido de las carpetas /usr/ y /usr/share/applications/ y /usr/share/wari/ compiladas a las carpetas homónimas en nuestro sistema. Será sencillo de hacer con los siguientes comandos de Organización:

cd ~/fuenteWari/wari-1.0/install/UNIX/wari/ ; tar xzvf wari-1.0.0.0.tar.gz

sudo mkdir /usr/share/wari/

cd ~/fuenteWari/wari-1.0/install/UNIX/wari/wari-1.0.0.0/usr/share/wari

sudo cp -r fonts/ imgs/ lua/ /usr/share/wari/

sudo cp ~/fuenteWari/wari-1.0/install/UNIX/wari/wari-1.0.0.0/usr/share/applications/wari.desktop /usr/share/applications/

sudo cp ~/fuenteWari/wari-1.0/install/UNIX/wari/wari-1.0.0.0/usr/bin/wari /usr/bin/

Y como último paso, podrán borrar el código fuente y el compilado temporal, que ya no es necesario:

rm -r ~/fuenteWari/


cd ~

Ahora, si tenemos conectado un sintonizador de TDA a nuestro equipo, podremos ejecutar el programa. Si deseamos hacerlo desde la terminal, simplemente hemos de ejecutarlo con el comando:

wari

La primera vez que iniciemos el programa, no tendremos posibilidad de hacer nada hasta que no escaneemos el espacio radioeléctrico y memoricemos los canales de la TV digital abierta. Para ello hemos de presionar el primer botón (de color azul) de la izquierda.

Esto iniciará el proceso de escaneado:
Tras unos instantes, habremos memorizado los canales y podremos elegirlos haciendo clic en el segundo botón contando desde la izquierda. Así se desplegará la lista de canales encontrados:
Simplemente haremos clic sobre el mismo y se iniciará la sintonía y recepción del stream de datos digitales, su muestra en imagen y sonido de alta calidad en la pantalla.
Naturalmente, contamos con botones para adelantar y bajar de canal, así como un botón "Mute" para reducir a cero el audio, y un slider para regular el volumen. Contamos con la capacidad de activar la pantalla completa para mayor comodidad.

Con todo esto habremos llevado la Auténtica Felicidad que el Pueblo tanto merece y anhela.

Si quisiéramos desinstalar el Wari instalado de esta forma manual, también habremos de hacerlo manualmente. Será sencillo con los siguientes Comandos en la Terminal:

sudo rm -r /usr/share/wari/
sudo rm /usr/share/applications/wari.desktop
sudo rm /usr/bin/wari

[fin de la grabación]

4 comentarios:

  1. Estimado General: ante todo, el agradecimiento por éste y tantísimos otros tutoriales que tanto han beneficiado a la comunidad toda de usuarios de ubuntu. No obstante la algarabía, debo recurrir a Ud. en pos de una solución a un ligero problema suscitado a la hora de ejecutar la palicación, y es por eso que transcribo los datos de mi consola:
    milo@emilio:~$ wari
    [lua] init
    [mpegparser::ServiceProvider] WARNING: NIT with errors: oNit=0001, network tsID=0739, using= 1
    [zapper::mpeg::StreamPlayer] WARNING: Component tag out of range: pid=1003, type=0011, tag=ff
    [zapper::mpeg::StreamPlayer] WARNING: Component tag out of range: pid=1001, type=001b, tag=ff
    [Tool] Got signal 11
    [ GINGAUTIL - terminate ] Dumping backtrace of 19 frames
    wari[0x81920b9]
    wari[0x8192154]
    [0xb778c400]
    /usr/lib/i386-linux-gnu/liblua5.1.so.0(+0x42d8)[0xb76d32d8]
    /usr/lib/i386-linux-gnu/liblua5.1.so.0(lua_rawset+0x15)[0xb76d4335]
    /usr/lib/vlc/plugins/lua/liblua_plugin.so(+0x15116)[0xa6318116]
    /usr/lib/vlc/plugins/lua/liblua_plugin.so(+0x9101)[0xa630c101]
    /usr/lib/vlc/plugins/lua/liblua_plugin.so(+0x93e8)[0xa630c3e8]
    /usr/lib/vlc/plugins/lua/liblua_plugin.so(+0xc714)[0xa630f714]
    /usr/lib/vlc/plugins/lua/liblua_plugin.so(+0x96a6)[0xa630c6a6]
    /usr/lib/libvlccore.so.7(+0x7faa0)[0xb30ccaa0]
    /usr/lib/libvlccore.so.7(+0x7fb0b)[0xb30ccb0b]
    /usr/lib/libvlccore.so.7(vlc_module_load+0x486)[0xb30cd136]
    /usr/lib/libvlccore.so.7(module_need+0x42)[0xb30cd612]
    /usr/lib/libvlccore.so.7(+0x4575e)[0xb309275e]
    /usr/lib/libvlccore.so.7(+0x4896b)[0xb309596b]
    /usr/lib/libvlccore.so.7(+0x4c854)[0xb3099854]
    /lib/i386-linux-gnu/libpthread.so.0(+0x6f70)[0xb7703f70]
    /lib/i386-linux-gnu/libc.so.6(clone+0x5e)[0xb49d770e]
    [ GINGAUTIL - terminate ] calling abort()Abortado (`core' generado)

    Habiendo escaneado con éxito los canales, la ventana de Wari permanece unos segundos y luego se cierra, arrojando los datos antes mencionados.
    Es por esto que recurro a su sabiduría, con el fin de no dejar trunco mi derecho a la TDA, la cual, otrora, me permitiera ver el Mundial de Fútbol en HD desde mi Ubuntu 12.04, pero ahora se le niega a mi 14.04. (32 bits)

    Sin más, y a la espera de su respuesta, lo saluda Atte., Milo

    ResponderEliminar
    Respuestas
    1. Estimado Milo,

      Parecería un problema de sintonía del stream (MPEG Parser NIT Error). Este es un error en la identificación del nombre del Canal (Network ID).

      El informe le dice que se han recibido 19 cuadros de imagen y luego cesa. Tal vez se deba a ruido en el stream (lo cual es extremadamente raro y suele deberse a problemas de recepción mas que a errores generados por el sistema ISDB-T).

      En nuestro caso no hemos tenido problemas con 14.04LTS, tanto en Wari como en VLC o Me TV, usando el sintonizador Full Seg S870 de Geniatech.

      ¿Qué equipo receptor utiliza? Le recomendamos utilizar en lo posible una antena UHF conectada al mismo (por un adaptador, llegado el caso) de manera de contar con una señal fuerte. En tal caso solemos recomendar las antenas "de techo" tipo "parrilla", una antena de banda UHF tipo DB4 hablando técnicamente, pues son las mejores para el éjido urbano y son fáciles de orientar, pues cuentan con un ángulo de recepción de unos 45º aproximadamente.

      En caso contrario, puede fallar la sintonía.

      Eliminar
    2. Gracias por la pronta respuesta.
      El receptor que utilizo es el EZtv USB 2.0 ISDB-T Stick,
      ID 187f:0600 Siano Mobile Silicon, pero cuando lo instalé en Ubuntu 12.04 y tenía algún problema de señal, o se cortaba la transmisión, simplemente se veía mal o quedaba la pantalla negra, pero nunca se cerraba la aplicación, que es lo que me pasa ahora, que no permanece la ventana abierta por más de 5 segundos, a menos que rápidamente logre comenzar a escanear los canales, y una vez detectados todos, se cierra.
      Quizás deba reinstalar todo, a ver qué pasa.

      Un detalle: en el primer punto del tutorial para instalar dependencias, " sudo apt-get install cmake libdb-dev libboost-filesystem-dev..." no funcionó, e instalé todo desde el Synaptics, con excepción del zliblg, que no existe.

      Saludos, Milo.

      Eliminar
  2. Bien, me apresuré con el anterior comentario. El .deb se instala y el programa funciona, pero luego Synaptic reporta paquete roto. Ahora veo por qué hay que instalarlo manualmente.

    ResponderEliminar