AFAIK Невозможно захватить определенное окно с помощью ffmpeg, запись x11grab в руководстве относится только к экранам https://www.ffmpeg.org/ffmpeg-devices.html#x11grab и предполагает, что указанный регион является статическим ( если вы перемещаете окно, ffmpeg не следует за ним):
Однако GStreamer предлагает некоторую гибкость в этом случае:
gst-launch-1.0 ximagesrc xid=0x04000007 ! videoconvert ! autovideosink
Это работает с не в фокусе окнами, и вы даже можете перемещать их, но это не работает с свернутыми окнами.
Как вы, возможно, знаете, вы можете получить идентификатор окна с помощью wmctrl -l
.
Вы можете увидеть опции, поддерживаемые элементами GStreamer с помощью программы gst-inspect-1.0
, например:
gst-inspect-1.0 ximagesrc