问题标签 [python-mss]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
159 浏览

python - MSS,Python:最大客户端数达到分段错误(核心转储)

我使用 MSS for Python 在我的计算机上快速捕获屏幕截图,但是当将图像捕获放在 while 循环中时:

我收到一条错误消息Maximum number of clients reachedSegmentation fault (core dumped)。我该如何解决这个问题?

0 投票
1 回答
237 浏览

python - 录制电脑屏幕时 MSS 重复帧

我正在尝试在我的 MacBook Pro 上录制屏幕并将其存储在视频文件中。这不是最终目标,但这是第一步,我注意到无论我将写作帧率设置为什么,我在最终视频中只得到了一半。例如,如果我将其设置为 30,我会以 30fps 的速度保存一个视频,但每一帧都会重复。第 1 帧和第 2 帧相同,第 3 帧和第 4 帧相同;等等等等。所以我只得到15帧。

我已经尝试将帧速率设置为 60 或 120,它给了我相同的结果。而当我使用 QuickTime 等专业实用程序录制屏幕时,我会得到应有的录制效果,没有重复的帧等。

我还尝试在代码中添加和删除 cv2.waitKey 函数,但没有任何区别。有谁知道可能导致这种行为的原因是什么?

0 投票
0 回答
826 浏览

python - MSS 性能问题

根据这个答案,mss 应该非常快,但是没有更多的 mss.mss.get_pixels() 方法和 mss.mss.grab() 给我的结果很差(在 1440p 屏幕上为 grab() 0.074s) . 大多数时候,我使用 PIL.ImageGrab.grab() 或 pyautogui.screenshot() 得到几乎相同的结果。这是正常的吗?

我尝试安装 32 位 Python 看看是不是 64 位版本的问题,但没有结果

我还做了一个简单的基准测试

结果如下:

编辑:MSS 做得比其他所有东西都好,但我目前正在尝试使用 openCV 和 70 毫秒来获得一帧还不够快

0 投票
2 回答
455 浏览

python - 获取 TypeError:将 bgr 转换为 rgb 时参数“src”的预期 cv::UMat

我想将 bgr 转换为 rgb,但出现“TypeError:Expected cv::UMat for argument 'src'”错误

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 不能改变“色彩空间”,但没有这个字符串,代码工作得很好,但所有的红色都是蓝色的。

0 投票
1 回答
264 浏览

python - Python3.4的Python MSS

我正在开发一个记录屏幕的软件,目前正在使用 mss 包中的屏幕截图模块。但是我需要该软件才能与 python 3.4 一起使用并且无法从 mss lib 中找到合适的版本,有人知道如何在 python3.4 上安装该软件包吗?还是推荐更好的替代品?

0 投票
0 回答
149 浏览

python-3.x - 使用 python 截屏时遇到问题

我在 python 中使用 mss 模块截屏时遇到问题,有时它工作正常,有时会出现黑屏作为输出。请为我提供此问题的解决方案。

我试图用python中几乎所有可用的模块截屏,有时它们正在工作,有时它们不工作。--> 有时它会通过命令提示符工作。如果相同,我尝试使用 pyqt5 无法正常工作。

预期结果:带有实际内容的屏幕截图实际结果:黑屏

0 投票
1 回答
548 浏览

python - 在 python 中使用带多线程的 mss 会出错

我在 python 中使用 mss 模块来截取整个屏幕的截图。我已将屏幕分成单独的块,并且正在截取这些特定块的屏幕截图。在循环中执行此操作需要很长时间,并且时间会随着块数量的增加而增加。

这些是 5 块 1920x1080 屏幕:

我使用多线程来做到这一点,但它会产生一个模糊的图像,并且只截取一些块而不是全部的屏幕截图(比如一些会很清晰,而另一些会是黑色的)。

我在无限循环中完成所有这些并将图像发送到服务器。

上面的代码产生了错误的图像(图像的某些块只是黑色)所以我尝试这样做:

上面的代码给出了这个错误:

(这是一个无限循环,这就是线程数超过 165 的原因)

请帮助我如何使用多线程截屏。

0 投票
2 回答
4721 浏览

python-3.x - cv2.cvtColor(img,cv2.COLOR_BGR2RGB) 不工作

我正在尝试在 python 中使用 mss 和 Opencv 创建屏幕录像机,我正在捕获的视频的颜色与原始计算机屏幕的颜色非常不同。我试图在网上找到解决方案,每个人都说应该使用 cvtColor() 修复它,但我的代码中已经有了它。

`

vid_file 变量包含一串带有 mp4 扩展名的输出文件名

我的屏幕截图

录制视频的屏幕截图

0 投票
1 回答
537 浏览

python - 有没有办法使用 mss 截取当前未激活的桌面的屏幕截图?

我试图在使用 mss 和 opencv 播放网站时录制屏幕,但我不希望程序使用当前屏幕。我想把它们放在第二个桌面上玩,就像下图中的桌面 2 macos 有 4 个桌面设置

所以我可以在桌面 1 上工作而不会受到任何干扰。

0 投票
1 回答
349 浏览

python - 线程和 mss 问题 - 第二次运行函数时出错

我想不通,如何使它工作。我希望你能帮助我。

我编辑了代码,使其更简单和简短——这就是为什么它只打印一些东西,但这足以显示问题。

一切运行良好,只要我按回车按钮停止功能并单击按钮(在 Tkinter 窗口中)重新启动main_function()

当我退出程序并再次运行该功能时 - 一切都很好。仅当我停止该功能并第二次运行它时才会出现此问题。

我希望我清楚地描述了问题,并且代码中的注释有帮助。

我收到的错误:

代码: