Important: You are required to change your passwords used for Gentoo services and set an email address for your Wiki account if you haven't done so. See the full announcement and Wiki email policy change for more information.

VDR

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of a page VDR and the translation is 100% complete.

Other languages:English 100% • ‎español 100% • ‎한국어 89%

Esta guía muestra como preparar Gentoo Linux para DVB y VDR.

Información general de DVB

¿Qué es DVB?

DVB es el acrónimo de Digital Video Broadcasting (Difusión de Vídeo Digital). DVB describe métodos para transferir información digital de TV, radio, servicios interactivos como MHP, EPG y teletexto. Usando compresión de datos MPEG-2 o H.264 para HDTV es posible transferir varios canales en la misma frecuencia. A mayor compresión de datos, mayor número de canales que se pueden transferir, pagando por ello una pérdida en la calidad.

DVB puede transferirse de varias formas. La última letra identifica el método de transferencia, por ejemplo, DVB-T< para transmisiones terrestres. Existen otros tipos:

  • DVB-S para transmisión vía satélite
  • DVB-C para transmisión por cable
  • DVB-H para transmisión a dispositivos móviles (terrestres)
  • DVB-IPI para transmisión sobre redes IP, por ejemplo Internet
  • DVB-RC(S/C/T) canal de retorno para la transmisión de servicios de datos, por ejemplo Internet de banda ancha

Tipos y requerimientos de tarjetas DVB

Además de los diferentes métodos existentes para recibir un stream DVB, las tarjetas se clasifican por el tipo de salida producida. Hay tarjetas con decodificador implementado que ofrece acceso directo al stream por medio del dispositivo /dev/video. Estas tarjetas son tarjetas completas (full featured). Otras tarjetas no tienen decodificador, requieren un software instalado en el ordenador y son de bajo coste. Esto implica mayores requisitos del sistema. La CPU de su ordenador debe funcionar al menos a 600 MHz y disponer de al menos de 256MB de RAM. Esta lista puede ser útil para identificar su tarjeta.

Preparar el sistema

Configurar el núcleo

En primer lugar, debe asegurarse de que su núcleo soporta DVB y el dispositivo DVB instalado. Desde la versión 2.6 los controladores necesarios están incluidos. Compruebe la configuración de su núcleo y asegúrese de seleccionar las siguientes opciones como controladores estáticos o como módulos.

Kernel configurationOpciones requeridas del núcleo

Input Device Support --->
 * Event Interface
Device Drivers --->
  Multimedia Devices --->
    Digital Video Broadcasting Devices --->
     [*] DVB For Linux
      * DVB Core Support
      M [Su controlador]

Igualmente tendrá que seleccionar el controlador adecuado para su hardware. Para localizar el módulo correcto para su tarjeta, deberá marcar cada controlador como módulo. Si posee una tarjeta PCI, instale pciutils si no lo ha hecho aún. Si quiere los controladores ya instalados o no posee una tarjeta PCI, sáltese este paso y continúe con Comprobar la salida del núcleo.

root # emerge --ask pciutils

Después de arrancar el nuevo núcleo, lanzamos pcimodules para listar los módulos requeridos.

root # pcimodules
ohci-hcd
ehci-hcd
sis900
snd-emu10k1
b2c2-flexcop-pci
nvidia nvidiafb

En este caso tendremos que cargar el módulo b2c2-flexcop-pci. Añadiremos el nombre a /etc/conf.d/modules.

File/etc/conf.d/modules

modules="b2c2-flexcop-pci"

Comprobar la salida del núcleo

Se recomienda marcar cada controlador como módulo, de esta forma podrá añadir el módulo requerido dinámicamente, especialmente si no conoce el nombre del módulo. Si ya conoce el nombre de módulo, marque el controlador a compilar en el núcleo. Compile el núcleo, instale los módulos y reinicie. Puede comprobar si su núcleo ha detectado correctamente su tarjeta con dmesg.

Si posee una tarjeta TerraTec Cinergy T2 la salida puede parecerse a ésta:

root # dmesg | grep DVB
DVB: registering new adaptor (TerraTec/qanu USB2.0 Highspeed DVB-T Receiver).
input: TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control as /class/input/input2

