Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Des développeurs ont créé un programme gratuit qui permet d'enregistrer ce qui se passe à l'écran en animation SWF (Flash), qui peut après être exportée dans d'autres formats (MPG, suite de PNG, etc.), tout ça sous le doux nom évoqué précédemment.
Bien sûr, des équivalents existent, allez-vous nous dire, mais si je répondais que ce programme est portable et fonctionne à travers un réseau ? Hum ?
Cette portabilité est due à deux choses. Premièrement, vnc2swf est écrit en Python (d'où le nom de
pyvnc2swf, encore plus illisible, pour les dernières versions). Ensuite, vnc2swf est en fait un client VNC - ça veut dire qu'il se connecte à un serveur VNC (qui est un protocole de partage d'écran). Vous aurez donc besoin d'un
serveur VNC sur votre machine. Il vous faudra évidemment Python et quelques modules

(version 2.3 au minimum).
Le serveur VNC
Il nous faut donc un serveur VNC, mais lequel ?
Sous Windows, vous pouvez prendre
realvnc, sous OSX prenez
OSXVNC. Sous Linux, prenez
RealVNC ou
Tightvnc.
On ne vous détaille pas l'installation ; si vous avez des questions, le forum est là pour ça.
Pyvnc2swf
Une fois votre client téléchargé, il faut télécharger le programme python utilisé. Il se trouve
ici. Choisissez la version de Python la plus récente.
Vous pouvez décompresser l'archive où vous voulez, l'emplacement n'a pas d'importance.
Les modules dont a besoin pyvnc2swf
Pyvnc2swf ne peut pas fonctionner tout seul, il a besoin de ressources extérieures. Pour cela, vous devrez télécharger (s'ils ne sont pas déjà installés) :
- sI vous utilisez Mac Os X, vous aurez besoin de PyObjC ;
- PyGame ;
- optionnellement Tkinter pour l'interface graphique (mais on peut faire sans, normalement) ;
- et, si vous voulez enregistrer vos vidéos en mpeg, PyMedia.
On ne détaille toujours pas l'installation, lisez le
ReadMe, ou cherchez un peu sur le net, ces installations sont faciles à faire.
Vous devez maintenant être prêts à utiliser pyvnc2swf.
Configurer le serveur VNC
Selon votre programme et votre système, l'interface peut changer. Nous allons prendre pour exemple OSX Vnc, mais le principe est partout le même. Il faut choisir un port et un nom d'affichage. Le mot de passe est facultatif. Vous pouvez maintenant lancer (ou démarrer, c'est pareil) le serveur.
OSXVNC
PyVnc2Swf
Il est temps de lancer le programme

. Tapez donc dans une fenêtre de Terminal (ou console MS-DOS) :
Code : Console | python le/chemin/qui/mene/a/vnc2swf.py |
Une fenêtre s'ouvre alors.
Pyvnc2swf, en interface graphique
- En haut à gauche, il y a le nom du serveur et le port sous cette forme :
Code : Autre
Si vous avez changé un des deux, il ne vous reste plus qu'à vous corriger. 
- En dessous, une liste déroulante indique l'encodage souhaité (nous en parlerons plus tard).
- Il vous faut choisir un nom de fichier pour votre vidéo. Cliquez sur Save as... pour choisir le nom de votre fichier et son emplacement.
- Voilà, c'est fini, il ne vous reste plus qu'à cliquer sur Start pour commencer à enregistrer. Une fenêtre apparaît et vous demande le mot de passe. S'il n'y en a pas, ne marquez rien.

Vous savez maintenant utiliser les fonctions basiques de vnc2swf. Mais il reste encore des choses à voir.
Comme vous venez de le voir, vnc2swf peut être utilisé avec une interface graphique.
Mais, pour ceux qui ne veulent ou ne peuvent pas installer Tkinter, il y a une autre solution : la ligne de commande.
Au lieu de marquer :
Code : Console | python le/chemin/qui/mene/a/vnc2swf.py |
vous allez marquer :
Code : Console | le/chemin/qui/mene/a/vnc2swf.py -n |
C'est une option qui indique à vnc2swf de ne pas afficher l'interface graphique. Évidemment, avec seulement
-n comme option, vous n'irez pas très loin...
Les options obligatoires
- -n : pour ne pas avoir d'interface graphique
- -o nomdefichier : le nom de la vidéo
- nom_du_serveur port : le nom du serveur et le port
- -t encodage : le type d'encodage. Possibilités : shape, video ou vnc
Les options facultatives
- -C "largeurxhauteur+Point_en_haut_a_gauche+Point_en_bas_a_droite" : le rectangle dans lequel vnc2swf va enregistrer. Ne fournissez pas cette option si vous souhaitez enregistrer tout l'écran.
- -r framerate : le framerate (nombre d'images à la seconde) de la vidéo. Par défaut, la valeur est de 12.0.
Pour enregistrer une vidéo en format
.vnc, sur le serveur
localhost, avec le port 5900, on fera donc comme ça :
Code : Console | python vnc2swf.py -n -o sortie -t vnc localhost:1 5900 |
Dans le "pack" que vous avez téléchargé, il n'y a pas que
vnc2swf.py. Vous pouvez remarquer beaucoup d'autres scripts comme
mp3.py,
image.py,
edit.py,
play.py, etc.
Certains de ces scripts sont nécessaires au fonctionnement de vnc2swf, d'autres peuvent nous servir à nous. Un de ces scripts en particulier :
edit.py.
Comme son nom l'indique, il permet
d'éditer une vidéo pour la transformer. Vous pouvez, par exemple, choisir de ne conserver qu'une partie de la vidéo (le coin supérieur droit, par exemple), de la faire changer de format, de baisser le
framerate...
Comment ça marche ?
Ça marche sur le même principe que
vnc2swf.py, sauf que cette fois-ci il n'y a pas du tout d'interface graphique. Tout doit se faire en ligne de commande, avec les options.
Les options obligatoires
Il faut obligatoirement indiquer :
- -o nomdufichier : le nom du fichier sortant, le résultat, si vous voulez ;
- à la fin des options, rajoutez le fichier entrant, le fichier à modifier ;
Les options facultatives
Voilà, vous avez votre fichier entrant et votre fichier sortant, mais que faire avec ?
- -t encodage : vous avez le choix de transformer votre vidéo en plusieurs encodages (voir le tableau plus bas).
- -a fichier_mp3 : ajouter un fichier .mp3 pour mettre du son dans votre vidéo. Plusieurs .mp3 et ils seront mis bout à bout ;
- -s ratio : réduire la vidéo (proportionnellement). Le ratio est un chiffre à virgule. Par exemple : 0.5 pour réduire la taille de la vidéo de moitié ;
- -r framerate : changer le framerate de la vidéo.
| Nom à indiquer dans les options | Extension | Description |
|---|
shape |
.swf |
Vidéo Swf (par défaut) |
video |
.swf |
Vidéo Swf avec encodage du flux vidéo |
mpeg |
.mpg |
Vidéo Mpeg (PyMédia est nécessaire) |
bmp |
.bmp |
Suite d'images .bmp |
png |
.png |
Suite d'images .png |
La liste des formats possibles
Cette liste n'est pas exhaustive. Pour en savoir plus, consultez la documentation.
Pour réduire la taille de la vidéo de moitié, l'encoder en
.mpg et mettre le
framerate à 8 images par seconde, on marquera donc cette ligne :
Code : Console | python edit.py -o sortie -s 0.5 -t mpeg -r 8.0 entree |