Extraction des images d'une vidéo
Résolu/Fermé
e29
Messages postés
57
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
22 juin 2006
-
19 avril 2006 à 09:44
Indria - 1 juin 2009 à 14:28
Indria - 1 juin 2009 à 14:28
A voir également:
- Extraction des images d'une vidéo
- Comment télécharger une vidéo youtube - Guide
- Couper une video - Guide
- Ralentir une video iphone - Guide
- Montage video windows - Guide
- Comment mettre une vidéo sur powerpoint - Guide
22 réponses
Luffy =)
Messages postés
365
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
19 mai 2006
109
19 avril 2006 à 14:39
19 avril 2006 à 14:39
Bonjour !
J'ai regardé sur le lien que tu donnes, et l'auteur met qu'il faut inclure vfw32.lib à ton projet, tu l'as bien fait ?
Et quel est le problème ? le programme ne compile pas ? dans ce cas quelle erreur vc++ met-il ?
J'ai regardé sur le lien que tu donnes, et l'auteur met qu'il faut inclure vfw32.lib à ton projet, tu l'as bien fait ?
Et quel est le problème ? le programme ne compile pas ? dans ce cas quelle erreur vc++ met-il ?
e29
Messages postés
57
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
22 juin 2006
19 avril 2006 à 15:09
19 avril 2006 à 15:09
Merci d'avoir répondu.
En fait je n'ai pas de faute à la compilation, j'ai toutes les librairies qu'il faut.
Il doit y avoir un autre problème. Si j'affiche les résultats j'obtiens res=-2147221164 et avi=0
Au début du code on a:
if(res!=AVIERR_OK)
{
//an error occures
if (avi!=NULL)
....
return FALSE;
}
C'est cette partie qu'il ne passe pas car je crois que AVIERR_OK=0 et ici res est différent de 0 ce qui entraine une erreur apparrement.
En fait je n'ai pas de faute à la compilation, j'ai toutes les librairies qu'il faut.
Il doit y avoir un autre problème. Si j'affiche les résultats j'obtiens res=-2147221164 et avi=0
Au début du code on a:
if(res!=AVIERR_OK)
{
//an error occures
if (avi!=NULL)
....
return FALSE;
}
C'est cette partie qu'il ne passe pas car je crois que AVIERR_OK=0 et ici res est différent de 0 ce qui entraine une erreur apparrement.
e29
Messages postés
57
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
22 juin 2006
19 avril 2006 à 15:16
19 avril 2006 à 15:16
Peut-être que je ne fais pas correctement l'appel à ma vidéo dans mon main?
Luffy =)
Messages postés
365
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
19 mai 2006
109
19 avril 2006 à 15:33
19 avril 2006 à 15:33
donc c'est la fonction AVIFileOpen() qui ne fonctionne pas. Es-tu sur du chemin de ta vidéo ? Tu as testé le retour de GetLastError() ?
Sinon tu peux aller voir ici, la fonction est documentée sur la msdn :
https://docs.microsoft.com/en-us/
ils donnent les code de retour de la fonction, teste ta variable res pour voir si elle correspond à qq chose.
Sinon tu peux aller voir ici, la fonction est documentée sur la msdn :
https://docs.microsoft.com/en-us/
ils donnent les code de retour de la fonction, teste ta variable res pour voir si elle correspond à qq chose.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Luffy =)
Messages postés
365
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
19 mai 2006
109
19 avril 2006 à 15:42
19 avril 2006 à 15:42
Bon je viens de finir de tester son code, et moi il passe bien l'ouverture du fichier. Par contre il plante après... mais il l'ouvre bien !
J'ai mis les 2 fonctions qu'il y a dans l'article dans mon cpp, avant le main. J'ai fait qq modif car vc++ 2005 ne voulait pas le compiler, et puis ça roule !
J'ai mis les 2 fonctions qu'il y a dans l'article dans mon cpp, avant le main. J'ai fait qq modif car vc++ 2005 ne voulait pas le compiler, et puis ça roule !
e29
Messages postés
57
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
22 juin 2006
19 avril 2006 à 15:49
19 avril 2006 à 15:49
J'ai changer un peu mon main , j'ai mis un .avi après le nom de ma vidéo:
int main()
{
ExtractAVIFrames(camera_capture.avi);
return 0;
}
J'obtiens alors un res=0 et le programme à l'air d'être parcouru entièrement. Mais ça ne me donne toujours rien car il faut surement donner un chemin pour que le prog sache où stocker les images et ça je ne vois pas comment faire.....
int main()
{
ExtractAVIFrames(camera_capture.avi);
return 0;
}
J'obtiens alors un res=0 et le programme à l'air d'être parcouru entièrement. Mais ça ne me donne toujours rien car il faut surement donner un chemin pour que le prog sache où stocker les images et ça je ne vois pas comment faire.....
Luffy =)
Messages postés
365
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
19 mai 2006
109
19 avril 2006 à 16:07
19 avril 2006 à 16:07
Les images sont stockées dans le répertoire où est lancé l'exécutable (debug ou release), ou alors dans le répertoire de la solution même.
Moi ça n'a pas l'air de marcher, le nom des fichiers est mal fait. Il n' a pas l'air d'aimer les CString...
Moi ça n'a pas l'air de marcher, le nom des fichiers est mal fait. Il n' a pas l'air d'aimer les CString...
Luffy =)
Messages postés
365
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
19 mai 2006
109
19 avril 2006 à 16:16
19 avril 2006 à 16:16
Ok, moi ça fonctionne, j'ai changé le nom de CString en char*, et ça roule, sauf que l'image est décalée vers la gauche... Mais ça crée bien les fichiers. Tu as réussi à les trouver ?
e29
Messages postés
57
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
22 juin 2006
19 avril 2006 à 16:23
19 avril 2006 à 16:23
Non, pas du tout...je ne sais pas où aller voir, je ne maitrise pas bien VC++
Luffy =)
Messages postés
365
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
19 mai 2006
109
19 avril 2006 à 16:29
19 avril 2006 à 16:29
Dans la fonction CreateFromPackedDIBPointer(), tu verras il y a un moment où le nom des fichiers sont déclarés :
Tu n'as plus qu'à changer la deuxième ligne pour mettre le chemin que tu veux, par exemple :
Pour qu'ils soient à la racine c:\ (attention il faut bien mettre deux "\\" car ce sont les caractère sd'échappement !)
voilà =)
CString FileName; FileName.Format("Frame-%05d.bmp", iFrame); FILE* fp=fopen(FileName, "wb");
Tu n'as plus qu'à changer la deuxième ligne pour mettre le chemin que tu veux, par exemple :
FileName.Format("c:\\Frame-%05d.bmp", iFrame);
Pour qu'ils soient à la racine c:\ (attention il faut bien mettre deux "\\" car ce sont les caractère sd'échappement !)
voilà =)
e29
Messages postés
57
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
22 juin 2006
19 avril 2006 à 16:33
19 avril 2006 à 16:33
Ca marche!! Vraiment un grand grand merci à toi!!
Luffy =)
Messages postés
365
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
19 mai 2006
109
19 avril 2006 à 16:36
19 avril 2006 à 16:36
Mais de rien !
Par contre tes images elles sont bien ? elles ne sont pas décalées ? je viens d'essayer avec une autre et l'image est toujours décalée (d'ailleurs ce n'était pas à gauche mais à droite) :-S
Par contre tes images elles sont bien ? elles ne sont pas décalées ? je viens d'essayer avec une autre et l'image est toujours décalée (d'ailleurs ce n'était pas à gauche mais à droite) :-S
e29
Messages postés
57
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
22 juin 2006
19 avril 2006 à 16:41
19 avril 2006 à 16:41
Eh bien non, les miennes ne sont pas décalées, tout à l'air normal ...
c'est étrange
c'est étrange
Luffy =)
Messages postés
365
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
19 mai 2006
109
19 avril 2006 à 16:44
19 avril 2006 à 16:44
Ben bon tant mieux pour toi, et pas vraiment tant pis pour moi, car à vrai dire je n'en pour l'instant pas besoin du tout, je le garde quand même sous la main au cas où !
c'est peut-être une histoire de codecs, je n'en ai aucun d'installer sur ce pc là, mais windows media player le lit très bien...
Enfin bref, content d'avoir pu t'aider !
++
c'est peut-être une histoire de codecs, je n'en ai aucun d'installer sur ce pc là, mais windows media player le lit très bien...
Enfin bref, content d'avoir pu t'aider !
++
e29
Messages postés
57
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
22 juin 2006
19 avril 2006 à 16:45
19 avril 2006 à 16:45
Je t'embête encore un peu... est-ce que tu connais la fonction de C qui permet de lire toutes ces images les unes après les autres. En fait j'applique un traitement sur une image qu'il va falloir que j'étende à toutes les images que je viens de récupérer. Donc il me faut les appeler, une sorte de fopen mais pour 500 images quoi!!
Luffy =)
Messages postés
365
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
19 mai 2006
109
19 avril 2006 à 17:34
19 avril 2006 à 17:34
Si tu utilises les MFC, tu peux aller voir du côté de la classe CFileFind, qui te permettra de lister les fichiers d'un répertoire facilement, donc de les ouvrir dans un while(), sans te préoccuper de la recherche.
lien sur la msdn : https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/3h3beets(v=vs.100)?redirectedfrom=MSDN(VS.80).aspx
bon courage ++
lien sur la msdn : https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/3h3beets(v=vs.100)?redirectedfrom=MSDN(VS.80).aspx
bon courage ++
e29
Messages postés
57
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
22 juin 2006
20 avril 2006 à 09:07
20 avril 2006 à 09:07
Merci pour ton aide en tout cas!! A+
salut e29,
je travaille actuellement sur le meme code que toi (extraction d'images ....) je n'arrive pas à compiler le code ,je me demande si la librairie est bien intégré à mon projet .pourrai tu m'aider à faire fonctionner ce programme ?
ce n'est qu'une partie du projet que j'ai à faire ;j'utilise VC++ 2003.
merci d'avance.
seb
je travaille actuellement sur le meme code que toi (extraction d'images ....) je n'arrive pas à compiler le code ,je me demande si la librairie est bien intégré à mon projet .pourrai tu m'aider à faire fonctionner ce programme ?
ce n'est qu'une partie du projet que j'ai à faire ;j'utilise VC++ 2003.
merci d'avance.
seb
En fait les erreurs générés se trouvent (d'après le compilateur) sur les fichiers Vfw.h ,MMsystem.h... moi pas comprendre ;est ce que quelqu'un pouvoir m'aider ?
seb
seb
Salut je me permet de deterrer ce post tres interressant car j'ai un probleme avec le meme code! le code semble fonctionner cependant aucune traces des fichiers bmp créé sur mon disque dur... étrange! qq'un a une idée?
salut jim,
j'ai le meme probleme ; le programme compile correctement meme le code semble fonctionner cependant aucune traces des fichiers bmp créé sur mon disque dur .
est ce que tu as trouvé une solution ?
est ce qu'il y a qu'un à réussie a le faire fonctionné et il peut m'aider à identifier le probleme?
j'ai le meme probleme ; le programme compile correctement meme le code semble fonctionner cependant aucune traces des fichiers bmp créé sur mon disque dur .
est ce que tu as trouvé une solution ?
est ce qu'il y a qu'un à réussie a le faire fonctionné et il peut m'aider à identifier le probleme?