我想通过 FFMPEG 录制某个程序窗口,但是 x11 无法捕获窗口。在 Linux 上有什么方法可以做到这一点吗?
在 Windows 上我可以这样做:
ffmpeg -f gdigrab -framerate 30 -i title="System Monitor" -b:v 3M test.flv
但是我如何通过 Linux 执行相同的窗口捕获title=System Monitor
?
x11grab 不支持title=
答案1
没有使用 x11grab 捕获特定窗口的功能ffmpeg
,但您可以手动提供坐标来执行此操作。
用于xwininfo
获取目标窗口的几何形状:
$ xwininfo
Please select the window about which you would like
information by clicking the mouse in that window.
[...]
-geometry 80x24-61-68
ffmpeg
这转换为如下命令:
ffmpeg -video_size 80x24 -f x11grab -i :0.0+61,68 output
录制区域是固定的,因此如果窗口移动,它可能会超出录制区域。它也不是独占的,因此如果另一个窗口覆盖了录制区域,那么它也会被录制。
答案2
我知道 x11 不能捕获窗口,问题是是否可以捕获特定窗口,而不是屏幕区域
目前无法ffmpeg
在 Linux 中使用。