sábado, 26 de enero de 2013

PVR / DVR en Raspberry Pi

En esta entrada se explica como montar un PVR (Personal Video Recorder) / DVR (Digital Video Recorder) bajo Linux y accesible vía web, en este caso se instalará sobre la Raspberry Pi. El objetivo es que podamos grabar las señales provenientes de un USB de TDT/Satelite o bien de un operador de TV por cable (como Imagenio).

Para esto, utilizaremos el proyecto Tvheadend (link) el cual consiste en un Servidor de Streaming de TV que soporta como fuentes de entrada DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV y V4L.

Instalación
En mi caso la instalación se realiza sobre una Raspberry Pi modelo B de 256MB con S.O. Raspbian. En dicha distribución, no existe el paquete tvheadend para plataforma armhf de la Raspberry Pi, así que descargaremos los fuentes y lo compilaremos.

Lo primero de todo es disponer de los paquetes previos necesarios para la instalación por lo que ejecutaremos las siguientes sentencias:
sudo aptitude update
sudo aptitude install build-essential git pkg-config unzip wget

Y ahora descargamos los fuentes y los compilamos:
cd ~
git clone https://github.com/tvheadend/tvheadend
cd tvheadend
./configure
make

Una vez realizado ya tenemos el ejecutable en una carpeta local la cual podemos hacer las pruebas oportunas. Para ejecutar la aplicación, tan sencillo como la sentencia siguiente:

./tvheadend/build.linux/tvheadend -C

De esta manera, empezará Tvheadend con usuario y contraseña en blanco.

Observaciones
  1. Destacar que configure dispone del parámetro --help el cual nos dará varias opciones de compilación para incluir más o menos librerías
  2. La instalación en el carpeta definitiva (opcional) se realiza mediante la instrucción:
sudo make install


Acceso a la aplicación
Para acceder a la aplicación se emplea cualquier navegador web, apuntando a la IP de la Raspberry Pi al puerto 9981.

http://raspi:9981


Configuración y pantallas
Las siguientes líneas de este artículo describen mi configuración real para proveer de un PVR en la Raspberry Pi a fin de poder grabar los canales IPTV contratados.

La siguiente imagen muestra la pantalla de configuración de los canales IP, en este caso se han definido unos cuantos canales.

Se configura los criterios de grabación, en este caso, una carpeta determinada que tiene un soft-link a un HD externo, así como otros parámetros (grabación TS, incluir la fecha, el nombre del canal, etc.)

La siguiente pantalla tiene la parrilla de canales que utilizaré en el PVR
Destacar que la opción "Play" de la pantalla anterior nos permite reproducir el canal incrustado en el navegador, o bien reproducirlo con VLC (por ejemplo), pero este no es el objetivo de esta entrada en el blog.

Y por último, la pantalla del PVR con las programaciones planificadas...

El programa grabado se puede reproducir desde la misma aplicación "Pestaña Finished Recordings" o bien coger el fichero grabado y reproducirlo con cualquier programa de video.

Conclusión
La ventaja de utilizar el programa TVheadend es que podemos aparte de tener EPG y PVR en la propia máquina (en este caso en una Raspberry Pi de 256MB) la de servir y emitir las señales de televisión a otros dispositivos, como un PC con XBMC o a una Tablet Android con el apk TVHGuide (TVHGuide).

Las configuraciones y usos son múltiples, aquí solo os he enseñado como tener un grabador de canales digitales de Imagenio para uso propio, montando nuestro propio PVR sobre la versátil y económica Raspberry Pi.


La aplicación tiene muchísimas opciones que os agradezco que probéis ya que es sencillamente genial.


Enlaces relacionados: