VDR

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page VDR and the translation is 95% complete.
Outdated translations are marked like this.
Other languages:
 As of 12 de marzo de 2015, the information in this article is probably outdated. You can help the Gentoo community by verifying and updating this article.

Este artículo contiene instruciones acerca de cómo 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, sin embargo se paga una pérdida de 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 del ordenador debe funcionar al menos a 600 MHz y disponer de al menos de 256MB de RAM. Esta lista puede ser útil para identificar la tarjeta.

Preparar el sistema

Configurar el núcleo

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

KERNEL Opciones necesarias del núcleo
Input Device Support --->
* Event Interface
Device Drivers --->
<M> Multimedia Support --->
  [*] Digital TV support
   M  [Habilitar controlador(es)]

Adicionalmente seleccione el controlador adecuado para el hardware del sistema. Para encontrar el módulo adecuado para la tarjeta, se deben marcar todos los controladores como módulos. Se se utiliza una tarjeta PCI, entonces instale el paquete sys-apps/pciutils si no se ha instalado aún. Esto ofrecerá una herramienta útil llamada lspci. Para los controladores integrados o si no se dispone de una tarjeta PCI en el sistema, se debe saltar este paso y continuar en comprobar la salida del núcleo.

root #emerge --ask sys-apps/pciutils

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

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

En este caso se necesita cargar el módulo b2c2-flexcop-pci. Añada el nombre del módulo al fichero /etc/conf.d/modules:

ARCHIVO /etc/conf.d/modules
modules="b2c2-flexcop-pci"

Comprobar la salida del núcleo

Se recomienda marcar cada controlador como módulo de modo que el módulo necesario se pueda añadir dinámicamente, especialmente si no está claro que módulo se debe añadir. Si se conoce el nombre del módulo, entonces se debe seleccionar como un controlador integrado en el núcleo. A continuación se debe compilar el núcleo, instalar los módulos y reiniciar el nuevo módulo. Se puede verificar que el núcleo ha detectado correctamente la tarjeta PCI mediante la utilidad dmesg.

Si el sistema tiene una tarjeta TerraTec Cinergy T2 la salida debería parecerse en algo a la siguiente:

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 se hace emerge:

root #emerge --ask media-video/vdr

Instalar el mando a distancia

Hay al menos dos formas de controlar VDR usando un mando a distancia infrarrojo. Si la tarjeta de televisión tiene un receptor IR integrado entonces se puede usar vdr-remote. De lo contrario se debe usar LIRC.

Instalar vdr-remote

Instalar el complemento mediante una orden emerge:

root #emerge --ask media-plugins/vdr-remote
root #eselect vdr-plugin enable remote

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

Alternativa: instalar LIRC

Si la tarjeta se puede controlar de forma remota y no se desea gestionarla mediante vdr-remote, entonces se debe configurar LIRC. LIRC interpreta las teclas que se pulsan y devuelve un nombre para cada una de ellas. Un programa que ofrezca soporte para LIRC espera por los eventos generados por la pulsación de la tecla y realiza la acción que se ha configurado en el archivo de configuración que en la mayoría de ocasiones se encuentra en el directorio de configuración del programa que se ha ejecutado (por ejemplo mplayer carga el archivo ~/.mplayer/lircrc). Antes de instalar LIRC, se debe añadir lirc como ajuste USE y añadir una variable special llamada LIRC_DEVICES a /etc/portage/make.conf. Utilice esta lista para averiguar los argumentos apropiados para la nueva variable de make.conf.

ARCHIVO /etc/portage/make.conf
# (Reemplace "devinput" por el controlador apropiado) LIRC_DEVICES="devinput"
USE="lirc"
root #emerge --ask app-misc/lirc

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

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 se puede acceder al dispositivo a través de /dev/input/<event1>. Cambiar event1 por el dispositivo correspondienteque se muestre en la salida.

La orden lircd necesita saber qué dispositivo usar. Añadir la siguiente línea al fichero /etc/conf.d/lircd. Recordar que se debe reemplazar <devinput> por el nombre del controlador y <event1> por el controlador en sí:

ARCHIVO /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. Lance la orden irw. Párelo presionando Ctrl + C cuando se hayan pulsado algunas teclas.

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 momento del arranque.

root #rc-update add lircd default

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

