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

Soyez le premier à donner votre avis sur cette source.

Vue 12 992 fois - Téléchargée 8 398 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

Messages postés
1
Date d'inscription
vendredi 18 décembre 2009
Statut
Membre
Dernière intervention
19 février 2010

Pourrai tu mettre d'explication pour lancer ton projet svp ??
Car j'ai pas mal d'erreur en essayant de le compilant
Messages postés
1
Date d'inscription
mercredi 10 février 2010
Statut
Membre
Dernière intervention
17 février 2010

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
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
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.
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
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 ?
Messages postés
25
Date d'inscription
samedi 27 août 2005
Statut
Membre
Dernière intervention
13 juillet 2007

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.