Aller au menu - Aller au contenu

Comment enregistrer ce qui se passe sur votre écran ?


Informations sur le tutoriel

Avatar
Auteur : Pmol
Visualisations : 36 776


Plus d'informations Plus d'informations
Voici une question que vous vous êtes déjà bien des fois posé au cours de votre vie : "Comment enregistrer ce que je vois à l'écran ?"
  • Vous avez fait un super-programme-de-la-mort et voulez montrer ses principales fonctions sur votre site web, mais comment faire ?
  • Vous cherchez à faire une vidéo de démonstration d'un jeu dans lequel vous êtes vraiment imbattables, mais comment faire ?
  • Vous voulez montrer (en vidéo) comment faire une manipulation super-délicate, mais comment faire ?

Tous ces questions ont une réponse : vnc2swf !

(Oui, on a déjà vu des réponses plus lisibles. :D )

De quoi ai-je besoin ?

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. :)

C'est parti !

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. :)

OSX Vnc
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
Pyvnc2swf, en interface graphique


  • En haut à gauche, il y a le nom du serveur et le port sous cette forme :
    Code : Autre
    1
    
    nom_serveur:port

    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. :)

Vnc2Swf et la ligne de commande

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... :D

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

edit.py

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 optionsExtensionDescription
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

Il peut arriver que la vidéo enregistrée soit saccadée. Essayez alors de réduire le nombre de programmes lancés, de n'enregistrer qu'une partie de l'écran, de baisser la résolution ou encore de baisser le framerate.
Il ne vous reste plus qu'a enregistrer et à montrer vos exploits au monde entier ! :D

Informations sur le tutoriel

Retour en haut Retour en haut

Créé : Le 23/08/2006 à 22:31:40
Modifié : Le 26/10/2008 à 12:07:32
Avancement : 100%
Licence : Copie non autorisée

L'orthographe, la grammaire et la présentation de ce tutoriel ont été vérifiées par les zCorrecteurs.
18 commentaires