Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. screencapturekit-rs

screencapturekit-rs

Apache-2.0Rustv8.0.1

Safe, idiomatic Rust bindings for Apple's ScreenCaptureKit framework to capture screen content, windows, and applications on macOS.

Visit WebsiteGitHubGitHub
226 stars45 forks0 contributors

What is screencapturekit-rs?

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.

Target Audience

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.

Value Proposition

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.

Overview

Safe, idiomatic Rust bindings for Apple ScreenCaptureKit — high-performance screen, window, and audio capture on macOS.

Use Cases

Best For

  • Building screen recording applications for macOS
  • Creating real-time screen sharing or remote desktop tools
  • Developing video conferencing software with screen capture
  • Implementing live streaming applications that capture desktop content
  • Building accessibility tools that analyze or interact with screen content
  • Creating developer tools for debugging or monitoring desktop applications

Not Ideal For

  • Cross-platform applications that need screen capture on Windows or Linux
  • Projects targeting macOS versions older than 12.3 (Monterey)
  • Simple utilities requiring only basic screenshots without real-time processing or audio

Pros & Cons

Pros

Memory-Safe Bindings

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.

High-Performance Capture

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.

Flexible Async Support

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.

Comprehensive macOS Integration

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+.

Cons

Platform Exclusivity

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.

Permission and Entitlement Hassles

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.

Debugging Complexity

Issues like black frames or audio capture problems often require system-level troubleshooting and GPU access verification, adding overhead to development and maintenance.

Frequently Asked Questions

Quick Stats

Stars226
Forks45
Contributors0
Open Issues0
Last commit6 days ago
CreatedSince 2023

Tags

#apple#ffi-bindings#video-capture#metal#ffi#async#screen-recording#audio-capture#screen-capture#macos-app#swift#rust#real-time#macos#desktop-applications

Built With

C
CoreMedia
C
CoreGraphics
C
CoreVideo
R
Rust
S
ScreenCaptureKit
M
Metal

Links & Resources

Website

Included in

Rust56.6k
Auto-fetched 17 hours ago

Related Projects

GyroflowGyroflow

Video stabilization using gyroscope data

Stars9,221
Forks472
Last commit8 days ago
rav1erav1e

The fastest and safest AV1 encoder.

Stars4,136
Forks287
Last commit3 days ago
xiuxiu

A simple,high performance and secure live media server in pure Rust (RTMP[cluster]/RTSP/WebRTC[whip/whep]/HTTP-FLV/HLS).🦀

Stars2,308
Forks238
Last commit4 months ago
ffmpeg-sidecarffmpeg-sidecar

Wrap a standalone FFmpeg binary in an intuitive Iterator interface. 🏍

Stars533
Forks31
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub