Módulo xine

De VdrWiki

Tabla de contenidos

Descripción

El plugin xine es un front-end para VDR, lo que significa que realiza la misma función que los módulos xineliboutput y softdevice. Soporta OSD y mostrar video con un buen soporte de desentrelazado.

Info
Información

IMPORTANTE: Tenemos que elegir qué plugin usaremos como front-end, entre softdevice, xineliboutput o xine (que estamos describiendo aquí)

Pendiente

Este plugin está sin documentar, pero voy a añadir una notas sobre la activación de XvMC junto con mi tarjeta NVidia en XINE-LIB para que queden documentadas aquí o en otro sitio más tarde.


Salidas de Video de Xine

Xine soporta (a través de xine-lib) muchas salidas de video, aunque el número de salidas que te ofrecerá dependerá del hardware, librerías y drivers de tu equipo así como la configuración de XWindow.

Veamos un ejemplo. En mi equipo dedicado a VDR donde tengo una tarjeta NVidia GeForce 6800 LE las opciones de salida de video de Xine son

$ xine --list-plugins
[..]
  -Video output:
    aadxr3, dxr3, xv, opengl, aa, xshm, xxmc, none, sdl, vidixfb, vidix, fb, xvmc.

Veamos a continuación cómo activar ciertas configuraciones.

XvMC y NVidia

Originalmente utilizaba xv (de XVideo), pero quiero pasar a usar xvmc (de XVideo-MotionCompensation) que hace posible delegar al hardware de la tarjeta NVidia la decodificación MPEG2, reduciendo el consumo de CPU. Una vez que consigua tener XvMC funcionando entonces pasaré al siguiente reto, XXMC (de Extended XVideo Motion Compensation) y NVidia.

Para que XvMC funcione es necesario que la tarjeta gráfica lo soporte y que el driver usado en X también incluya soporte para XvMC. Una forma de comprobarlo es:

$ xdpyinfo | grep XVideo
   XVideo                       <== Soporta 'xv'
   XVideo-MotionCompensation    <== Soporta 'xvmc'

El siguiente paso es compilar xine-lib de modo que detecte la librería de XvMCNVIDIA. En mi caso no detectaba la librería por lo que tuve que añadir lo siguiente a 'configure':

./configure --with-xvmc-lib=XvMCNVIDIA --with-xvmc-path=/usr/X11R6/lib

A continuación es recomendable retocar la configuración, tanto en el fichero setup.conf como en $HOME/.xine/config


/vdr/setup.conf:
xine.autoPrimaryDeviceMode = autoPrimaryDeviceOn
xine.modeLiveTV.prebufferFrames = 8
xine.muteMode = muteSimulate
xine.osdGammaCorrection = 123
xine.osdMode = osdBlendClipped
xine.transparencyMode = transparencyOn
xine.volumeMode = volumeChange
~/.xine/config
audio.driver:esd
audio.device.alsa_front_device:default
audio.volume.remember_volume:1
video.driver:xxmc
video.device.xvmc_bob_deinterlacing:1
video.device.xvmc_more_frames:1
video.device.xvmc_nvidia_color_fix:1
video.output.xv_deinterlace_method:none
engine.performance.memcpy_method:mmxext

Problemas pendientes

OSD no me funciona al utilizar xvmc.

XXMC y NVidia

Partiendo de la documentación en: http://cvs.sourceforge.net/viewcvs.py/xine/xine-lib/doc/README_xxmc.html?rev=1.3

Recompilé xine-lib utilizando:

 ./configure --with-xvmc-lib=XvMCNVIDIA --with-xvmc-path=/usr/X11R6/lib   \
             --with-xxmc-lib=XvMCNVIDIA --with-xxmc-path=/usr/X11R6/lib


Y ahora arranco Xine con la opción '-V xxmc', de modo que [OSD] funciona correctamente, incluso puedo hacer capturas de pantalla (mediante [GRAB]) con o sin OSD. La ventaja que observo es que el consumo de CPU se reduce notablemente.



--Luis 21:29 28 mar, 2006 (CEST)

Herramientas personales