Ffmpegで最小化されたウィンドウまたはフォーカスのないウィンドウを取得することは可能ですか(別のウィンドウがありますが、ffmpegは下のウィンドウのみを記録します)?
ffmpeg -f x11grab -r 30 -i :0.0+x,y -f flv rtmp://url
のようなコマンドで?
ちなみに、ffmpegで特定のウィンドウをキャプチャすることはできません。マニュアルのx11grabエントリは画面のみを参照しています https://www.ffmpeg.org/ffmpeg-devices.html#x11grab そしてそれはそれを示唆しています指定する領域は静的です(ウィンドウを移動した場合、ffmpegはそれに続きません):
ただし、この場合、GStreamerはさらに柔軟性を提供します。
gst-launch-1.0 ximagesrc xid=0x04000007 ! videoconvert ! autovideosink
これは焦点が合っていないウィンドウで機能し、移動することもできますが、最小化されたウィンドウでは機能しません。
ご存知かもしれませんが、ウィンドウIDはwmctrl -l
で取得できます。
gst-inspect-1.0
プログラムを使用して、GStreamer要素でサポートされているオプションを確認できます。例:
gst-inspect-1.0 ximagesrc