<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 18.2.0 -",
    "macOS: 12.3.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ScreenCaptureKit",
  "identifier" : "/documentation/ScreenCaptureKit/SCStreamConfiguration",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ScreenCaptureKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SCStreamConfiguration"
  },
  "title" : "SCStreamConfiguration"
}
-->

# SCStreamConfiguration

An instance that provides the output configuration for a stream.

```
class SCStreamConfiguration
```

## Overview

Creating an instance of this class provides a default configuration for a stream. Only configure its properties if you need to customize the output.

## Topics

### Specifying dimensions

[`width`](/documentation/ScreenCaptureKit/SCStreamConfiguration/width)

The width of the output.

[`height`](/documentation/ScreenCaptureKit/SCStreamConfiguration/height)

The height of the output.

[`scalesToFit`](/documentation/ScreenCaptureKit/SCStreamConfiguration/scalesToFit)

A Boolean value that indicates whether to scale the output to fit the configured width and height.

[`sourceRect`](/documentation/ScreenCaptureKit/SCStreamConfiguration/sourceRect)

A rectangle that specifies the source area to capture.

[`destinationRect`](/documentation/ScreenCaptureKit/SCStreamConfiguration/destinationRect)

A rectangle that specifies a destination into which to write the output.

[`preservesAspectRatio`](/documentation/ScreenCaptureKit/SCStreamConfiguration/preservesAspectRatio)

A Boolean value that determines if the stream preserves aspect ratio.

### Configuring colors

[`pixelFormat`](/documentation/ScreenCaptureKit/SCStreamConfiguration/pixelFormat)

A pixel format for sample buffers that a stream outputs.

[`colorMatrix`](/documentation/ScreenCaptureKit/SCStreamConfiguration/colorMatrix)

A color matrix to apply to the output surface.

[`colorSpaceName`](/documentation/ScreenCaptureKit/SCStreamConfiguration/colorSpaceName)

A color space to use for the output buffer.

[`backgroundColor`](/documentation/ScreenCaptureKit/SCStreamConfiguration/backgroundColor)

A background color for the output.

### Configuring captured elements

[`showsCursor`](/documentation/ScreenCaptureKit/SCStreamConfiguration/showsCursor)

A Boolean value that determines whether the cursor is visible in the stream.

[`shouldBeOpaque`](/documentation/ScreenCaptureKit/SCStreamConfiguration/shouldBeOpaque)

A Boolean value that indicates if semitransparent content presents as opaque.

[`capturesShadowsOnly`](/documentation/ScreenCaptureKit/SCStreamConfiguration/capturesShadowsOnly)

A Boolean value that indicates if the stream only captures shadows.

[`ignoreShadowsDisplay`](/documentation/ScreenCaptureKit/SCStreamConfiguration/ignoreShadowsDisplay)

A Boolean value that indicates if the stream ignores the capturing of window shadows when streaming in display style.

[`ignoreShadowsSingleWindow`](/documentation/ScreenCaptureKit/SCStreamConfiguration/ignoreShadowsSingleWindow)

A Boolean value that indicates if the stream ignores the capturing of window shadows when streaming in window style.

[`ignoreGlobalClipDisplay`](/documentation/ScreenCaptureKit/SCStreamConfiguration/ignoreGlobalClipDisplay)

A Boolean value that indicates if the stream ignores content clipped past the edge of a display, when streaming in display style.

[`ignoreGlobalClipSingleWindow`](/documentation/ScreenCaptureKit/SCStreamConfiguration/ignoreGlobalClipSingleWindow)

A Boolean value that indicates if the stream ignores content clipped past the edge of a display, when streaming in window style.

### Configuring captured frames

[`queueDepth`](/documentation/ScreenCaptureKit/SCStreamConfiguration/queueDepth)

The maximum number of frames for the queue to store.

[`minimumFrameInterval`](/documentation/ScreenCaptureKit/SCStreamConfiguration/minimumFrameInterval)

The desired minimum time between frame updates, in seconds.

[`captureResolution`](/documentation/ScreenCaptureKit/SCStreamConfiguration/captureResolution)

The resolution at which to capture source content.

[`SCCaptureResolutionType`](/documentation/ScreenCaptureKit/SCCaptureResolutionType)

Available resolutions for content capture.

### Configuring audio

[`capturesAudio`](/documentation/ScreenCaptureKit/SCStreamConfiguration/capturesAudio)

A Boolean value that indicates whether to capture audio.

[`sampleRate`](/documentation/ScreenCaptureKit/SCStreamConfiguration/sampleRate)

The sample rate for audio capture.

[`channelCount`](/documentation/ScreenCaptureKit/SCStreamConfiguration/channelCount)

The number of audio channels to capture.

[`excludesCurrentProcessAudio`](/documentation/ScreenCaptureKit/SCStreamConfiguration/excludesCurrentProcessAudio)

A Boolean value that indicates whether to exclude audio from your app during capture.

### Identifying a stream

[`streamName`](/documentation/ScreenCaptureKit/SCStreamConfiguration/streamName)

A name that you provide for identifying the stream.

### Notifying presenters

[`presenterOverlayPrivacyAlertSetting`](/documentation/ScreenCaptureKit/SCStreamConfiguration/presenterOverlayPrivacyAlertSetting)

A value indicating if alerts appear to presenters while using Presenter Overlay.

[`SCPresenterOverlayAlertSetting`](/documentation/ScreenCaptureKit/SCPresenterOverlayAlertSetting)

Configures how to present streaming notifications to a streamer of Presenter Overlay.

### Enumerations

[`SCCaptureDynamicRange`](/documentation/ScreenCaptureKit/SCCaptureDynamicRange)

Specifies whether the captured screen output is standard or high dynamic range.

[`SCStreamConfiguration.Preset`](/documentation/ScreenCaptureKit/SCStreamConfiguration/Preset)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)