Skip to main content

🎬 ScreenCapture Pro

Python License: MIT MCP Server Architecture: FASM x64 CI

ScreenCapture Pro is a modern, high-performance desktop screen recording and screenshot suite for Windows. Engineered with a zero-memory streaming architecture, low-latency WASAPI loopback audio, native Win32/x64 assembly optimizations, customizable hotkeys, interactive region snipping, and a sleek dark/light theme GUI.

Screen Recorder


✨ Key Features

  • 🖥️ Full-Screen & Multi-Monitor Support: Seamless recording across single displays, multi-monitor setups, or virtual desktop workspaces.
  • ✂️ Interactive Region Selector & Snipping Tool: Real-time visual region selection with darkened overlay, pixel dimensions HUD, aspect ratio guides, and dedicated snipping mode (Shift+F11).
  • 📋 Native Windows Clipboard Integration (CF_DIB): Instantly auto-copies snips and screenshots directly to the system clipboard for immediate Ctrl+V paste into Telegram, Discord, Slack, Word, or browsers. Includes 1-click "В буфер" and Ctrl+C in the gallery.
  • 🔊 System Audio Capture (WASAPI Loopback): Crystal-clear internal sound recording capturing speakers and headphones without external virtual cables.
  • 🎤 Microphone & Multi-Source Audio: Record voice commentary independently or mixed synchronously with system audio.
  • 💾 Zero-Memory Direct-to-Disk Streaming: Frames are encoded directly to disk via OpenCV/native pipes without ballooning RAM usage.
  • ⏸️ Synchronous Pause & Resume: Instant pause and continuation keeping audio and video streams in lockstep.
  • 🖱️ Hardware Cursor Rendering & Halo Highlight: Fast mouse pointer tracking with an optional translucent glowing halo for presentations and tutorials.
  • 🎯 Mouse Click Ripple HUD: Real-time visual animated ripple circles on left and right mouse clicks with customizable colors for software demos.
  • 🎞️ Direct GIF Recording & 2-Pass Palette Exporter: Create lightweight, crystal-clear animated GIFs using two-pass FFmpeg palette generation (palettegen + paletteuse), perfect for GitHub READMEs and bug reports.
  • 📸 Instant High-Res Screenshots & Configurable Formats: Capture fullscreen or region snapshots in PNG (lossless), JPG (compact), or BMP (uncompressed) in one keystroke (F11).
  • 📐 Instant Region Selection Hotkey (F2): Press F2 from anywhere to trigger interactive region selection without touching the mouse on the UI.
  • 🎛️ Floating Mini-Toolbar Widget: Compact, draggable on-screen controller during active recording with live duration timer and quick-action buttons.
  • ⏱️ Animated Countdown (3.. 2.. 1..): Clean pre-recording visual countdown overlay.
  • 📁 Integrated Media Gallery & Manager: In-app viewer for recorded videos, GIFs, and screenshots, instant playback in default media player, folder reveal, clipboard copying (Ctrl+C), and 1-click GIF conversion.
  • 🎨 Modern Themed Interface: Customizable dark and light palettes powered by ttkbootstrap (Darkly, Superhero, Solar, Cyborg, Cosmo, Flatly, Minty).
  • ⚙️ Configurable Encoding: Adjustable framerates (15, 24, 30, 60 FPS), screenshot formats (PNG, JPG, BMP), audio bitrates (128k–320k), container formats (MP4, AVI, MKV, GIF), and custom hotkeys.

⌨️ Default Hotkeys

Hotkey Action Description
F2 Select Region Opens interactive region selection overlay directly
F5 Start Recording Begins screen capture (with animated 3..2..1 countdown)
F6 Pause / Resume Instantly toggles recording state without dropping sync
F10 Stop & Save Concludes capture, finalizes file headers, and opens gallery
F11 Quick Screenshot Captures active display/region to PNG/JPG/BMP immediately
Shift+F11 Interactive Snip Interactive region snipping with crosshair & instant clipboard copy
ESC Cancel Exits region selection overlay

