私の知る限り、ffmpeg で特定のウィンドウをキャプチャすることはできません。マニュアルの x11grab エントリは画面 https://www.ffmpeg.org/ffmpeg-devices.html#x11grab のみを参照しており、指定した領域が静的であることを示唆しています (ウィンドウを移動すると、ffmpeg は追従しません):
ただし、この場合、GStreamer はより柔軟に対応できます。
gst-launch-1.0 ximagesrc xid=0x04000007 ! videoconvert ! autovideosink
これは、フォーカスされていないウィンドウで機能し、ウィンドウを移動することもできますが、最小化されたウィンドウでは機能しません。
ご存知かもしれませんが、wmctrl -l
でウィンドウ ID を取得できます。 .
gst-inspect-1.0
を使用して、GStreamer 要素でサポートされているオプションを確認できます。 プログラム、例:
gst-inspect-1.0 ximagesrc