5

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

С помощью такой команды, как ffmpeg -f x11grab -r 30 -i :0.0+x,y -f flv rtmp://url?

1 ответ1

2

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .