macOS · Swift + Node.js
screen-capture
A background screen-recording pipeline for macOS. It captures every display at one frame every five seconds and encodes hardware-accelerated HEVC, organised by day, and recovers from crashes on its own.
-
screen-capture
Swift
yrambler2001/screen-capture
A Swift ScreenCaptureKit capturer streams frames to FFmpeg (hevc_videotoolbox) under a Node.js supervisor that runs as a pm2 service.
- Multi-monitor: internal and external displays stitched into one canvas
- Hardware HEVC through VideoToolbox for low CPU use
- Supervisor restarts a hung or crashed pipeline with progressive backoff
- Watchdog detects stalled encodes (no file growth for 12 minutes)
- Adapts when monitors are plugged in or removed
- Recordings saved to ~/Recordings/YYYY-MM-DD/ in numbered parts
- Requires macOS 12.3 or later, FFmpeg and Node.js