Instalar VDR

Para instalar VDR simplemente lanzamos emerge.

root # emerge --ask vdr

Instalar el mando a distancia

Hay al menos dos formas de controlar VDR usando un mando a distancia infrarrojo. Si su tarjeta de televisión tiene un receptor IR integrado, puede usar vdr-remote. De lo contrario casi seguro que necesitará usar LIRC.

Instalar vdr-remote

En primer lugar instalamos el plugin mediante emerge:

root # emerge vdr-remote
root #
eselect vdr-plugin enable remote

Cuando use el plugin remoto para el puerto IR en su tarjeta DVB todo debería funcionar correctamente con la configuración por defecto. Este plugin utiliza automáticamente el dispositivo de entrada que contiene "dvb" en su nombre. Para usos más avanzados, eche un vistazo a /etc/conf.d/vdr.remote.

Alternativa: instalar LIRC

Si puede controlar su tarjeta de forma remota (pero no puede o no quiere usar <c>vdr-remote</c>), puede configurar LIRC. LIRC interpreta las teclas pulsadas y devuelve un nombre para cada una. Un programa que soporte LIRC esperará por los eventos y lanzará la acción configurada en el fichero de configuración, casi siempre almacenado en el directorio de configuración del programa que se está ejecutando (por ejemplo mplayer carga el fichero ~/.mplayer/lircrc ). Antes de instalar LIRC, deberá añadir <c>lirc</c> a los indicadores USE y añadir una entrada adicional a /etc/portage/make.conf: LIRC_DEVICES. Consulte esta lista para encontrar los argumentos apropiados para la opción.

File/etc/portage/make.conf

# (Reemplace "devinput" por el controlador apropiado) LIRC_DEVICES="devinput"
USE="lirc"
root # emerge --ask lirc

Al comienzo, deberemos definir cada código de tecla con un nombre. La mayoría de los mandos a distancia soportados ya están configurados, eche un vistazo a la lista de mandos a distancia. Descargue el fichero necesario y guárdelo como /etc/lircd.conf. Ahora deberemos encontrar donde está el mando a distancia. Ejecute la siguiente orden para obtener una lista de los dispositivos de entrada actuales (asegúrese de que su dispositivo se está ejecutando).

root # cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control"
P: Phys=usb-0000:00:1d.7-1/input0
S: Sysfs=/class/input/input2
H: Handlers=kbd event1 B: EV=100003
B: KEY=108fc210 2043 0 0 0 0 8000 2080 1 9e1680 0 0 ffc

En este caso, se ha conectado un dispositivo Terratec Cinergy por lo que podemos acceder al dispositivo a través de /dev/input/event1. Cambie event1 por el dispositivo correspondiente que se muestre en su salida.

lircd necesita saber qué dispositivo usar. Añada la siguiente línea a /etc/conf.d/lircd. Recuerde reemplazar devinput por el nombre de su controlador y event1 por el controlador en sí.

File/etc/conf.d/lircd

LIRCD_OPTS="-H devinput -d /dev/input/event1"

Es el momento de arrancar lircd:

root # /etc/init.d/lircd start

Ahora se debería observar lircd capturando y decodificando pulsaciones de teclas. Simplemente ejecute la orden irw. Párelo presionando Ctrl+C cuando termine.

root # irw
0000000000001aa2 00 Exit Technisat_TTS35AI.conf 
0000000000001a8d 00 Mute Technisat_TTS35AI.conf 
0000000000000a97 00 OK Technisat_TTS35AI.conf 
0000000000000a97 01 OK Technisat_TTS35AI.conf 
0000000000000a92 00 Menu Technisat_TTS35AI.conf

A continuación, añádalo al nivel de ejecución predeterminado para que comience automáticamente en el arranque.

root # rc-update add lircd default

Para poder usar su mando a distancia, debe habilitar el soporte LIRC en VDR. Añada la siguiente línea a /etc/conf.d/vdr:

File/etc/conf.d/vdr

IR_CTRL="lirc"

Métodos de salida de vídeo

