Reproducir video con PyGTK

Arnau Sanchez arnau en ehas.org
Sab Ago 26 02:11:05 CEST 2006


Luis DALLAPICCOLA escribió:

> Ya hace unos días que estoy intentando reproducir un video en algún
> widget de PyGTK y no lo he conseguido.
> Lo más cerca que he estado es reproducir un GIF.
> Por lo que he encontrado/leido debería combinar Python con gstreamer.
> Alguien ha podido hacer algo similar?
> Agradeceré cualquier punta :-P

Tema espinoso... no hay realmente una solución clara:

- Pygame: no es muy recomendable; además de usar la librería SDL (con lo que 
sólo permite una ventana a la vez), las funciones de reproducción de video están 
rotas en las últimas versiones (sin visos de que vayan a arreglarlo).

- Pymedia: Reproductor de audio y video. En su web hay un pequeño ejemplo que 
funciona juntamente con pygame (pymedia.org/tut/src/vplayer.py.html), tendrías 
que adaptarlo a PyGTK. No sé cuán complejo pueda ser este cambio.

- Python-gst (gstreamer): es una librería de bastante bajo nivel, su uso no es 
en absoluto trivial, sólo tienes que darte un paseo para la documentación para 
comprobarlo.

- Mplayer: mi recomendación es que uses mplayer. Sin ser la mejor opción, es de 
largo la más sencilla, llámalo desde tu script con la opción -wid wID y -vo xv 
(para *nix) ó -vo directx (para el innombrable).

(man mplayer)
      -wid <window ID> (also see -guiwid) (X11, OpenGL and DirectX only)
            This tells MPlayer to attach to an existing window.   Useful  to
            embed MPlayer in a browser (e.g. the plugger extension).

Es un engorro tener mplayer como dependencia, pero te compensa el que te asegure 
soporte para prácticamente cualquier formato. Si eso no te convence, yo tiraría 
por pymedia, es una solución más integrada con python y quizá dándole un par de 
vueltas salga algo...

saludos
arnau




Más información sobre la lista de distribución Python-es