10 releases
0.3.1 | Nov 29, 2024 |
---|---|
0.3.0 | Nov 29, 2024 |
0.2.8 | Apr 29, 2024 |
0.2.7 | Mar 20, 2024 |
0.1.0 |
|
#53 in Video
824 downloads per month
Used in 3 crates
81KB
2K
SLoC
screencapturekit-rs
Introduction
ScreenCaptureKit is a high-performance screen capture framework for macOS applications. It provides fine-grained control to select and capture specific content on the screen, such as an app window, and is particularly useful in video conferencing apps where users can choose to share only part of their screen. This Rust wrapper aims to provide a safe and easy-to-use interface to the ScreenCaptureKit framework.
Features
-
High Performance: ScreenCaptureKit is performance-focused and leverages the power of Mac GPUs with a lower CPU overhead than existing capture methods.
-
Fine-Grained Control: With ScreenCaptureKit, you can specify the type of content you want to share or filter out. You can capture screen content from any combination of displays, applications, and windows as well as the audio that goes with it.
-
Flexible Configuration: ScreenCaptureKit supports a variety of developer controls, including pixel format, color space, frame rate, and resolution, and on the audio side, controls such as sample rate and channel count. All of these filters and configurations can be adjusted on the fly, allowing for more flexibility in application design.
-
Privacy: ScreenCaptureKit is built with privacy in mind, providing global privacy safeguards for all applications using the framework. The framework will require consent before capturing video and audio content, and the choice will be stored in the Screen Recording privacy setting in system preferences.
Usage
To use this wrapper, you need to follow a few steps:
// TBD
License
Licensed under either of
- Apache License, Version 2.0 LICENSE-APACHE
- MIT license LICENSE-MIT
at your option.
Contributing
We appreciate contributions in the form of bug reports, fixes, feature requests etc, and will review them as time permits. Please keep in mind that this project is experimental and the maintainers' time is limited.
Contributors
Per Johansson |
Kris Krolak |
Tokuhiro Matsuno |
Pranav Joglekar |
Alex Jiao |
Charles |
bigduu |
Dependencies
~2–2.8MB
~59K SLoC