(All hotkeys are rebindable in the Settings tab)


📁 Clean Architecture

screenvideo/
├── src/
│   ├── core/                  # Core engine independent of UI
│   │   ├── clipboard.py       # Native Win32 CF_DIB clipboard integration
│   │   ├── config.py          # Persistent JSON settings & state
│   │   ├── cursor.py          # Fast pointer capture & halo renderer
│   │   ├── gif.py             # 2-pass animated GIF palette generator
│   │   ├── history.py         # Media catalog & metadata storage
│   │   ├── hotkeys.py         # Safe global low-level keyboard listener
│   │   ├── monitors.py        # Multi-monitor enumeration & geometry
│   │   ├── recorder.py        # Multi-threaded FPS-locked video writer
│   │   └── screenshot.py      # High-performance PNG snapshot engine
│   ├── ui/                    # Presentation layer (ttkbootstrap)
│   │   ├── views/             # Functional views
│   │   │   ├── record_view.py   # Main capture & telemetry control
│   │   │   ├── history_view.py  # Gallery of saved captures
│   │   │   └── settings_view.py # Encoder & audio preferences
│   │   ├── app.py             # Main application coordinator
│   │   ├── countdown.py       # Transparent overlay countdown
│   │   ├── floating_bar.py    # Draggable mini control widget
│   │   ├── region_selector.py # Visual interactive snipping overlay
│   │   └── theme.py           # Typography, palette & styling tokens
│   └── utils/                 # System helpers & formatting
│       ├── formatting.py      # Human-readable time, bitrate & sizes
│       └── system.py          # High-DPI scaling & explorer integration
├── asm/                       # Native x64 assembly performance routines
├── tests/                     # Automated unit and integration tests
│   └── test_core.py
├── main.py                    # Application bootstrap entry point
├── pyproject.toml             # Modern package metadata & ruff config
└── LICENSE                    # Official MIT License

🚀 Quick Start

Prerequisites

  • Windows 10 / 11 (64-bit)
  • Python 3.10+ (Python 3.12+ recommended)
  • Package manager: uv (recommended) or pip

Running from Source

# Clone the repository
git clone https://github.com/eminsk/screenvideo.git
cd screenvideo

# Synchronize dependencies with uv
uv sync

# Launch ScreenCapture Pro
uv run python main.py

Running Test Suite

uv run python -m unittest discover tests

⚡ Native Standalone Binary Build (Flat Assembler x64)

In addition to the Python edition, ScreenCapture Pro includes a pure 64-bit Flat Assembler (FASM x64) native edition in asm/:

  • Ultra-lightweight: ~37 KB standalone executable with zero external dependencies and no Python runtime needed.
  • Microsecond responsiveness: Direct Win32 API calls (USER32, GDI32, AVIFIL32, DWMAPI).
  • Instant Compilation: Compile directly using the included asm/FASM.EXE:
cd asm
build.bat

🤖 Native Model Context Protocol (MCP) Server

ScreenCapture Pro includes a native Model Context Protocol (MCP) server (screenvideo-mcp), allowing AI agents (Claude Desktop, Cursor, Antigravity, OpenManus) to inspect display configurations, capture screenshots or bounding regions with mouse pointers, enumerate WASAPI audio devices, and copy images directly to the Windows clipboard over JSON-RPC 2.0 stdio.

🛠 Available MCP Tools

Tool Parameters Description
screen_list_monitors (none) Discover physical & virtual monitors, geometries, resolutions, and primary screen flags
screen_capture monitor_index, x, y, width, height, format, save_dir, include_cursor, highlight_cursor, return_base64, copy_to_clipboard Capture high-resolution screenshot of a monitor or region with optional cursor halo and base64 export
screen_list_audio_devices (none) Enumerate output speakers (supporting WASAPI loopback audio recording) and microphones
screen_copy_to_clipboard file_path Copy an image file (PNG/JPG/BMP) directly to the Windows clipboard (CF_DIB)

🚀 Running the Server

Run directly via the CLI:

