Accueil » Python » Forums Python » Forum général Python » Traitement video sous python, avec pygtk

 question Traitement video sous python, avec pygtk

Document Actions
Réponses: 9   Visites: 0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

question Traitement video sous python, avec pygtk

Posté par loupmagic le 10/03/2008 04:40
Bonjour à tous et à toutes.

Voilà un sujet bien épineux. Le net regorge d'information, mais là... le néant.
Je suis développeur qui contribue à l'enrichissement de python, et je suis axé particulièrement sur l'utilisation de la Gui pygtk.
Mon problème est le suivant :

Je dois réaliser une application de traitement vidéo. Je voudrais donc à la fois lire la vidéo, mais réussir à extraire la frame actuelle de la lecture, tout en donnant la possibilité à l'utilisateur d'accélerer la navigation globale(à travers un seek donc).

La référence est pymédia...
Mais voilà, leur documentation est frustrante...Elle se contente uniquement de renvoyer vers des exemples tout fait, où on ne comprends même pas à quoi correspond telle ou telle fonction, exempté de commentaire explicite... Je n'ai pas trouvé d'application l'utilisant, qui aurait pu être bon à étudier.

J'en reviens donc à vous demander de l'aide.
Dans un premier temps, existeraient-ils des tutoriaux/applications que j'aurais raté ?
Puis, comment embarquer la vidéo avec pygtk(car pymedia utilise pygame pour l'afficher) ?
Sinon, existe t-il une librairie de traitement video équivalente(supportant le format vob) ?

Apparement j'ai peut être comme solution d'utiliser pyffmpeg, mais je me vois mal extraire temporairement toutes les frames du film pour les assembler par la suite (processus long et couteux en espace).
Qu'en pensez-vous ?
J'attends avec impatience vos précieux conseils.
Merci d'avance pour votre aide.

loupmagic.

star Re: Traitement video sous python, avec pygtk

Posté par loupmagic le 10/03/2008 04:53
(Quelques minutes plus tard)

Re-bonsoir,

Voilà je viens de trouver quelque chose de très interressant!!
http://pygstdocs.berlios.de/pygst-tutorial/playbin.html
Un player, utilisant le module pygst(gstreamer), avec une VRAIE documentation :)
Je vous tiens au courant, mes recherches sont focalisés sur ca, sachant que l'exemple utilise la gui pygtk!

N'hésitez pas à faire parts de vos remarques!

Merci.

 • Re: Traitement video sous python, avec pygtk

Posté par loupmagic le 16/03/2008 15:37
Re-bonjour à tous.

J'ai eu des problèmes avec le module pygst.
Bien qu'il soit relativement simple d'utilisation, ce qui permet de comprendre rapidemment son fonctionnement, il supporte mal le mpeg2 lorsque j'utilise les fonctions de "rewind" et "forward", c'est à dire pouvoir se deplacer dans la vidéo.

Quelqu'un aurait une piste ? D'autres modules de gestion vidéo?

sad Re: Traitement video sous python, avec pygtk

Posté par loupmagic le 24/03/2008 18:48
Petit up. Personne n'a d'idée ?

Je suis en train d'étudier un player : pygme.
Sur la page officielle d'mplayer il est écrit :
Pygme : Python/PyGTK MPlayer frontend written with audio and video songs in mind complete with media library and playlist support.

J'espère que ca me saura utile. Je vous tiens au courant.

 • Re: Traitement video sous python, avec pygtk

Posté par ccomb le 24/03/2008 19:08
Bonjour !

le projet a l'air intéressant, ça pourrait (devrait!) même faire l'objet d'une présentation aux Journées Python en mai. Tiens-nous au courant de tes essais, et si tu trouves le temps de préparer quelques slides sur le sujet :)

 • Re: Traitement video sous python, avec pygtk

Posté par loupmagic le 28/03/2008 22:28
Rebonjour.

