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.
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)

