RecordMyDesktop est la solution la plus simple, vous l'utilisez comme:
recordmydesktop \
-o "/tmp/recording.ogv" \
--fps 30 \
--no-cursor \
--full-shots \
--on-the-fly-encoding \
-x 22 -y 249 --width 320 --height 240
Cependant, il est lent et pas assez rapide pour jouer à de grandes résolutions. Il a également un problème en ce qui concerne les enregistrements très longs, qui ont tendance à être corrompus, c'est donc une bonne idée d'arrêter et de redémarrer l'encodage toutes les 30 minutes environ, pour ne pas risquer un flux corrompu.
Pour une capture de jeu appropriée, vous avez besoin de GLC , qui est spécifiquement écrit pour OpenGL et ne fonctionne qu'avec les applications OpenGL. Ce n'est pas dans Ubuntu, mais vous pouvez télécharger la source et la compiler vous-même. Une fois compilé, vous devez commencer votre jeu via glc-capture
une ligne comme:
glc-capture -l /dev/stdout -v 3 -i -j -o /tmp/recording.glc -b back your_game
GLC est assez rapide pour capturer des jeux à 1280x720 ou plus selon votre ordinateur.
Si vous avez besoin de plus de flexibilité pour capturer plusieurs sources audio, vous pouvez utiliser les outils pulseaudio. Le plus important est que pavucontrol
c'est une application de mixage pour pulseaudio qui vous permet de décider ce qui sera enregistré et même de changer de source d'enregistrement lors de l'exécution. Pour sélectionner un périphérique d'enregistrement, allez dans "Périphériques d'entrée / Tous les périphériques d'entrée" et sélectionnez-en un nommé "Moniteur de stéréo analogique audio intégré". Tous les moniteurs vous permettent d'enregistrer la sortie audio. C'est quelque chose que vous devrez probablement faire lorsque vous utiliserez GLC et recordmydesktop, car je pense que par défaut, ils enregistreront l'entrée de ligne ou quelque chose comme ça, pas la sortie réelle du haut-parleur.
Pulseaudio est également livré avec de nombreux modules qui vous permettent de rediriger ou de filtrer la sortie. Par exemple, pour créer une carte son virtuelle qui ne sort pas sur vos haut-parleurs, vous utilisez:
pactl load-module module-null-sink sink_name=nullsink
La documentation peut être un peu insuffisante, mais elle devrait vous permettre de faire la plupart des choses que vous voudrez peut-être faire. Pour enregistrer uniquement l'audio du jeu et la sortie du casque séparément, vous pouvez configurer pavucontrol
pour que GLC enregistre l'audio du jeu, puis utilisez un autre parecord
pour capturer votre casque.