Je reviens après une petite absence. Concernant mon problème, j'ai finalement trouvé une méthode. Voilà donc un petit compte rendu :

L'utilisation des librairies(comme pymedia, pygst...) s'est révélé être un echec, en effet, le premier problème rencontré était le manque de documentation, puis vient l'instabilité de ces dernières(impossible de seek correctement la vidéo, impossible d'integrer avec la gui que j'utilise : pygtk, ...etc).

Comme solution j'ai opté d'embarquer "mplayer" complétement et directement dans mon programme. C'est la meilleure solution dans mon cas! Comment ai-je procédé ? J'ai utilisé une socket, qui va pluggé complétement mplayer.
J'ai ensuite demander à mplayer d'utiliser l'id attribué à ma socket(il dispose d'une option-widtout faite pour les Gui qui veulent l'embarquer. Il s'attache donc à l'id donné, dans mon programme).

Et pour le controler, j'utilise son mode slave. J'ai donc écris une classe qui s'occupe de créer un tube et de lui passer des commandes(pause, avancer, seek précis...etc...etc).

Comme celà n'est documenté nulle part, j'écrirai très prochainnement un code source(sur codes-sources, je le linkerai à ce topic), pour montrer la lecture de 4vidéo simultané).

Pour finir je dirais à tous ceux qui planchent sur des problèmes, il ne faut jamais désespérer, car en programmation(surtout avec python :p) il y a 1000moyens d'arriver à nos fins!

Cordialement.

 • Re: Traitement video sous python, avec pygtk

Posté par loupmagic le 01/04/2008 11:55
Bonjour,

Comme promis, j'ai up ma source qui donne la possiblité de lire jusqu'à 4vidéos simultanément.

Voici le lien vers la source(vous y trouvrez un screen) :
http://www.pythonfrance.com/codes/PYGTK-LECTEUR-MULTI-VIDEO-EMBARQUANT-MPLAYER-GRACE-ID_46254.aspx

Vos critiques sont les bienvenues!

A bientôt, pour un nouveau "problème", et une nouvelle source :d

 • Re: Traitement video sous python, avec pygtk

Posté par loupmagic le 02/04/2008 10:20
Ah j'oubliais, pour répondre à ccomb :

Pygme est un gestionnaire de piste audio en réalité, et pour lire la vidéo il utilise simplement mplayer(mais sa ouvre une nouvelle fenêtre).
Ce qui n'était pas ce que je recherché :/

Dans le même style que pygme, on pouvait retrouver zapette.py(un programme sur blog de devloop), et quelques autres...etc
Voilà bye!

 • Re: Traitement video sous python, avec pygtk

Posté par sebian le 22/04/2008 17:24
Bonjour,
j'ai également les mêmes besoins de visualisation de traitement fin de la vidéo.

J'ai donc réalisé le même parcours et je suis entièrement d'accord avec toi au sujet de pymedia and co ... dommage.

Tu peux également jeter un oeil sur le bindings python sous VLC.
http://wiki.videolan.org/Python_bindings

C'est utilisé dans le projet Advene http://liris.cnrs.fr/advene/download et qui fonctionne assez bien.

Merci pour le script Mplayer, je vais regarder ca attentivement.

 • Re: Traitement video sous python, avec pygtk

Posté par harobed le 22/04/2008 22:07
loupmagic wrote:
Re-bonjour à tous.

J'ai eu des problèmes avec le module pygst.
Bien qu'il soit relativement simple d'utilisation, ce qui permet de comprendre rapidemment son fonctionnement, il supporte mal le mpeg2 lorsque j'utilise les fonctions de "rewind" et "forward", c'est à dire pouvoir se deplacer dans la vidéo.

Quelqu'un aurait une piste ? D'autres modules de gestion vidéo?


Je viens de faire un test avec pygst est une vidéo mpeg2, je n'ai constaté aucun problème au niveau des fonctions "rewind" et "forward". J'utilise gstreamer 0.10