Ahora debe elegir uno (¡y solo uno!) de los siguientes dispositivos de salida de vídeo que muestra la imagen y el On Screen Display (OSD) superpuesto.

Decodificación Hardware: Tarjetas DVB completas (full featured)

Los usuario de estas caras tarjetas no necesitan instalar nada más por lo que pueden continuar con Crear una lista de canales.

Decodificación Hardware: Tarjetas DXR3/Hollywood+

Para utilizar una tarjeta DXR3 para la salida VDR necesitamos el plugin vdr-dxr3.

root # emerge --ask vdr-dxr3
File/etc/conf.d/modules

modules="em8300"

El módulo em8300 necesita alguna configuración que depende de la revisión exacta de la tarjeta.

Decodificación Hardware: Tarjetas PVR350

Debido a que las tarjetas PVR350 incorporan un chip dedocificador MPEG querremos hacer uso de él. Necesitamos instalar el plugin vdr-pvr350. Si <c>ivtv-driver</c> no se ha instalado aún, emerge lo instalará automáticamente. Para cargar el módulo ivtv al arrancar el sistema, lo añadiremos a /etc/conf.d/modules:

root # emerge --ask vdr-pvr350
File/etc/conf.d/modules

modules="ivtv"

Decodificación Software: vdr-softdevice

Para instalarlo, tenemos que hacer emerge de vdr-softdevice. No olvide habilitar el plugin

root # emerge --ask vdr-softdevice
root # eselect vdr-plugin enable softdevice

Para seleccionar las salidas de vídeo y audio adecuadas, edite /etc/conf.d/vdr.softdevice.

Por ahora, únicamente describiremos el método shm ("memoria compartida"). Es el que está habilitado por defecto en el fichero de configuración (Ajuste SOFTDEVICE_VIDEO_OUT). Más tarde necesitará arrancar ShmClient para obtener una ventana que muestre la imagen.

Nota
Si no quiere preocuparse de una plantilla de teclado aparte para

controlar VDR, existen ficheros de configuración de mandos a distancia disponibles en espacio del desarrollador Matthias Schwarzott. Hay ficheros para softdevice/shm y xineliboutput (se están creando más). Necesitará el fichero adecuado para

/etc/vdr/remote.conf y lanzar chown vdr:vdr sobre el fichero para hacerlo funcionar.

Decodificación Software: vdr-xineliboutput

Algunas personas prefieren usar vdr-xineliboutput, porque también puede funcionar remotamente. Ahora le enseñaremos cómo configurar vdr-xineliboutput en su servidor y cliente. En primer lugar, la configuración del servidor:

root # emerge --ask vdr-xineliboutput
root # eselect vdr-plugin enable xineliboutput

Añadir opciones de línea de comandos en este punto, es crucial para que xineliboutput funcione. Para ver más opciones, use vdr --help.

File/etc/conf.d/vdr.xineliboutput

_EXTRAOPTS="--local=none --remote=37890"

El siguiente paso es editar /etc/vdr/svdrphosts.conf. Este fichero describe un número de direcciones de servidor a las cuales está permitido conectarse al puerto SVDRP del grabador del disco de vídeo que se está ejecutando en el sistema servidor.

File/etc/vdr/svdrphosts.conf

# (La sintaxis correcta es: Dirección-[/Máscara de red])
127.0.0.1 (aceptar siempre localhost)
192.168.1.0/24 (cualquier máquina de la red local)
#204.152.189.113 (una máquina específica)
#0.0.0.0/0 (cualquier máquina en cualquier red. ¡ÚSELO CON CUIDADO!)

Si solo quiere usar vdr-xineliboutput para ver la imagen en el mismo ordenador que el que está corriendo VDR puede continuar con la creación de la lista de canales.

De lo contrario, simplemente haga emerge media-plugins/vdr-xineliboutput en su cliente:

root # emerge --ask vdr-xineliboutput

A continuación (después de arrancar VDR) podrá utilizar la orden vdr-sxfe xvdr://nombredehost para conectar a VDR y ver su imagen en OSD.

Nota
Existe también un plugin que simplemente simula la existencia de un