# Using Python module
python -m src.mcp_server

# Or via CLI script
screenvideo-mcp

⚙️ Client Integration Configurations

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "screenvideo": {
      "command": "screenvideo-mcp"
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "screenvideo": {
      "command": "python",
      "args": ["-m", "src.mcp_server"]
    }
  }
}

🌐 Author & Open Source Ecosystem

ScreenCapture Pro is maintained by @eminsk as part of an active suite of systems engineering and quantitative open-source projects:

Maintained Projects

  • agentjit — Just-In-Time Compiler for AI Agent Trajectories compiling workflows into 0.08ms Python code with Native MCP Server (agentjit-mcp). Featured as #1 Top Story in The Daily Diff.
  • nanorecall — 100% Private, Zero-Cloud desktop screen and memory search engine in <200KB with Native MCP Server (nanorecall-mcp).
  • nanovector — Ultra-compact SQLite of vector search in ~120KB with AVX2+FMA, hand-crafted FASM x64 kernels, and Native MCP Server (nanovector-mcp).
  • nanogemm — Minimalist, bare-metal SIMD & Assembly GEMM engine for Python. Sub-microsecond CPU matrix multiplication and Native MCP Server (nanogemm-mcp).
  • xlsx_vievers — Desktop spreadsheet processor with headless 129-function formula engine, SIMD SSE2 math, and Native MCP Server (xlsx-viewer-mcp).
  • yfinance-ta-patterns — Technical analysis candlestick scanner with quantitative AI confluence scoring, backtesting, and Native MCP Server (yfinance-ta-mcp).
  • avito-sdk — High-performance headless Avito scraping & data extraction SDK with price drop tracking and Native MCP Server (avito-mcp).
  • StackOverflowAPI — Modern bilingual desktop reference and search client for Stack Overflow with native x64 FASM and CustomTkinter editions.

Community Open Source Contributions


📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


📖 Описание на русском языке (Нажмите, чтобы развернуть)

Основные возможности

  • Запись всего экрана или нескольких мониторов: поддержка мультимониторных систем (выбор конкретного монитора или виртуального рабочего стола).
  • Интерактивный селектор области (Snipping Tool): визуальное выделение области экрана с затемнением, подсказками и отображением точных размеров.
  • Запись системного звука (динамики / наушники): кристально чистый захват через Windows WASAPI Loopback.
  • Прямой стриминг на диск (Zero-Memory): видеокадры записываются напрямую в файл без утечек оперативной памяти.
  • Пауза и Возобновление (Pause & Resume): мгновенная синхронная пауза видео и звука.
  • Захват и подсветка курсора: высокоскоростной рендеринг указателя мыши и мягкого ореола (Halo).
  • Горячие клавиши по умолчанию: F5 — старт, F6 — пауза, F10 — стоп, F11 — скриншот, ESC — отмена.
  • Лицензия: MIT.

Metadata

Release files for screenvideo 2.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for screenvideo 2.1.1
File Size Uploaded Provenance
screenvideo-2.1.1.tar.gz 56.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for screenvideo 2.1.1
File Interpreter ABI Platform
screenvideo-2.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 111.5 kB

Release files / screenvideo-2.1.1.tar.gz

Download URL screenvideo-2.1.1.tar.gz
Size 56.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b27c757a34a31a60f63283ccca4002b71c07c2cc7dc0e075b6fd6420227b3b34
BLAKE2b-256 checksum
How to use checksums
12d8091fe54470c5fadabb1c2207e0c83e6f1f6572eb7ad85c4867dc9a2ad6b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / screenvideo-2.1.1-py3-none-any.whl

Download URL screenvideo-2.1.1-py3-none-any.whl
Size 55.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
001ed04b77bb603ac77696ff772f3768093ca39631d6cf8c9963cfb3ed06c723
BLAKE2b-256 checksum
How to use checksums
937e2082a702ca2eac3a425b41bd18636db7b6ac9f41ae0f3b3ec9feb8a067ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for screenvideo 2.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page