Lecteur video opengl

Description

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

LE CODE COMPLET EST ICI : http://perso.wanadoo.fr/funto/CJVVideo.zip

les touches :
-P pour Play/Pause
-B pour mettre en boucle ou pas
-S pour Stop

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

lisez-moi.txt
=============

Comme je n'ai rien trouvé de satisfaisant pour faire de la lecture vidéo (le lecteur de AVI de NeHe n'étant pas portable, et puis y'a beaucoup de trucs que j'aimais pas...), j'ai créé une classe CJVVideo de lecture vidéo (j'ai surtout créé ça pour un projet commun avec AmK, Cf le forum de Coder-Studio - Concours #3 - petit coup de pub :p)).

Le format CJV est en fait un format personnel, que j'ai inventé donc, et qui utilise la compression JPEG. Je n'ai pas fait de compression vidéo (autre que JPEG, je parle des calculs de l'image suivante en fonction de la précédente comme avec les codecs modernes) d'une part parce que c'est trèèèès compliqué et d'autre part parce que je n'en avais pas besoin.

Le code utilise SDL pour le fenêtrage, pour les types (comme Uint32) et pour le timer (SDL_GetTicks()). L'affichage est fait avec OpenGL.
Il faut noter que l'affichage se fait sur une texture (d'ailleurs je redimensionne l'image en utilisant la matrice de texture ^^), ce qui veut donc dire que l'on peut appliquer la vidéo sur un objet 3D, ou rajouter des effets de brouillard, ou un système de particules par-dessus...bref toutes les possibilités qu'offre OpenGL :)

Aussi, comme j'utilise le format JPEG et que celui-ci est très compliqué, j'utilise la libjpeg (une des 2 seules "véritables" libs pr manipuler le JPEG, avec celle d'Intel ^^).
Donc si vous voulez compiler le code, il vous la faudra.
Pour ça, je vous recommande le site de BeLZeL (si vous êtes sous Dev-C++) : http://belzel.free.fr/
Sinon, allez voir du côté de GameTutorials.com, le dernier tutorial sur le chargement de textures JPEG, si vous êtes sous Visual C++.

Je remercie Keirua (alias Cyberboy/CyberKeirua) pour son soutient, BeLZeL pour son aide quant à l'install de la libjpeg, DigiBen (Cf GameTutorials.com) pr le code de chargement d'images JPEG, NeHe pour la vidéo, AmK pr mener le projet dans lequel fait partie ce lecteur avec moi...et puis les membres du forum de Coder-Studio.com pr leur aide et leurs conseils (surtout quand j'étais en galère avec glTexImage2D qui faisait que ça ne marchait que chez moi, merci à tous; Wett, mr-prog, Kirua, Pixel...etc ;)).

UPDATE : et MickaGL pour avoir réussi à me corriger le bug lié à glTexImage2D, 1000 mercis ;)

UPDATE 2 : et re-BeLZeL pour avoir aussi réussi à corriger le bug du timer :)

PS : pour convertir une vidéo de l'AVI vers le format CJV, il vous faut VirtualDub. Explications dans conversion/conversion.txt.

Codes Sources

A voir également

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.