Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/11/2013, à 15:51

abelthorne

Faire un screencast de jeu ?

Bonjour,
Je cherche un logiciel qui me permettrait d'enregistrer en vidéo une session de jeu sous Linux. Je viens de tester Kazam en vitesse, qui est simple, pratique et... qui m'a enregistré le bureau au lieu du jeu. Avant de tester toutes les solutions de la doc et m'apercevoir qu'elles font la même chose, est-ce que quelqu'un a une solution éprouvée ?
Il faudrait bien sûr pouvoir enregistrer la session sans perte de framerate (quitte à ne pas encoder la vidéo à la volée) et à la résolution utilisée par le jeu.

Je crois que GamingOnLinux avait testé diverses solutions il y a quelque temps, sans trouver grand chose de cohérent mais je ne peux pas vérifier, le site est en maintenance.

EDIT : je viens de tester gtk-recordmydesktop, même problème, il enregistre le bureau et pas le jeu en plein écran qui se lance.

EDIT 2 : et pareil avec ffmpeg...

Dernière modification par abelthorne (Le 26/11/2013, à 16:14)

Hors ligne

#2 Le 26/11/2013, à 16:37

Brunod

Re : Faire un screencast de jeu ?

Pas éprouvé pour les jeux, sinon j'utilise istanbul.


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#3 Le 26/11/2013, à 16:44

abelthorne

Re : Faire un screencast de jeu ?

Connais pas, je note.

J'en ai trouvé un qui fonctionne : SimpleScreenRecorder (il y a un PPA pour l'installer sur Ubuntu). Il permet notamment de faire du screencast à partir d'applis OpenGL, ce qui est donc la caractéristique qui manquait aux autres.

Bon, ça marche mais c'est un peu le bordel pour le faire fonctionner (surtout avec un jeu Steam − comme c'est mon cas) puisqu'il doit injecter à la volée une bibli au lancement du jeu OpenGL. Et surtout, la capture est lente (même pendant le jeu, pendant qu'elle est en cours, le framerate est divisé par deux) et je me retrouve avec une vidéo muette. Je vais regarder ça de plus près et refaire des tests.

Hors ligne

#4 Le 27/11/2013, à 23:54

Gatsu

Re : Faire un screencast de jeu ?

Salut abelthorne,

J'ai utilisé GLC pendant un moment :
> https://github.com/nullkey/glc/wiki
Il fonctionne très bien, capture directement l'image issue de la carte graphique à la manière de fraps donc en général ça a moins d'impact sur les fps et c'est ok pour les jeux en full-screen. Par contre il faut prévoir un bon disque dur parce que les fichiers sont assez gros, donc il faut du débit et de la place. Un 7200 tr en sata est largement suffisant.

Sur une ubuntu 12.04, la seule façon où j'ai réussi à l'installer c'était avec le build script dispo ici :
> https://github.com/nullkey/glc/wiki/Ins … tributions

wget https://github.com/nullkey/glc/raw/master/scripts/glc-build.sh
chmod a+x glc-build.sh
./glc-build.sh

Ensuite pour la  capture d'un jeu, tu le lances de la manière suivante :

glc-capture -o capture_du_jeu.glc -k F12 binaire_du_jeu

A l'appuie sur la touche F12 (à changer si besoin), ça enregistre la vidéo dans le fichier capture_du_jeu.glc, un autre appui met la capture en pose, et ainsi de suite.
D'autres options sont disponibles comme le resize avec l'option -r 0.5 qui permet d'avoir la vidéo en moitié de résolution, mais les couleurs sont baveuses.
> https://github.com/nullkey/glc/wiki/Capture

Pour lire les vidéos c'est par là :
> https://github.com/nullkey/glc/wiki/Playback

Ensuite il y a des scripts tout prêts pour convertir une vidéo en H264 :
> https://github.com/nullkey/glc/wiki/Encode

