2018-06-28

Enregistrement de l'écran facile avec ffmpeg

Il arrive parfois que l'on ait besoin d'enregistrer une vidéo de son écran pour – par exemple – rendre un projet pour lequel on vous demande, au dernier moment, une démo vidéo en bonus. Mais voilà, vous avez tout fait sous Linux et vous n'avez aucune idée de comment enregistrer votre écran. Pas de panique, ffmpeg est là pour vous. Tout du moins, en général tout le monde l'a sur sa machine.

Si l'on utilise X11, on peut utiliser x11grab,

$ ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 output.mp4

L'option -i de ffmpeg sert en général à passer la source. Ici, ce n'est pas un fichier, mais l'écran. 0.0+100,200 permet d'indiquer que l'on veut commencer dans le coin haut gauche de l'écran avec un offset de 100 sur x et de 200 sur y. L'option -video_size parle d'elle-même.

Pour rajouter la capture du son, on peut également utiliser alsa ou pulse.

$ ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 -f alsa -ac 2 -i hw:0 output.mkv
$ ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 -f pulse -ac 2 -i default output.mkv

Source (il y a plus de détails si besoin)

Si vous êtes un courageux sous wayland par contre, je pense qu'à l'heure actuelle, vous l'avez dans l'os (mais wayland c'est bien quand même, il manque juste certains outils).

(sinon il y a aussi moyen d'utiliser vlc, mais j'ai pas trouvé comment avoir le son)