ScreenCaptureKit provides high-performance capture of screen, window, and audio content, along with screenshots and recording. You discover the displays, windows, and applications available for capture with SCShareableContent, SCDisplay, SCWindow, and SCRunningApplication, then narrow what is captured using an SCContentFilter and SCStreamConfiguration. An SCStream delivers frames to your SCStreamOutput and reports state through an SCStreamDelegate, while SCScreenshotManager produces still images and SCRecordingOutput writes recordings to disk. For user-driven selection, SCContentSharingPicker presents a system content-sharing picker that reports its choices to an SCContentSharingPickerObserver.
Discovering Shareable Content 6
Enumerate the displays, windows, and applications that are available to capture.
- ClSCShareableContentmacOS 12.3+An object that lists the displays, windows, and applications available to capture.
- ClSCShareableContentInfomacOS 14.0+@abstract SCShareableContentInfo
- ClSCDisplaymacOS 12.3+An object that represents a display available for capture.
- ClSCWindowmacOS 12.3+An object that represents an on-screen window available for capture.
- ClSCRunningApplicationmacOS 12.3+An object that represents an application available for capture.
- EnSCShareableContentStylemacOS 12.3+@typedef SCShareableContentStyle
Configuring What to Capture 5
Narrow capture to specific content and tune the resulting stream's output.
- ClSCContentFiltermacOS 12.3+@abstract SCContentFilter
- ClSCStreamConfigurationmacOS 12.3+@abstract SCStreamConfiguration
- EnSCCaptureResolutionTypemacOS 12.3+Constants that specify whether capture uses the best or a nominal resolution.
- EnSCCaptureDynamicRangemacOS 15.0+@typedef SCCaptureDynamicRange
- EnSCPresenterOverlayAlertSettingmacOS 14.0+@typedef SCPresenterOverlayAlertSetting
Capturing a Stream 8
Start a live capture stream and receive frames and state callbacks.
- ClSCStreammacOS 12.3+An object that captures screen and audio content and delivers frames to its outputs.
- PrSCStreamOutputmacOS 12.3+A protocol you implement to receive captured sample buffers from a stream.
- PrSCStreamDelegatemacOS 12.3+@abstract SCStreamDelegate
- EnSCStreamOutputTypemacOS 12.3+@typedef SCStreamOutputType
- EnSCStreamType@typedef SCStreamType
- StSCStreamFrameInfomacOS 12.3+Keys that identify metadata attached to each captured frame.
- EnSCFrameStatusmacOS 12.3+@typedef SCFrameStatus
- StSCStreamErrormacOS 12.3+An error type that describes failures that occur while capturing a stream.
Recording to Disk 7
Write captured content to a movie file and edit recordings.
- ClSCRecordingOutputmacOS 15.0+A stream output that writes captured screen and audio content to a movie file on disk.
- ClSCRecordingOutputConfigurationmacOS 15.0+@abstract SCRecordingOutputConfiguration
- PrSCRecordingOutputDelegatemacOS 15.0+@protocol SCRecordingOutputDelegate
- ClSCRecordingEditormacOS 27.0+@class SCRecordingEditor
- PrSCRecordingEditorDelegatemacOS 27.0+A protocol you implement to respond to events from a recording editor.
- ClSCClipBufferingOutputmacOS 27.0+@abstract SCClipBufferingOutput
- PrSCClipBufferingOutputDelegatemacOS 27.0+@protocol SCClipBufferingOutputDelegate
Taking Screenshots 3
Produce still images from displays, windows, or a content filter.
- ClSCScreenshotManagermacOS 14.0+An object that captures still images of displays, windows, or filtered content.
- ClSCScreenshotConfigurationmacOS 26.0+@abstract SCScreenshotConfiguration
- ClSCScreenshotOutputmacOS 26.0+@abstract SCScreenshotOutput
Presenting the Content-Sharing Picker 4
Let the user choose what to share through the system content-sharing picker.
- ClSCContentSharingPickermacOS 14.0+@abstract SCContentSharingPicker
- PrSCContentSharingPickerObservermacOS 14.0+@abstract SCContentSharingPickerObserver
- StSCContentSharingPickerConfigurationiOS 27.0+A configuration that specifies the allowed selection styles and options for the content-sharing picker.
- StSCContentSharingPickerModemacOS 14.0+@typedef SCContentSharingPickerMode