AFAIK, il n'est pas possible de capturer une fenêtre spécifique avec ffmpeg, l'entrée x11grab dans le manuel ne fait référence qu'aux écrans https://www.ffmpeg.org/ffmpeg-devices.html#x11grab et suggère que la région que vous spécifiez est statique ( si vous déplacez la fenêtre ffmpeg ne la suit pas):
Cependant GStreamer offre plus de flexibilité dans ce cas :
gst-launch-1.0 ximagesrc xid=0x04000007 ! videoconvert ! autovideosink
Cela fonctionne avec les fenêtres floues et vous pouvez même les déplacer, mais cela ne fonctionne PAS avec les fenêtres réduites.
Comme vous le savez peut-être, vous pouvez obtenir l'identifiant de la fenêtre avec wmctrl -l
.
Vous pouvez voir les options prises en charge par les éléments GStreamer en utilisant le gst-inspect-1.0
programme, par exemple :
gst-inspect-1.0 ximagesrc