Bonjour à tous,
j'ai la chance d'être dans les premiers en vacances et donc je fais des tests.
Objectif : rééecrire pymecavideo en C++ pour gagner en vitesse et facilté de déploiement.
Premier essai :
---> tout Opencv.
Opencv est une bibliothèque haut niveau de intel permettant de gérer les vidéo, qu'elles soient issues d'une webcam ou d'un fichier.
C'est le graal pour pymecavideo :
--> haut niveau -> pas de gestion des codecs
--> filtres de détection (pour automatiser certaines captures)
--> intégration dans qt assez simple
__dans la branche devel__, tout le code pour opencv se situe jusqu'à la révision 354-355
Un gros bug dans opencv n'a pas permis d'aller plus loin : Il est impossible de se déplacer dans la vidéo. Impossible par exemple de dire "va à l'image situé à 4000 ms ou encore, va à l'image N° 67.
Ces fonctions sont implémentées mais non fonctionnelles avec ma version :
[jb@localhost devel]$ rpm -qa | grep opencv
libopencv_flann2-2.2.0-2.mga1
opencv-devel-2.2.0-2.mga1
libopencv_imgproc2-2.2.0-2.mga1
libopencv_video2-2.2.0-2.mga1
libopencv_contrib2-2.2.0-2.mga1
libopencv_highgui2-2.2.0-2.mga1
libopencv_features2d2-2.2.0-2.mga1
libopencv_legacy2-2.2.0-2.mga1
libopencv_core2-2.2.0-2.mga1
libopencv_calib3d2-2.2.0-2.mga1
libopencv_objdetect2-2.2.0-2.mga1
libopencv_ml2-2.2.0-2.mga1
Deuxième essai : Phonon est une partie de Qt (Kde plutôt) qui gère tout ce qui est "média". Il y a a disposition un widget pratique : qvideoplayer qui permet d'afficher une vidéo.
A priori prometteuse, cette solution n'est pas parfaite :
--> obligation d'utiliser un outil tiers pour avoir les "fps". (en l'occurence, j'ai pris opencv ;) )
--> impossibilité de dessiner au dessus d'un videoWidget : bugs d'affichages divers.
-------> hacking obligatoires pour afficher ne serait-ce qu'une échelle : on cache le video widget en ayant pris soit de "grabber" (extraire) l'image dans le widget puis on injecte cette image dans un widget supérieur qui permet de dessiner.
Problème : impossibilité de lire la vidéo et de garder l'échelle visible. Pire : si on veut remettre le widget video au dessus de l'autre, on se heurte à des segfaults sympathiques.
Compte tenu du temps passé et de ce que l'on veut arriver à en faire, pour le moment, je stoppe la partie "phonon". Je vais pas contre essayer opencv en version 2.3.
Je vous tiens au courant sous peu.
Si vous voulez vous amuser... le code est lisible pour la partie phonon à la révision 364 et 365... avant... c'est... du prototypage.
A+
JB
---historique des version :
------------------------------------------------------------------------
r365 | djibb | 2012-04-10 13:57:50 +0200 (mar. 10 avril 2012) | 2 lignes
try to paint scale
------------------------------------------------------------------------
r364 | djibb | 2012-04-10 09:35:21 +0200 (mar. 10 avril 2012) | 2 lignes
code cleaning
------------------------------------------------------------------------
r362 | djibb | 2012-04-09 22:54:44 +0200 (lun. 09 avril 2012) | 1 ligne
playing with compiling
------------------------------------------------------------------------
r361 | djibb | 2012-04-09 21:27:16 +0200 (lun. 09 avril 2012) | 1 ligne
playing with painting pixmap
------------------------------------------------------------------------
r360 | djibb | 2012-04-09 20:27:04 +0200 (lun. 09 avril 2012) | 2 lignes
playing with phonon to make a scale
------------------------------------------------------------------------
r359 | djibb | 2012-04-09 11:14:17 +0200 (lun. 09 avril 2012) | 1 ligne
grab snapshot works
------------------------------------------------------------------------
r358 | djibb | 2012-04-08 22:28:24 +0200 (dim. 08 avril 2012) | 1 ligne
try phonon with success
------------------------------------------------------------------------
r357 | djibb | 2012-04-08 22:06:32 +0200 (dim. 08 avril 2012) | 1 ligne
try phonon with success
------------------------------------------------------------------------
r356 | djibb | 2012-04-08 20:47:00 +0200 (dim. 08 avril 2012) | 1 ligne
try phonon
------------------------------------------------------------------------
r355 | djibb | 2012-04-07 22:32:37 +0200 (sam. 07 avril 2012) | 1 ligne
end of opendc integration, bug due to opencv. Trying phonon
------------------------------------------------------------------------
r354 | djibb | 2012-04-07 18:58:37 +0200 (sam. 07 avril 2012) | 1 ligne
end of opencv integration
------------------------------------------------------------------------
r353 | djibb | 2012-04-07 14:49:26 +0200 (sam. 07 avril 2012) | 1 ligne
integration opencv
------------------------------------------------------------------------
r352 | djibb | 2012-04-07 13:07:42 +0200 (sam. 07 avril 2012) | 1 ligne
open cv integration tests
------------------------------------------------------------------------
r351 | djibb | 2012-04-07 09:59:56 +0200 (sam. 07 avril 2012) | 1 ligne
opencv integration begins
------------------------------------------------------------------------
r350 | djibb | 2012-04-01 21:56:48 +0200 (dim. 01 avril 2012) | 1 ligne
open video file infrastructure
------------------------------------------------------------------------
r349 | djibb | 2012-04-01 21:35:52 +0200 (dim. 01 avril 2012) | 1 ligne
open video file infrastructure
------------------------------------------------------------------------
r348 | djibb | 2012-03-25 21:56:22 +0200 (dim. 25 mars 2012) | 1 ligne
nouvelle version de développement en C++
------------------------------------------------------------------------