ra1nty/DXcam

A Python high-performance screen capture library for Windows using Desktop Duplication API - Updated 2026

解決する問題

DXcamは、標準的なPythonスクリーンショットツールの遅延とスループットの制限を克服する、Windows向けの高性能スクリーンキャプチャライブラリです。特に、デスクトップや全画面Direct3Dアプリケーションの高FPS・低遅延キャプチャのニーズに対応しており、これはリアルタイムAIエージェントやコンピュータビジョンパイプラインのボトルネックとなることがよくあります。

仕組み

このライブラリは、Windows Desktop Duplication API (DXGI) と Windows Graphics Capture (WinRT) バックエンドを利用して、GPUから直接フレームを取得します。2つの操作モードを提供します:単発スナップショット (grab()) と、非同期消費のためにフレームをメモリ内リングバッファに格納する連続キャプチャスレッドです。パフォーマンスを維持するために、バッファのゼロコピービューと、OpenCVまたはコンパイル済みCython/NumPyカーネルによるオプションの色変換をサポートしています。

対象ユーザー

このツールは、Windows上でAIエージェント、コンピュータビジョンアプリケーション、または高速ビデオ録画ソフトウェアを開発する開発者向けに設計されており、最小限のCPUオーバーヘッドで60 FPS(最大240+ FPS)を超えるフレームレートが必要です。

ハイライト

  • 極限のスループット:1080pで240+ FPSを達成し、python-mssなどの代替手段を大幅に上回ります。
  • 低遅延重視:低遅延パイプラインと全画面排他Direct3Dアプリの安定したキャプチャ用に設計されています。
  • デュアルバックエンド:一般的な用途には dxgi、カーソルレンダリングが必要な場合には winrt をサポートします。
  • 柔軟な出力:さまざまなカラーモード(RGB、RGBA、BGR、BGRA、GRAY)でNumPy配列としてフレームを返します。
  • リソース効率:高速キャプチャ中の不要なメモリ割り当てを避けるために、ゼロコピービューを提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト