我尝试使用Python捕获屏幕,因为我将在OpenCV上使用它,但我找不到一种方法在Gnome上工作,因为Gnome使用Wayland和所有我发现只能与X11一起工作的库。
现在我还没有考虑改变我的界面。我正在寻找解决这个问题的方法。有人知道解决方案吗?
更具体地说,我将使用图像来训练AI,因此我需要不断地使用它们。
编辑:我已经找到了this,但是我怎样才能把帧传递给OpenCV而不是保存视频文件呢?
发布于 2020-06-05 20:56:22
现在做屏幕录制的正确方式是使用Screencast portal,它是XDG桌面门户的一部分,已经被GNOME,KDE,wlroot(等等)支持。作为一个额外的优势,这也将在像Flatpaks这样的集装箱化格式中工作。
您可以找到一个示例,说明如何在Pyhon中使用this snippet进行屏幕录制,该示例是由Mutter维护者之一创建的。如果您查找parse_launch(),您将看到一个GStreamer管道,您可以对其进行修改,以包含可以为您执行处理的GStreamer OpenCV元素。
注意:在您的编辑中,您将链接到该门户的前身,它是GNOME特定的内部API,因此我不会依赖它;-)
https://stackoverflow.com/questions/44104331
复制相似问题