ffmpeg x11grab одно окно

940
Pioz

Возможно ли с помощью ffmpeg захватить окно, которое свернуто или не имеет фокуса (есть другое окно поверх, но ffmpeg записывает только окно, которое находится ниже)?

С командой вроде ffmpeg -f x11grab -r 30 -i :0.0+x,y -f flv rtmp://url?

5

1 ответ на вопрос

2
Antonio Ospite

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 

Похожие вопросы