Pour ce qui est de la méthode, j'ai naturellement préparé un scénario avec le script chronométré correspondant, et après quelques répétitions, j'ai enregistré séparément la bande video puis la bande audio avant de mixer le tout. Pour ce qui est de la technique, ma principale source d'inspiration provient d'un billet du blog de Jeff Cobb et de la très bonne documentation d'Ubuntu.

Capture Video

Tout d'abord, l'outil Record my desktop permet d'enregistrer la partie purement video. Bien entendu, pour avoir une chance de pouvoir y ajouter la bande son plus tard, il faut se débrouiller pour respecter le chronométrage du script.

Le fichier de sortie obtenu est un .ogg.Comme ce format n'est pas le plus répandu, notamment sur certains systèmes d'exploitations concurrents, on s'empresse de convertir la video en .avi
Pour ce faire, on peut utiliser le convertisseur mencoder :

mencoder demo.ogg -o demo.avi -oac mp3lame -ovc lavc

demo.ogg est le fichier à convertir et demo.avi le fichier résultant de la conversion.

Capture Audio

Il reste à enregistrer la bande son. L'enregistreur de base de la distribution Ubuntu est suffisant pour réaliser la capture et obtenir ainsi un fichier .wav

Mixage

En théorie, comme on a scrupuleusement respecté le timing en enregistrant la video et que l'on a gardé exactement le même timing lors de l'enregistrement audio, le mixage est un jeu d'enfant ! En pratique, il va falloir synchroniser la video avec la bande son. Pour ma part, j'ai préféré ne pas toucher à la bande son mais jouer uniquement sur l'enregistrement video, en raccourcissant ou au contraire en rallongeant des parties (les plus attentifs qui ont regardé le résultat n'auront pas manqué de remarquer la vitesse phénoménale avec laquelle je suis capable de taper au clavier).

L'outil le plus simple que j'ai trouvé pour faire cela est Avidemux (j'ai bien tenté Cinelerra aussi, mais il est surdimensionné donc trop complexe à mon goût pour répondre à ce besoin simple). Avec cet outil, on peut facilement supprimer des images pour raccourcir des passages, ou au contraire en ajouter à coups de copier/coller pour en rallonger d'autres.

Avant de sauvegarder le résultat, il faut veiller à supprimer la bande son que contient ce fichier .avi (en effet, lors de l'enregistrement de la video, une bande son a été capturée : dans mon cas, un bruit de fond très diffus, mais qui produisait de vilains claquements au niveau des coupures réalisées sous Avidemux).

Ensuite, l'outil ffmpeg permet de mettre ensemble la bande video et la bande audio :

ffmpeg -i demo_retouchee_sans_son.avi -i demo.wav  -vcodec copy -acodec copy  -map 0:0 -map 1:0 demo_complete.avi

demo_retouchee_sans_son.avi est le fichier .avi retouché et sauvegardé sans bande son sous Avidemux, demo.wav la bande son et demon_complete.avi le fichier résultant.

Le résultat étant assez volumineux et présentant des problèmes de compatibilité suivant les navigateurs et les systèmes d'exploitation, j'ai opté pour un format final de film flash (flv), avec un paramétrage qui permette de garder une image nette (en jouant sur le qscale)

ffmpeg -i demo_complete.avi -qmin 1 -qmax 5  demo_finale.flv

Mise en ligne

On dispose maintenant d'une video flash. Pour l'inclure dans une page HTML il faut utiliser un player flv. On peut en trouver un peu partout, et le player de flv-player.net répondait bien à mon besoin.

Pour ce qui est du code HTML à utiliser jetez un coup d'oeil au fichier source de ma page de démo.