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 pueden ser transferidos, pagando por ello una pérdida en la calidad.
DVB puede transferirse de varias formas. La última letra identifica el método de transferencia, p.e. DVB-T para transmisiones terrestres. Existen otros tipos:
Tipos y requisitos de las tarjetas DVB
Aparte de los diferentes métodos existentes para recibir un stream DVB, las tarjetas son clasificadas por el tipo de the 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.
En primer lugar, debemos asegurarnos 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.
Listado de Código 2.1: Opciones del núcleo necesarias |
Input Device Support --->
* Event Interface
Device Drivers --->
Multimedia Devices --->
Digital Video Broadcasting Devices --->
[*] DVB For Linux
* DVB Core Support
M [Your driver]
|
Igualmente debemos 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 ya. Si quiere los controladores ya instalados o no posee una tarjeta PCI, sáltese este paso y continúe con Comprobando la salida del núcleo.
Listado de Código 2.2: Instalar pciutils |
# emerge pciutils
|
Despues de arrancar el nuevo núcleo, ejecutaremos pcimodules para listar los módulos requeridos.
Listado de Código 2.3: Listar los modulos requeridos |
# 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/modules.autoload.d/kernel-2.6.
Listado de Código 2.4: Añadir el nombre del módulo |
# echo b2c2-flexcop-pci >> /etc/modules.autoload.d/kernel-2.6
|
Comprobando 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 sabe el nombre de módulo, marque el controlador para ser compilado en el núcleo. Compile el núcleo, instale los módulos y arránquelo. Puede comprobar si su núcleo ha detectado correctamente su tarjeta usando dmesg.
Listado de Código 2.5: Comprobar la salida del núcleo |
# dmesg | grep DVB (Si tiene una TerraTec Cinergy T2, la salida puede ser como ésta:) 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 |
Para instalar VDR, simplemente hacemos emerge.
Listado de Código 3.1: Instalar VDR |
# emerge vdr
|
Ahora puede continuar con Instalar el Mando a Distancia.
4. 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.
Primero instalaremos el plugin usando emerge:
Listado de Código 4.1: Instalar vdr-remote |
# emerge vdr-remote # eselect vdr-plugin enable remote |
Cuando use el plugin 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.
Ahora, continúe con Métodos de Salida de Vídeo.
Si su tarjeta puede ser controlada remotamente (pero no puede o no quiere usar vdr-remote), 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 ejecutará 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 (p.e. mplayer carga el fichero ~/.mplayer/lircrc). Antes de instalar LIRC, deberá añadir lirc a los indicadores USE y añadir una entrada adicional a /etc/make.conf: LIRC_DEVICES. Use esta lista para encontrar los argumentos apropiados para la opción.
Listado de Código 4.2: Instalar LIRC |
# nano -w /etc/make.conf (Reemplace "devinput" por el controlador adecuado) LIRC_DEVICES="devinput" USE="lirc" # emerge 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. Descargue el fichero necesario y guárdelo como /etc/lircd.conf. Ahora deberemos encontrar donde se encuentra el mando a distancia. Ejecute el siguiente comando para obtener una lista de los dispositivos de entrada actuales (asegúrate de que su dispositivo se está ejecutando).
Listado de Código 4.3: Lista de los dispositivos de entrada actuales |
# 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 tenemos el dispositivo Terratec Cinergy T2 conectado, por lo tanto podemos acceder al dispositivo en /dev/input/event1. Reemplace event1 por el dispositivo correspondiente 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í.
Listado de Código 4.4: Añadir opciones a lircd |
LIRCD_OPTS="-H devinput -d /dev/input/event1" |
Es el momento de arrancar lircd:
Listado de Código 4.5: Arrancar lircd |
# /etc/init.d/lircd start
|
Ahora debería ser posible observar lircd capturando y decodificando pulsaciones de teclas. Simplemente ejecute el comando irw. Párelo presionando Ctrl+C cuando se canse.
Listado de Código 4.6: Comprobar LIRC |
# 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
|
Lo siguiente es añadirlo al nivel de ejecución predeterminado para que comience automáticamente en el arranque.
Listado de Código 4.7: Añadir lircd al nivel de ejecución por defecto |
# 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:
Listado de Código 4.8: Habilitar el soporte para LIRC |
# nano -w /etc/conf.d/vdr
IR_CTRL="lirc"
|
Ahora debe decidir uno (¡y sólo 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 usuarios de estas caras tarjetas no necesitan instalar nada más, por lo que pueden continuar con Configurando su lista de canales.
Decodificación Hardware: Tarjetas DXR3/Hollywood+
Para usar una tarjeta DXR3 para salida VDR necesitamos el plugin vdr-dxr3.
Listado de Código 5.1: Instalar el plugin |
# emerge vdr-dxr3 # echo em8300 >> /etc/modules.autoload.d/kernel-2.6 |
El módulo em8300 necesita alguna configuración que depende de la revisión exacta de la tarjeta.
Continúe con Configurando su lista de canales.
Decodificación Hardware: Tarjetas PVR350
Debido a que las tarjetas PVR350 incorporan un chip dedocificador MPEG-Decoder querremos hacer uso de él. Necesitamos instalar el plugin vdr-pvr350. plugin. Si ivtv-driver no está aún instalado, emerge lo instalará automáticamente. Para tener el módule ivtv cargado al arrancar, lo añadiremos a /etc/modules.autoload.d/kernel-2.6:
Listado de Código 5.2: Instalar el pluing PVR350 |
# emerge vdr-pvr350 # echo ivtv >> /etc/modules.autoload.d/kernel-2.6 |
Continúe con Configurando su lista de canales.
Decodificación Software: vdr-softdevice
Para instalarlo, tenemos que hacer emerge de vdr-softdevice. No olvide habilitar el plugin
Listado de Código 5.3: Instalar el plugin softdevice |
# emerge vdr-softdevice # 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 ("shared memory"). Es el que está habilitado por defecto en el fichero de configuración (Entrada SOFTDEVICE_VIDEO_OUT). Más tarde necesitará arrancar ShmClient para obtener una ventana mostrando la imagen.
Nota: Si no quiere preocuparte de una plantilla de teclado aparte para controlar VDR, existen ficheros de configuración remota disponibles en devspace de Matthias Schwarzott. Hay ficheros para softdevice/shm y xineliboutput (habrá más). Necesitará el fichero adecuado para /etc/vdr/remote.conf y ejecutar chown vdr:vdr sobre el fichero para hacerlo funcionar. |
Continúe con Configurando su lista de canales.
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. Primero, la parte del servidor:
Listado de Código 5.4: Instalar vdr-xineliboutput |
# emerge vdr-xineliboutput # eselect vdr-plugin enable xineliboutput |
Añadiendo opciones de línea de comandos en este punto, es crucial para que xineliboutput funcione. Para ver más opciones, usar vdr --help.
Listado de Código 5.5: Añadir opciones de línea de comandos a /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 la puerto SVDRP del grabador de vídeo disco corriendo en el sistema servidor.
Listado de Código 5.6: Editar /etc/vdr/svdrphosts.conf |
(La sintáxis adecuada es: Dirección-IP[/Máscara-Red]) 127.0.0.1 (siempre acepta localhost) 192.168.1.0/24 (cualquier servidor en la red local) #204.152.189.113 (un servidor específico) #0.0.0.0/0 (cualquier servidor en cualquier red - ¡USELO CON CUIDADO!) |
Si sólo quiere usar vdr-xineliboutput para ver la imagen en el mismo ordenador que el que está corriendo VDR puede continuar con Configurando su lista de canales.
De lo contrario simplemente emerge media-plugins/vdr-xineliboutput en su cliente:
Listado de Código 5.7: Configuración del cliente |
# emerge vdr-xineliboutput
|
Después (habiendo arrancado VDR) puede usar el comando vdr-sxfe xvdr://hostname para conectarse a VDR y ver su imagen y OSD.
Continúe con Configurando su lista de canales.
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 sólo grabación, pero es más avanzado que una configuración normal VDR. |
6. Creando una lista de Canales
Para hacer VDR realmente útil, 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 instalada por defecto es para la recepción DVB-S en Astra en 19.2°E.
Usando dvbscan desde linuxtv-dvb-apps
Listado de Código 6.1: Instalar linuxtv-dvb-apps |
# emerge linuxtv-dvb-apps
|
Encuentre la frecuencia correcta para su región y tipo de recepción. Estos ficheros están ordenados bajo /usr/share/dvb/scan. Para recepción con DVB-T en Alemania, Región Nuernberg necesita usar /usr/share/dvb/scan/dvb-t/de-Nuernberg.
Listado de Código 6.2: Escanear con dvbscan |
$ dvbscan -o vdr /usr/share/dvb/scan/dvb-t/de-Nuernberg > /etc/vdr/channels.conf
|
Primero borre el contenido de la lista existente de canales.
Listado de Código 6.3: Limpiar la lista antigua de canales |
# rm /etc/vdr/channels.conf
|
Listado de Código 6.4: Instalar y activar vdr-reelchannelscan |
# emerge vdr-reelchannelscan # eselect vdr-plugin enable reelchannelscan |
Canales para sistemas usando using vdr-analogtv
Probablemente querrá configurar sus canales en este punto. 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.
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 debe ser arrancado después de VDR.
Primero, debe aprender sus definiciones de teclas; esto es, conectando las teclas de su mando a distancia a los comandos internos de VDR.
Nota: En caso de que necesite editar la configuración de teclado, o (mejor) quiere borrarla para volver a memorizar las teclas: VDR almacena sus definiciones de teclas en /etc/vdr/remote.conf. |
Comenzamos arrancando VDR:
Listado de Código 7.1: Arrancar VDR |
# /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 ahora arrancar el programa cliente que abre la ventana para mostrar la imagen de TV y el OSD. |
Listado de Código 7.2: Activar el decodificador software para el cliente |
(Para usuarios de vdr-softdevice) # ShmClient (Para usuarios de vdr-xineliboutput) # vdr-sxfe xvdr://hostname |
Las teclas más útiles para VDR son:
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 la instalación básica ha terminado, necesitará configurar VDR. Cambie a su pantalla de salida y sigua 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 script de inicio al nivel de ejecución predeterminado para ejecutarlo cada vez que arranque el ordenador.
Listado de Código 7.3: Añadir vdr al nivel de ejecución predeterminado |
# rc-update add vdr default
|
Nota: Si necesita ayuda, puede preguntar en #gentoo-vdr, o echar un vistazo en nuestros forums. |
El contenido de este documento está registrado bajo los términos de la licencia Creative Commons - Reconocimiento / Compartir Igual