Journal Les démos saibien, mangez en (surtout quand c'est libre)

Posté par  (site web personnel) .
Étiquettes : aucune
0
13
août
2003
Mon journal,

Voila, aujourd'hui je me suis mis en tête de transformer l'invite de la VIP2 party (oui c'est assez vieux, ca date de l'an 2000) en un fichier AVI, pour etre facilement lisible (des fois que des rebelles aient toujours des matrox millemium en guise de carte graphique :-)

Le résultat en 640x480 en poussant XviD à fond était super beau, mais pas uploadable sur Free (200MB pour 3min30 de démo). J'ai donc réduit par 2 la taille et divisé par 8 le bitrate... bon c'est franchement moins beau, mais c'est regardable donc voici l'adresse:

http://ed.gomez.free.fr/vrac/vip2-320x240.avi(...)

Pour les curieux du "comment t'as fait?":
1/ J'ai pris les sources là: http://www.sesse.net/vip2-linux/(...)
2/ J'ai collé l'initialisation d'XviD dans le wrapper opengl Sources/glwindow.cpp, ainsi que le grab de la frame en BGR 24bits et sa compression par XviD (ca fait pas grand chose, au plus 200 lignes eparpillées).
3/ Pour assurer un bitrate constant de 25fps, j'ai traficoté leur objet ClockU3D pour qu'il soit incrémenté d'1/25eme de seconde a chaque glXSwapBuffer
4/ J'ai intégré avilib.c qu'on trouve dans transcode afin de sortir du XviD encapsulé dans du AVI (plus pratique pour la suite)
5/ J'ai rajouté 13s de silence a la fin du track son (la demo visuelle est plus longue que le track audio, et le code original prenait soin de rajouter ce silence)
6/ Puis viennent les moments de plaisirs ou on peut mettre le Full screen anti aliasing à fond et les textures anisotropiques a fond (on s'en fout que ce soit lent, le rendu a pas à etre en temps reel) et lancer la démo, qui va alors gentillement et patiemment générer le fichier Vidéo sans son.
7/ Puis on multiplexe le track audio et la vidéo obtenue... et on prie pour que ce soit synchro... merci transcode.
8/ Et voilà :-)

Si j'ai un peu de courage je publierai le patch et un petit Topo sur mon site.
  • # Re: Les démos saibien, mangez en (surtout quand c'est libre)

    Posté par  . Évalué à 1.

    Je l'avais déjà vue il y'a quelques temps, mais elle est toujours bien jolie. :)

    Cela dit, je me demandais: combien de temps ça t'a pris (encodage non compris) pour mettre la bidouille en place?
    • [^] # Re: Les démos saibien, mangez en (surtout quand c'est libre)

      Posté par  (site web personnel) . Évalué à 7.

      En dehors du temps passé à boire (de l'eau), et à tenter de trouver un coin de ma chambre un peu moins chaud (34°C, fenêtre orienté plein SUD -- AÏE)...

      J'ai environ mis 3 heures sans trop forcer. Le plus chiant c'est de se plonger dans le code source, car il faut trouver l'endroit le plus pratique où insérer le code de sortie vers le fichier AVI. Puis bon, cette démo était bien conçue[1], dans la mesure où le rendu dépendait d'une horloge unique (et non du nombre de frames rendues), donc obtenir un framerate de 25fps contant a été plutôt facile (si ce n'est réussir à trouver le code précis encore une fois, et vérifier que tu casses rien au passage puisque tout dépend de cette unique horloge).

      Après j'ai dû batailler pour réinsérer le track son (trop court, ralongé grace à audacity -- premier soft qui m'est venu à l'esprit -- puis j'ai dû le traficoter pour virer les entetes qui plaisaient pas a transcode)... enfin rien de compliqué, mais fallait le faire :-)

      Sinon pour l'encodage, le rendu/encodage initial (640x480) se faisait à 4/3 de temps réel donc, en environ 5 minutes j'avais l'AVI sans piste audio. Rajouter le track audio c'est une question de 30s... pour finir fallait le réencoder en 320x240, quelques minutes aussi.

      [1] le code est quand même un peu cracra.
  • # Re: Les démos saibien, mangez en (surtout quand c'est libre)

    Posté par  (site web personnel) . Évalué à 2.

    Amis débiannistes, je profite de cette occasion pour rappeller l'adresse des paquets :

    deb http://doh.planet-d.net/debian/sid/(...) ./
    deb-src http://doh.planet-d.net/debian/sid/(...) ./

    Une démo se matte en temps réel, sinon c'est mal (tm) !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.