AFAIK, no es posible capturar una ventana específica con ffmpeg, la entrada x11grab en el manual solo se refiere a las pantallas https://www.ffmpeg.org/ffmpeg-devices.html#x11grab y sugiere que la región que especifica es estática ( si mueves la ventana ffmpeg no la sigue):
Sin embargo, GStreamer ofrece algo más de flexibilidad en este caso:
gst-launch-1.0 ximagesrc xid=0x04000007 ! videoconvert ! autovideosink
Esto funciona con ventanas desenfocadas e incluso puede moverlas, pero NO funciona con ventanas minimizadas.
Como sabrá, puede obtener la identificación de la ventana con wmctrl -l
.
Puede ver las opciones admitidas por los elementos de GStreamer utilizando el gst-inspect-1.0
programa, por ejemplo:
gst-inspect-1.0 ximagesrc