ra1nty/DXcam
A Python high-performance screen capture library for Windows using Desktop Duplication API - Updated 2026
解决的问题
DXcam 是一个高性能的 Windows 屏幕捕获库,克服了标准 Python 截图工具的延迟和吞吐量限制。它专门针对桌面和全屏 Direct3D 应用程序的高帧率、低延迟捕获需求,这通常是实时 AI 代理和计算机视觉管线的瓶颈。
工作原理
该库利用 Windows Desktop Duplication API (DXGI) 和 Windows Graphics Capture (WinRT) 后端,直接从 GPU 获取帧。它提供两种操作模式:单次快照 (grab()) 和连续捕获线程,将帧存储在内存环形缓冲区中以供异步消费。为了保持性能,它支持缓冲区的零拷贝视图,并可通过 OpenCV 或编译的 Cython/NumPy 内核进行可选的颜色转换。
适用对象
此工具专为在 Windows 上开发 AI 代理、计算机视觉应用或高速视频录制软件的开发者设计,需要超过 60 FPS(最高 240+ FPS)的帧率,且 CPU 开销最小。
亮点
- 极致吞吐量:在 1080p 下可达 240+ FPS,显著优于 python-mss 等替代方案。
- 低延迟导向:专为低延迟管线和全屏独占 Direct3D 应用的稳定捕获而设计。
- 双后端:支持
dxgi用于一般用途,以及winrt用于需要光标渲染的情况。 - 灵活输出:以 NumPy 数组形式返回各种颜色模式(RGB、RGBA、BGR、BGRA、GRAY)的帧。
- 资源高效:提供零拷贝视图,避免高速捕获期间不必要的内存分配。
相关
- 项目
- 项目
- 项目
- 项目