# Redirigir salida de mplayer o reproducir sobre X directament

## deadshot

Alguien como se podría reproducir una video sin tener manejador de ventanas (gome,...) es decir directamente sobre las X???

----------

## i92guboj

 *deadshot wrote:*   

> Alguien como se podría reproducir una video sin tener manejador de ventanas (gome,...) es decir directamente sobre las X???

 

Puedes abrir X sin un gestor de ventana, pero necesita al menos un programa que bloquee la sesión. Cualquier terminal o incluso xlock o cualquier cosa servirá. Esto es necesario porque si no X se cerrará. En cuanto cierres dicho programa X se cerrará igualmente.

Si usas un terminal puedes lanzar mplayer desde el mismo. Si no, entonces tendrás que lanzar mplayer desde fuera de las X, en otro vt, usando algo como 

```

DISPLAY=:0 mplayer file.avi

```

Sin embargo, al no usar un wm vas a tener problemas para mantener la ordenación de los programas, no podrás usar capas, ni poner un programa encima del otro a tu voluntad, y además te será imposible cambiar el tamaño de las ventanas (bueno, en realidad no habrá ventanas  :Razz:  ). Es por esto que te recomiendo usar un wm en cualquier caso. Siempre puedes usar algo ligero como fvwm o icewm, hay montones. Si es por las barras de título y los bordes, casi todos te permiten ocultarlos, y también existen los denominados tiling wms, que no usan bordes ni títulos y que permiten controlar de forma más estricta el comportamiento de las ventanas.

----------

## deadshot

weno en principio para hacer pruebas me gustaría sin instalar ningun gestor de peso ligero, para hacerlo desde el mismo terminal según tengo entendido tendría que modificar en el archivo de configuración la variable vo,  he probado a poner vo=fbdev pero me dice : 

Error opening/initializing the selected video_out (-vo) device.

Según he leido en google es un tema de librerias, concretamente "xlibs-dev", pero he intentado emergerlo y no salía...tienes alguna idea al respecto??

gracias.....

----------

## i92guboj

 *deadshot wrote:*   

> weno en principio para hacer pruebas me gustaría sin instalar ningun gestor de peso ligero, para hacerlo desde el mismo terminal según tengo entendido tendría que modificar en el archivo de configuración la variable vo,  he probado a poner vo=fbdev pero me dice : 
> 
> Error opening/initializing the selected video_out (-vo) device.
> 
> Según he leido en google es un tema de librerias, concretamente "xlibs-dev", pero he intentado emergerlo y no salía...tienes alguna idea al respecto??
> ...

 

Para hacer pruebas, yo haría esto:

1.- incluír una línea con solo "xterm" en tu ~/.xinitrc

2.- iniciar X con startx desde línea de comandos

3.- mira si aparece tu xterm, si todo va bien debería salir solo un xterm y nada más

4.- lanza mplayer desde ahí y mira si va

5.- si va, teclea "xhost +" en dicho terminal y cambia a un vt con control+alt+f2

6.- logeate y lanza esto desde dicho vt

```

DISPLAY=":0" mplayer video-file.avi

```

7.- cambia a X de nuevo con control+alt+f7, deberías ver mplayer andando

El tema ahora es. de verdad es tan importante no usar un wm como para que estés dispuesto a hacer todo eso para usar mplayer directamente?

En cuanto a lo que dijistes de fbdev, el driver fbdev es para framebuffer, no para X. Si mplayer te intenta abrir con fbdev, mira que el DISPLAY usado sea el correcto para tu sesión de X y que tengas permisos para acceder a él desde fuera (de eso se encarga el xhost +, pero nótese que ésto es una brecha de seguridad).

----------

## deadshot

ok, funciona todo lo que dijiste....bueno el tema es q prueba videos h264 con una via epia con el terrible driver de openchrome instalado, no quiero wm para ver temas de rendimiento y demas.....

muchas gracias...por tu ayuda....

----------

## i92guboj

 *deadshot wrote:*   

> ok, funciona todo lo que dijiste....bueno el tema es q prueba videos h264 con una via epia con el terrible driver de openchrome instalado, no quiero wm para ver temas de rendimiento y demas.....
> 
> muchas gracias...por tu ayuda....

 

Has probado a usar framebuffer? Es decir... si no vas a usar un wm tampoco hay mucho sentido en usar X, a no ser que la aplicación no tenga forma de funcionar en consola pura. Pero mplayer puede usar fbdev desde consola, pero necesitas tener el framebuffer activado para ello. Creo que vlc también soporta framebuffer.ç

No lo he probado nunca yo mismo...

----------

## deadshot

bueno uso la X pq entiendo que sin wm necesito las X para poder ejecutar una aplicación gráfica....la verdad  que nose muy bien como activar el frambuffer o como usarlo...lo tengo en el kernel interno al kernel no como modulo...con eso esta ya   activado??? si es asi imagino q lo unico q debo hacer es modificar el fichero de configuración del mplayer para framebuffer....aunq creo que puede que me falte alguna librería para el media player o algo asi lei en google....son demasiadas piezas que tienen que encajar!!!!

----------

## i92guboj

 *deadshot wrote:*   

> bueno uso la X pq entiendo que sin wm necesito las X para poder ejecutar una aplicación gráfica....la verdad  que nose muy bien como activar el frambuffer o como usarlo...lo tengo en el kernel interno al kernel no como modulo...con eso esta ya   activado??? si es asi imagino q lo unico q debo hacer es modificar el fichero de configuración del mplayer para framebuffer....aunq creo que puede que me falte alguna librería para el media player o algo asi lei en google....son demasiadas piezas que tienen que encajar!!!!

 

El framebuffer lo activas en el kernel, si. Que esté como módulo o compilado estático en el kernel es lo de menos. No debería importar. Te permite usar gráficos en consola, es lo mismo que usarías para el bootsplash y todas esas chorradas gráficas al inicio. Si lo tienes activo, deberías ver uno o varios nodos de framebuffer en tu /dev/, con "ls -l /dev/fb*".

Mplayer tiene al menos dos formas de usar framebuffer, con fbcon y con directfb. Directfb requiere algún tipo de ajuste antes de poder andar, y no me gusta mucho como maneja las cosas. Con fbcon debería funcionar bien, supongo, pero tampoco tengo experiencia directa con eso. En cualquier caso, está claro que lo primero es asegurarte de que mplayer está compilado con al menos una de dichas use flags.

Mirando esto:

http://gentoo-wiki.com/HOWTO_MPlayer_on_Framebuffer

Al parecer, también soporta svgalib, pero eso es incluso peor. Así que yo probaría con fbdev, que no requiere trabajo extra (siempre que tu framebuffer esté funcionando a nivel de kernel), si no lo consigues, directfb, y svgalib solo como última opción.

----------

## deadshot

weno no consigo echarlo a andar...lo he recompilado con la opcion fbcon como dice en el HOWTO pero al reproducir me dice: The selected video_out device is incompatible with this codec ( he probado h264(480p y un avi normalillo del pianitsta))

y FATAL: Could not initialize video filters (-vf) or video output (-vo)...

probare con los otros a ver....que ventajas me trae el uso de framebuffers para lo que quiero hacer...no acabo de entender que ventajas me reporta...se lo q es..pro no que ventajas o cuando se ha de usarse y demas...

gracias como siempre

----------

## i92guboj

 *deadshot wrote:*   

> 
> 
> probare con los otros a ver....que ventajas me trae el uso de framebuffers para lo que quiero hacer...no acabo de entender que ventajas me reporta...se lo q es..pro no que ventajas o cuando se ha de usarse y demas...
> 
> gracias como siempre

 

LA ventaja es que te ahorras tener que ejecutarlo bajo X. Aún no se muy bien lo que estás intentando. 

El problema de ejecutarlo bajo X, es que no vas a tener forma de manejar el programa, de lanzarlo, ni de controlarlo a no ser que uses un wm. Y el hecho es que si no vas a usar un wm, entonces no se para que quieres X. Es añadir una capa más sin necesidad... Por eso digo lo del framebuffer.

