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)的帧。
  • 资源高效:提供零拷贝视图,避免高速捕获期间不必要的内存分配。

相关

  • 项目
  • 项目
  • 项目
  • 项目