Record like a pro. Pay like it's 2005.
A free, open-source, high-performance screen recorder for developers, creators, and power users. Captures high-framerate desktop feeds with cinematic auto-zoom, customizable cursor trails, keyboard overlays, and live webcam PIP.
Here is how EasySpecy looks in action, displaying the sleek, high-fidelity light-mode interface:
The modular capture layers are represented in our high-end bento architecture:
EasySpecy is built on a split-architecture model that divides tasks between a web-standard frontend UI and a highly optimized native systems backend.
-
Zero-Copy Display Frame Capture:
- Rather than scanning memory buffers periodically, the Rust core queries frame updates directly from GPU display surfaces using native system APIs (e.g.
Windows Graphics Captureon Windows,ScreenCaptureKiton macOS). - This provides hardware-assisted, sub-millisecond capturing performance, ensuring screen captures remain locked at
60 FPSeven under heavy gaming or CPU rendering loads.
- Rather than scanning memory buffers periodically, the Rust core queries frame updates directly from GPU display surfaces using native system APIs (e.g.
-
Parallel Frame Post-Processor & Cursor Trails:
- The captured display frames undergo a processing pipeline that overlays vector-interpolated cursor trails, click wave ripples, and auto-zoom calculations.
- These compute-heavy operations are chunked and executed in parallel across a CPU thread pool using
Rayon. It prevents CPU thread bottlenecks and maintains consistent framerates.
-
Webcam PIP Overlay:
- The facecam feed runs in a dedicated, transparent picture-in-picture viewport.
- It captures the camera feed natively on the client using the browser's hardware-accelerated Media Devices API. It is overlayed directly as a hardware-composited window, allowing the screen capturer to record it as part of the desktop scene with zero extra rendering lag.
-
Keyboard Overlay Engine:
- Real-time keystrokes are captured using native system-wide listener hooks binded via Tauri.
- The captured input events are pushed through the IPC bridge, prompting immediate render states inside the overlay component.
-
High-Performance Audio Pipeline & RNN Filter:
- Audio inputs are handled using the
cpalsystems audio interface. The engine captures microphone inputs and loopbacks system audio, converting them to clean single-format PCM audio buffers. - The microphone stream is piped directly through
nnnoiseless(a Rust implementation of Mozilla'sRNNoiseRecurrent Neural Network). The neural network isolates vocal signals and strips out keyboard typing, clicks, and background ambient sounds.
- Audio inputs are handled using the
-
FFmpeg Sub-Process Streaming:
- Processed frames (RGBA) and clean audio bytes (PCM) are written directly into an active, low-overhead FFmpeg subprocess pipe.
- The frames are encoded on the fly (leveraging hardware encoders like H.264 NVENC/AMF/QSV when available) and written to the output file wrapper (
.mp4), ensuring the video is ready immediately on stop with zero post-processing delay.
| Feature | Windows | macOS | Linux |
|---|---|---|---|
| Display Capture (60 FPS) | Yes (WGC) | Yes (SCK) | Experimental (PipeWire) |
| Cinematic Auto-Zoom | Yes (Direct) | No | No |
| Vector Cursor Trails | Yes (Direct) | No | No |
| Keyboard Overlay | Yes (Tauri Win Hook) | No | No |
| Webcam Overlay | Yes (Direct) | Yes (Direct) | Yes (Direct) |
| RNN Audio Noise Gate | Yes (RNNoise) | Yes (RNNoise) | Yes (RNNoise) |
| Hardware Encoding | Yes (NVENC/AMF) | Yes (VideoToolbox) | Experimental (VAAPI) |
Ensure you have the following installed on your machine:
- Rust Toolchain (via rustup)
- Node.js v20+ (with
npm) - FFmpeg (installed and added to your system
PATH) - MSVC Build Tools (for compiling native Windows bindings)
-
Clone the repository:
git clone https://github.com/IsNoobgrammer/EasySpecy.git cd EasySpecy -
Install frontend dependencies:
npm install
-
Start the development server (Live Hot Reloading):
npm run tauri dev
-
Build the production installer:
npm run tauri build
The built installer
.exewill be located undersrc-tauri/target/release/bundle/nsis/.
- Full Documentation Site — Detailed configurations and advanced guides.
- Auto-Zoom Guide — Learn how to tweak easing curves.
- Contributing Guidelines — Help us make EasySpecy better!
EasySpecy is built with Rust + Tauri • Maintained by Shaurya • Documentation
Released under the MIT License

