Safe, idiomatic Rust bindings for Apple's ScreenCaptureKit framework to capture screen content, windows, and applications on macOS.
ScreenCaptureKit-rs is a Rust crate that provides safe, idiomatic bindings to Apple's ScreenCaptureKit framework. It allows developers to capture screen content, windows, and applications on macOS with high performance and low overhead. The crate solves the problem of accessing macOS's native screen capture capabilities from Rust, enabling building of recording, streaming, and real-time video processing applications.
Rust developers building macOS applications that require screen capture functionality, such as recording software, live streaming tools, video conferencing apps, or real-time screen sharing solutions.
Developers choose ScreenCaptureKit-rs because it provides memory-safe, leak-free access to Apple's native ScreenCaptureKit API with an idiomatic Rust interface. It offers zero dependencies, comprehensive async support, and built-in Metal integration, making it more performant and easier to use than alternative FFI approaches or lower-level frameworks.
Safe, idiomatic Rust bindings for Apple ScreenCaptureKit — high-performance screen, window, and audio capture on macOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides leak-free, reference-counted access to Apple's ScreenCaptureKit, ensuring safe memory management as highlighted in the crate's philosophy of idiomatic Rust design.
Enables zero-copy GPU texture access via IOSurface and real-time frame callbacks with custom dispatch queues, optimized for low overhead in streaming and recording applications.
Offers runtime-agnostic async API compatible with Tokio, async-std, and other executors, allowing seamless integration into existing async codebases without locking to a specific runtime.
Includes system-level features like content picker UI, built-in Metal shaders, and support for latest macOS APIs through version-specific feature flags, such as HDR capture on macOS 15.0+.
Limited to macOS 12.3+, making it useless for cross-platform projects or older systems, and tightly coupled to Apple's ecosystem with no fallback options.
Requires manual setup of screen recording permissions and entitlements for distribution, which can be cumbersome for development and deployment, as noted in the troubleshooting section.
Issues like black frames or audio capture problems often require system-level troubleshooting and GPU access verification, adding overhead to development and maintenance.