ARCHIVO /etc/conf.d/vdr
IR_CTRL="lirc"

Métodos de salida de vídeo

Ahora se 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)

Instalar media-plugins/vdr-dvbhddevice cuando se esté utilizando un TechnoTrend Premium S2-6400 Twin HD, o hardware de decodificación general para SDTV y HDTV (MPEG2 y MPEG4 AVC/H.264):

root #emerge --ask media-plugins/vdr-dvbhddevice

Para Fujitsu_Siemens, Hauppage WinTV, TechnoTrend Premium S2300 y tarjetas basadas en este diseño de referencia o hardware de decodificación general para SDTV (MPEG1 y MPEG2):

root #emerge --ask vdr-dvbsddevice

Decodificación Hardware: Tarjetas DXR3/Hollywood+

Para utilizar una tarjeta DXR3 para la salida VDR se necesita el complemento vdr-dxr3:

root #emerge --ask vdr-dxr3
ARCHIVO /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 decodificador MPEG, éste se debería utilizar para aprovechar al máximo su potencial. Para ello, se necesita instalar el complemento vdr-pvr350. Si <c>ivtv-driver</c> no se ha instalado aún, emerge debería insitalarlo automáticamente. Para cargar el módulo ivtv al arrancar el sistema, lo añadiremos a la lista /etc/conf.d/modules:

root #emerge --ask media-plugins/vdr-pvr350
ARCHIVO /etc/conf.d/modules
modules="ivtv"

Decodificación Software: vdr-xineliboutput

Algunos usuarios prefieren usar vdr-xineliboutput, porque también puede funcionar de forma remota. Para configurar vdr-xineliboutput en el servidor y el cliente, seguiremos las siguientes instrucciones. En primer lugar, la configuración del servidor:

root #emerge --ask media-plugins/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.

ARCHIVO /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.

ARCHIVO /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!)

Cuando se utiliza vdr-xineliboutput para ver la imagen en el mismo ordenador que el que está corriendo VDR, es posible continuar con la creación de la lista de canales.

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

root #emerge --ask media-plugins/vdr-xineliboutput

A continuación (después de arrancar VDR) se puede utilizar la orden vdr-sxfe xvdr://nombredeequipo para conectar al VDR y ver su imagen y OSD.

Nota
Existe también un complemento que 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 media-tv/linuxtv-dvb-apps

Encuentre la frecuencia correcta para su región y tipo de recepción su interés. Estos ficheros se almacenan en /usr/share/dvb. Para recepción con DVB-T en Berlin se debería 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, borrar 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

Es una buena idea configurar sus canales. El proyecto VDR proporciona a los usuarios algunos ejemplos que puede encontrar en /usr/share/doc/vdr-analogtv-$version/examples/, siempre que se haya instalado media-plugins/vdr-analogtv-1.0.00-r1 o una versión superior.

Arrancar VDR

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

Si se usó un decodificador hardware para salida de imagen, entonces se podría encender la televisión conectada. Cuando se utiliza salida por software, se debe arrancar el cliente después de VDR.

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

Nota
Para editar la configuración del teclado o (mejor aún) borrarlo para volver a memorizar las teclas, se puede modificar el fichero especial de configuración. 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 existen muchas teclas en el mando a distancia, hay que asegurarse de asignarlas. (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 se ha terminado con la instalación básica, es el momento de configurar VDR. Cambie a la pantalla de salida y siga las instrucciones en pantalla. VDR le pedirá al usuario que pulse varias teclas en el mando a distancia de modo que pueda aprender los códigos correctos de las teclas. Si no se dispone de un mando a distancia se puede utilizar el teclado como alternativa.

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

root #rc-update add vdr default

VDR and Kodi

Enable the vdr-devel overlay

root #eselect repository enable vdr-devel
root #emerge --sync
root #emerge --ask media-plugins/vdr-vnsiserver media-plugins/kodi-pvr-vdr-vnsi

There's a systemd service part of the vdr package, obviously for those using systemd.

root #systemctl start vdr.service

Solución de problemas

Si se necesita ayuda, se puede preguntar a alguien #gentoo-vdr o echar un vistazo en los foros de Gentoo.


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Norman Golisz, Dimitry Bradt, Matthias Schwarzott, Joshua Saddler
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.