Pour l'encodage en H264 je te conseille de ne pas le faire en 2 passes comme indiqué, mais plutôt utiliser l'option CRF comme vu dans ce topic :
> https://forum.ubuntu-fr.org/viewtopic.php?id=1431841

GLC est un peu galère au départ, mais c'est le meilleur que j'ai trouvé. Et une fois les options et lignes de commande maitrisées pour faire ce que tu veux, tu colles tout ça dans un fichier .sh pour lancer tes jeux, les lire et les encoder et ça roule tout seul.

EDIT: GLC ne sait capturer que des applications en OpenGL, donc quasiment que les jeux.


Sinon j'avais essayé ffmpeg, n'importe quel disque dur suffit, mais il faut avoir un bon processeur parce que tu encodes la vidéo à la volée, ou alors il faut réduire la taille de la vidéo de moitié (les couleurs sont tout de même plus belle qu'avec la même option sur GLC). Je n'avais pas réussi non plus à encoder en fullscreen, et la capture du son merdait régulièrement (la faute à pulse-audio?). Je jouais tout le temps en fenêtré avec un terminal prêt à lancer mon script de capture au besoin. J'utilisais ce script là :

#!/bin/bash
SAVE_DIR=dossier_de_sauvegarde
ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -s 1440x900 -r 30 -i :0.0+1,52 -s 720x450 -vcodec mpeg2video -sameq -acodec libmp3lame -ab 160k $SAVE_DIR/screencast.mpg

mpeg2video ne consomme pas trop de CPU et les vidéos restent potables. Voir la doc ffmpeg pour les autres options.

Dernière modification par Gatsu (Le 27/11/2013, à 23:59)

Hors ligne

#5 Le 28/11/2013, à 01:09

abelthorne

Re : Faire un screencast de jeu ?

Ouais, j'ai noté que les tutos divers parlaient de glc, je ne sais pas si c'est mieux que SimpleScreenRecorder. En tout cas, le but est d'enregistrer des sessions de jeux donc il faut à priori un soft qui fait du screencast en OpenGL, ce qui n'a pas l'air de courir les rues.

L'encodage à la volée, c'est pas indispensable et je ne vois pas d'inconvénient à capturer la session en RAW pour la réencoder après, c'est un truc que je dois voir avec SSR (puisque l'encodage bouffe de toute façon des ressources CPU).

Si quelqu'un sait si ffmpeg est capable d'enregistrer la vidéo d'un jeu en plein écran, ce serait pas mal, vu que ce serait la fête au niveau des options. Mais je ne sais pas comment se comportent les jeux plein écran d'un point de vue technique... (ils ne lancent pas un nouveau serveur X mais ouvrent une sorte de "nouvel écran" par-dessus le serveur X actuel ?), s'il faut indiquer un "écran différent" à ffmpeg...

Hors ligne

#6 Le 28/11/2013, à 23:51

corrigo

Re : Faire un screencast de jeu ?

Et pourquoi  pas gamecaster ?

C'est une interface graphique pour glc

Hors ligne

#7 Le 03/12/2013, à 23:54

titoupath

Re : Faire un screencast de jeu ?

Le truc qui marche le mieux chez moi, c'est VLC... Media -> Convertir/Enregistrer -> Périphériques de capture tu choisis Bureau.


KDE est doux. KDE est frais. Et KDE est vraiment très pratique. Et puis j'ai découvert Gnome : un enrobage de lourdeur qui révèle un kernel de trolleurs.

Et KDE ? Ça va.

Hors ligne

#8 Le 04/12/2013, à 11:32

abelthorne

Re : Faire un screencast de jeu ?

Ah, faudra que je teste aussi. Mais j'ai jamais été très copain avec l'interface d'enregistrement/transcodage de VLC.

Hors ligne

#9 Le 02/07/2014, à 14:11

abelthorne

Re : Faire un screencast de jeu ?

Je viens d'essayer VLC. Ça marche (du moins avec un jeu que j'ai lancé en fenêtré) mais ça bouffe pas mal de ressources, apparemment même sans transcodage à la volée.

Hors ligne