dispositivo real de salida (vdr-dummydevice) para algunos usos imaginativos como servidores de solo grabación, pero es más avanzado que

una configuración normal VDR.

Crear una lista de canales

Para que VDR sea realmente útil, se necesita crear una lista apropiada de canales. Hay más de una forma de conseguir una lista de canales que funcione (Aparte de descargarse una). La lista de canales que se instala por defecto es para la recepción DVB-S en Astra en 19.2°E.

Usar dvbscan desde linuxtv-dvb-apps

root # emerge --ask linuxtv-dvb-apps

Encuentre la frecuencia correcta para su región y tipo de recepción. Estos ficheros se almacenan en /usr/share/dvb. Para recepción con DVB-T en Berlin necesita usar /usr/share/dvb/scan/dvb-t/de-Berlin.

user $ dvbscan -o vdr /usr/share/dvb/scan/dvb-t/de-Berlin > /etc/vdr/channels.conf

Usar vdr-reelchannelscan

En primer lugar, borre el contenido de la lista existente de canales.

root # rm /etc/vdr/channels.conf
root # emerge --ask vdr-reelchannelscan
root # eselect vdr-plugin enable reelchannelscan

Canales para sistemas con vdr-analogtv

Probablemente en este momento querrá configurar sus canales. El proyecto VDR proporciona algunos ejemplos que puede encontrar en /usr/share/doc/vdr-analogtv-$version/examples/, siempre que haya instalado >=media-plugins/vdr-analogtv-1.0.00-r1.

Arrancar VDR

Después de tener todas las partes básicas de software preparadas en su sistema, necesitará configurar VDR con su OSD.

Si usó un decodificador hardware para salida de imagen, deberá en este momento encender la televisión conectada. Si usó salida software, el cliente se debe arrancar después de VDR.

En primer lugar, debe aprender sus definiciones de teclas; esto es, conectar las teclas de su mando a distancia a las órdenes internas de VDR.

Nota
En caso de que necesite editar la configuración del teclado o (mejor aún) quiere borrarlo para volver a memorizar las teclas: VDR almacena sus definiciones de teclas en /etc/vdr/remote.conf.

Comenzamos arrancando VDR:

root # /etc/init.d/vdr start
* Preparing start of vdr:
* config files ... [ ok ]
* Waiting for prerequisites (devices nodes etc.) ... [ ok ]
* Starting vdr ... [ ok ]
* First start of vdr: No check for running vdr possible
* until control device (remote/keyboard) keys are learnt!
Nota
Los usuarios de decodificadores software deben arrancar ahora el programa cliente que abre la ventana para mostrar la imagen de TV y el OSD.

Para los usuarios de vdr-softdevice:

root # ShmClient

Para los usuarios de vdr-xineliboutput:

root # vdr-sxfe xvdr://nombre_de_máquina

Las teclas más útiles para VDR son:

  • Teclas del cursor (Izquierda/Derecha/Arriba/Abajo)
  • Menu/Salir/Ok
  • Colores (Rojo/Verde/Amarillo/Azul)
  • Teclas numéricas (0-9)
Importante
Si no tiene muchas teclas, asegúrese de asignar éstas. (Algunos mandos tienen las teclas Play/Pause/etc. en las mismas teclas que los colores, por lo que deberá usarlas para los colores).

Ahora que ha terminado la instalación básica, necesitará configurar VDR. Cambie a su pantalla de salida y siga las instrucciones en pantalla. VDR le pedirá que presione varias teclas en su mando a distancia para aprender los códigos correctos de las teclas. Si no tiene un mando a distancia puede usar el teclado.

Ahora puede añadir el guión de inicio al nivel de ejecución predeterminado para ejecutarlo cada vez que arranque el ordenador.

root # rc-update add vdr default

Solución de problemas

Nota
Si necesita ayuda, puede preguntar en el canal #gentoo-vdr o echar un vistazo en nuestrosforos.

Agradecimientos

Nos gustaría dar las gracias a los siguientes autores y editores por sus contribuciones a esta guía:


  • Norman Golisz
  • Dimitry Bradt
  • Matthias Schwarzott
  • Joshua Saddler