WebGrab+Plus es un recolector de Guías EPG multi-sitio capaz de trabajar de manera incremental. Se baja la programación y genera un fichero en formato XMLTV que puedes usar para alimentar a tu media center o a Tvheadend. Primero probé a instalarlo en un MacOSX y ahora (este artículo) toca instalarlo en mi servidor Linux y por supuesto integrarlo con Tvheadend.

Este apunte está relacionado con este otro: Tvheadend y Movistar TV (2016) . Aquí describo como configurar WebGrab para bajarme el EPG desde otras fuentes. El programa WebGrab+Plus genera un fichero guide.xml en formato XMLTV que hay que pasarle a TVHeadEnd y que este a su vez actualiza a los XBMC (en Raspberri Pi en mi caso).

twr-xbmc

Importante: He creado un contenedor Docker con Tvheadend ya listo para su uso, mira al final del artículo. El contenedor Docker con WebGrab+Plus es una asignatura que todavía tengo pendiente :-).

Instalación de WebGrab+Plus en Linux

Pasos para realizar la instalación completa de WebGrab+Plus en un equipo linux:

  • Instalar Mono en Linux. En Gentoo la última disponible es la versión 3.2.8. Seguramente te funcione con cualquiera superior a la 2.10.

Extraer el rar en el $HOME de tu usuario y renombrar el directorio a “temp1

Extraer el ZIP en el $HOME de tu usuario y renombrar el directorio a “temp2

  • Crear un directorio donde instalar la aplicación.
    En mi caso: /home/luis/wg++

  • Copiar los directorios REX y MDB desde temp1 a /home/luis/wg++

  • Copiar WebGrab+Plus.config.xml desde temp1 a /home/luis/wg++

  • Copiar WebGrab+Plus.exe desde temp2 a /home/luis/wg++

  • Modifico la configuración, parto de la lista de canales EPG que puedo descargar y utilizar con WG++. En mi caso concreto voy a usar fuentes disponibles en España. Descargo por ejempo la del pais.com y al final el fichero de configuraicón de WG++ ( WebGrab++.config.xml) que estoy usando es el siguiente:

  • Creo un pequeño script para arrancar y ejecutar el programa de forma más sencilla, recuerda darle permisos de ejecución con chmod 755 wg++.sh

A partir de ahora ya podrías ejecutar el programa y ver que todo funciona correctamente y se genera el fichero guide.xml. El siguiente paso será la integración con TVHeadEnd

Integración con TVHeadEnd

Vamos a interactuar con TVHeadEnd (fuente), mejor dicho, vamos a pasarle todo el EPG para que él a su vez lo procese y pueda entregárselo a los “consumidores” (Raspberry’s con XBMC).

  • Descargo el fichero “tv_grab” diseñado por WebGraph+Plus para interactuar con TVHeadEnd y lo salvo como /usr/bin/tv_grab_wg++

Dejo aquí una copia, notar que he cambiado la segunda línea del script para que deje el fichero guide.xml en mi directorio de trabajo: xmltv_file_location=/home/luis/wg++/guide.xml

  • Puedes ejecutar el grabber desde la línea de comandos para comprobar que funciona correctamente, verás que va mostrando en el propio terminal un montón de datos xmltv.

  • Pero lo más importante es configurar TVHeadEnd. Rearráncalo y entre medias pídele que busque este nuevo grabber. El programa tv_find_grabbers ejecuta una búsqueda de todos los ejecutables “/usr/bin/tv_grab*” que puedan ser “grabbers”, aquellos que respondan de forma adecuada se habilitarán y podrán ser seleccionados en su configuración (vía Web).

  • Configuro TVHeadEnd y selecciono el nuevo grabber “XMLTV: tv_grab_wg++”.

webgrabconfig

  • Por último, programo en el cron que se ejecute el grabber diariamente, al hacerlo desde el directorio cron.daily será alrededor de las 3.00am.

Tvheadend en contenedor Docker

He creado un contenedor Docker para ejecutar Tvheadend, échale un ojo, estos son los proyectos donde tienes todo lo necesario:

Si no conoces Docker, te dejo estos enlaces: ¿qué es Docker? y otros casos de uso de Docker