Raydium : Vidéo
L’API Live, qui était déjà utilisée dans les démonstrations de réalité augmentée (cf articles précédents) et à nouveau exploitée pour un nouveau module Raydium : le support de la lecture de fichiers vidéo.

http://raydium.cqfd-corp.org/captures/rayLiveVideo.avi (1.8 Mo)
Il est donc possible de mapper une vidéo sur n’importe quel objet 3D, le tout en une seule ligne de code.
Je me suis posé la question du codec vidéo le plus intéressant pour ce besoin qui reste très particulier (streaming depuis le disque, très light en conso CPU, simple à encoder, portable, …) et je suis arrivé une nouvelle fois à la conclusion suivante : do it yourself.
Le codec est donc fait maison, basé sur JPG, son petit nom est "JPGS" et je suis assez satisfait des perfs.
Par exemple, dans la vidéo présentée ici, j’ai utilisé le test de Breed par Nofrag. Le fichier d’origine (AVI/DivX) fait 40 Mo, et en fait 41 une fois transformé en JPGS. La scène rendue sans la vidéo tourne à 86 FPS et 85 avec, sur ma machine de test (GeForce 4 MX/Go), ce qui est très intéressant. La lecture de plusieurs vidéo en simultané est donc tout à fait imaginable, ce qui tombe très bien puisque j’ai créé ce module dans le but original de jouer des fichiers vidéo en fond d’un menu.
Moi, je dis bien joué.
Tu fais vraiment un boulot tres interessant. Chapeau.
Impressionnant ! mais j’ai une question : ta ligne de code, peut elle être placé dans un jeu(n’importe lequel) si on arrive à édité celui ci ? Ce qui permetterait d’intégrer par exemple dans un BF2 ou D3 une video directement depuis le disque dur…voir même un lien vers une TV en streaming directement sur le net ?
Freumble : Absolument pas ! Déjà "éditer" un jeu (désassembler ?), c’est à la limite de l’impossible et de toute facon illégal (sauf SDK pour les mods). Ensuite, Raydium est un moteur de jeu, au même titre que BF2 et D3 utilisent eux aussi des moteurs. Ces moteurs sont concurrents et incompatibles, pour des raisons évidentes.
Je vais donc convaincre Carmack d’utiliser Raydium.
Sympa !
Et pour le son tu as quelque chose de prévu ?
Mathieu: Non. Rien de lié à l’API qui s’occupe de la lecture des fichiers vidéo en tout cas. L’API qui gère le son est capable de streamer des flux OGG/Vorbis depuis le disque, mais dans ce cas aucune garantie de synchro audio/video n’est fournie (surtout que OpenAL 1.0 a tendance à merder sur ce point).
Étant donné que je n’ai pas besoin de cette fonctionnalité pour l’instant, je vais laisser la question ouverte pour de futures évolutions.
bravo, bonne continuation ! :)
Oui, tout ce que tu fais est vraiment interessant, je suis ton blog avec grande attention !
Bonne continuation !
Bravo bravo je trouve cela énormissime. On pourra bientôt regarder des films dans une salle de ciné virtuelle en streaming.
Après les images publicitaires dans les jeux, bientôt les vidéos publicitaires. Merci beaucoup Xfennec!
Sinon j’avais déjà vu ca avec un mod pour half-life 1 et c’est vrai que c’est plutot impressionant la première fois.
Ton travail a la meme approche que ça http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35 ?
Ouep ! La principale nuance, c’est que le format AVI ne me convenait pas (pas portable, pas light au décodage, pas simple [ne pas perdre de vue que AVI est une cage, pas un codec]) pour un usage "sérieux".