Bajo mi punto de vista, las opciones más sencillas son:

1.- usar framebuffer, en cualquiera de las modalidades

2.- usar X con un wm ligero, que te permita al menos lanzar mplayer sin necesidad de trucos

3.- usar un frontend para mplayer que al menos te permita cargar videos, como kmplayer, al menos de esta forma lo podrás usar para bloquear la sesión de X, que se cerrará al cerrar el programa.

El problema principal, tal y como lo veo, es que es una incongruencia y algo incómodo (y nada práctico) usar X sin wm, y teniendo que usar algo como xterm o xclock para bloquearlo y que no salga inmediatamente, para luego encima tener que usar el truco de DISPLAY desde un vt, y andar cambiando de vt solo para lanzar los videos... No se exáctamente cual es tu idea, quizás hay algo en lo que no nos entendemos.

Si lo que intentas es montar un ordenador solo para ver videos, quizás te convenga usar algo como freevo o similares, y lanzar eso directamente al entrar en X. No se...

----------

## antogc

muchas gracias i92guboj, 

el tema es realmente ese, estoy probando el hacer con mi equipo una especie de reproductor de video,  al que finalmente insertare algun menu para selección de fuentes y eso....la idea de mi prueba inicial es conseguir el menor consumo posible, dado que mi máquina no es potente...y para video h264 (640x480) ya va poco apretado.l....no obstante es todo un poco experimental....no me hagas mucho caso....

te iré comentado el resultado de mis pruebas...

gracias!

----------

## deadshot

vaya lo siento he usado el pc de un amigo para mirar el foro y he contestado estando logado el....espero q no se de cuenta jejeje....

gracias.

----------

## Inodoro_Pereyra

Lo que estas tratando de hacer es lo mismo que hace geexbox, mplayer sobre framebuffer, sin servidor X:

http://www.geexbox.org/

Salud!

----------

## antogc

pues si mas o menos...pero solo a modo de prueba no pretendo hacer nada en concreto....simplemente experimentar...

gracias!

----------

## Darksidex25

Si tienes una nvidia puedes usar esto: http://www.mplayerhq.hu/DOCS/HTML/en/vidix.html#vidix-nvidia

Yo tengo una FX5200 de 128Mb, y he solido ver avis normales desde consola, sin fb ni nada de nada, pero tampoco recuerdo haberlo hecho con ese -vo (también hay que decir que mi memoria es como la ram, volátil). Eso sí, siempre me ha supuesto un problema parar la ejecución del vídeo, y se veía también todo el texto del terminal (aunque desplazándome a otra tty el problema se "solucionaba" porque solo se veían dos líneas de texto).

No sé si es eso lo que quieres hacer. Yo lo he hecho para probar que se podía, y a veces, o cuando he entrado en modo consola, me he puesto a hacer un emerge -uDN world de los gordos, y me aburría, para ver algo.

----------

## ekz

 *Darksidex25 wrote:*   

> Si tienes una nvidia puedes usar esto: http://www.mplayerhq.hu/DOCS/HTML/en/vidix.html#vidix-nvidia
> 
> 

 

Me aparece "sin video" cuando intento reproducirlo  :Very Happy: 

Pero leyendo esa página, me puse a probar comandos y a leer el man de mplayer y obtuve resultados   :Very Happy:  :

```
mplayer -vo fbdev -fs -zoom -xy 1280 video.avi
```

Con eso reproduzco videos en una consola con framebuffer, a pantalla completa, con subtítulos y todo   :Very Happy: 

Saludos

EDIT: Recompilando Mplayer con la use vidix

EDIT2: No puedo, aparece (-vidix)   :Sad: 

EDIT3: Edité /usr/portage/profiles/default-linux/amd64/use.mask para quitar el bloqueo de esa use   :Twisted Evil: , ahora compilando

EDIT4: Error abriendo el dispositivo de salida de video  :Crying or Very sad: , me quedaré con fbdev

----------

