Lecteur video opengl (son et image) avec la lib vfw

Soyez le premier à donner votre avis sur cette source.

Vue 13 289 fois - Téléchargée 8 426 fois

Description

une classe qui permet d'utiliser facilement une video en openGL.
elle gère le son(grace à fmod) et l'image.
elle est basée sur vfw(donc seulement sous windows malheureusement)

j'ai aussi créé un tutorial expliquant le fonctionnement de vfw(son et image) : http://killingskill.ke0.eu/index.php?page=tuto&tuto=video (un .zip contenant le .exe est disponible egalement sur cette page)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
bigibibi63 Messages postés 1 Date d'inscription vendredi 18 décembre 2009 Statut Membre Dernière intervention 19 février 2010
19 févr. 2010 à 00:16
Pourrai tu mettre d'explication pour lancer ton projet svp ??
Car j'ai pas mal d'erreur en essayant de le compilant
charminal Messages postés 1 Date d'inscription mercredi 10 février 2010 Statut Membre Dernière intervention 17 février 2010
17 févr. 2010 à 18:02
Voila j'ai créé une projet vide en application console pour y mettre ton code, j'ai donc placé les .cpp et les .h, mis a jour les liens vers fmod etc...

Maintenant a ma compilation j'ai deux erreurs qui s'affichent:

videoavi.cpp(24) : error C2664: 'AVIStreamOpenFromFileW' : impossible de convertir le paramètre 2 de 'char *' en 'LPCWSTR'
1> Les types pointés n'ont aucun rapport entre eux ; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction

videoavi.cpp(26) : error C2664: 'AVIStreamOpenFromFileW' : impossible de convertir le paramètre 2 de 'char *' en 'LPCWSTR'
1> Les types pointés n'ont aucun rapport entre eux ; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction

c'est donc le nom de mon .avi qui n'est pas accepté. j'ai pourtant renomé mon .avi "test.avi" je l'ai placé dans un dossier "data" que j'ai mis dans mon répertoire de projet. et j'appelle video.load("data/test.avi")

dans les propriétés du projet, est-ce que je doit ajouter un lien de ressources pour la vidéo ou quelque chose du genre? j'arrive pas à trouver de solution.

(je suis sous VC++ 2008 sous Windows)

PS: j'ai essayé l'exécutable avec ma vidéo et j'obtiens un fond carré blanc sur un fond noir comme dans un des commentaire précédent.

Merci d'avance pour l'aide
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 10
10 mars 2007 à 22:04
salut, je passe juste rapidement sur ta source, pour te dire que je trouve dommage que tu utilises VFW pour lire les vidéos en le complant avec OpenGL.
tu pers alors al portabilité d'OpenGL. De plus en passant directement par les API Win ton appli gagnerai en performance.
voila enfin c'est juste ce que je voulais signaler car pour etre franc, je n'est meme pas regarder ta source.
voila, bonne continuation.
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
26 févr. 2007 à 18:17
Slt Arnaud
Je vois que tu utilises glTexture2D, c'est une très mauvaise idée...
Déjà je vois que tu ne fais rien si la vidéo n'est pas de côté puissance de 2, d'où peut-être le bug ... Tente d'utiliser l'extension des textures rectangulaires si le hardware le supporte au runtime; sinon tu as deux solutions , soit tu la crée dans une plus grande, soit tu redimentionnes mais c'est carrément barbare... au pire de chez pire, gluBuildMipmaps
Oui donc pour glTexture2D ça recrée une texture à chaque fois, c'est assez lent, il vaut mieux mettre à jour celle préexistante, google la spec sur glUpdateSubTex ou un truc comme ça ( au pire je te dirai ce soir, ou MP sur coder-studio )

C'est bien fluide partout ? pas de pb de perfs ?
delfare Messages postés 25 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 13 juillet 2007
25 févr. 2007 à 17:01
si tu as des videos qui ne fonctionnent pas, est-ce que tu peux me les envoyer pour que je puisse tester?
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.