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)的畫面。
  • 資源效率:提供零複製檢視,避免高速擷取期間不必要的記憶體配置。

相關

  • 專案
  • 專案
  • 專案
  • 專案