HervéRenault.fr

Logo de FFmpeg Logo de Kdenlive

Enregistrer une vidéo sans la télécharger

Parfois, je dois récupérer une vidéo sur un gros site qui décourage le téléchargement pour garder ses utilisateurs captifs. Pour contourner cette obstruction, j'aime bien utiliser les moyens du bord, les outils simples que j'aime.

ATTENTION, la méthode décrite ci-dessous en 3 étapes est obsolète ! Elle était justifiée à l'époque des disques durs mécaniques mais n'est plus nécessaire avec un SSD beaucoup plus rapide. Avec un disque mécanique, l'enregistrement simultané de l'image et du son produisait, même sur un PC rapide, une image saccadée. Je procédais donc en deux parties : enregistrement de l'image, puis du son, puis je synchronisais les deux dans Kdenlive.

Désormais, il suffit de faire en une seule fois :
ffmpeg -f alsa -i default -video_size 1920x1080 -framerate 60 -f x11grab -i :0.0 -preset ultrafast -crf 17 output.mkv

Note : -f alsa évite un décalage de l'audio qui survient avec -f pulse

Et maintenant sur Linux, on peut avoir Wayland à la place de X11 et la commande ci-dessus ne marche plus 😑
Pour l'instant (avril 2025) sur Wayland, je n'ai réussi à capturer que l'image, avec cette commande  :
sudo ffmpeg -device /dev/dri/card1 -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,crop=x=0:y=0:w=1920:h=1080,scale_vaapi=1920:1080:nv12' -c:v h264_vaapi output.mkv
Du coup, la méthode en 3 étapes ci-dessous retrouve temporairement un intérêt...

Ce que je décris ci-dessous n'est plus ni moins qu'une bidouille, une recette qui m'amuse mais qui n'est ni industrielle, ni académique, ni universelle. Je la consigne dans cette page pour la retrouver où que je sois, et si elle peut vous inspirer, vous dépanner, tant mieux. Dans ce cas, n'hésitez pas à m'envoyer un petit mail. Ça me fera plaisir de voir que je ne suis pas seul à bidouiller.

1) Enregistrement de l'image

2) Enregistrement du son

3) Synchronisation des deux dans Kdenlive