---
title: SCStream
framework: screencapturekit
role: symbol
role_heading: Class
path: screencapturekit/scstream
---

# SCStream

An instance that represents a stream of shareable content.

## Declaration

```swift
class SCStream
```

## Overview

Overview Use a stream to capture video of screen content like apps and windows. Create a content stream by passing it an instance of SCContentFilter and an SCStreamConfiguration object. The stream uses the filter to determine which screen content to capture, and uses the configuration data to configure the output.

## Topics

### Creating a stream

- [init(filter:configuration:delegate:)](screencapturekit/scstream/init(filter:configuration:delegate:).md)

### Updating stream configuration

- [updateConfiguration(_:completionHandler:)](screencapturekit/scstream/updateconfiguration(_:completionhandler:).md)
- [updateContentFilter(_:completionHandler:)](screencapturekit/scstream/updatecontentfilter(_:completionhandler:).md)

### Adding and removing stream output

- [addStreamOutput(_:type:sampleHandlerQueue:)](screencapturekit/scstream/addstreamoutput(_:type:samplehandlerqueue:).md)
- [removeStreamOutput(_:type:)](screencapturekit/scstream/removestreamoutput(_:type:).md)

### Adding and removing recording output

- [addRecordingOutput(_:)](screencapturekit/scstream/addrecordingoutput(_:).md)
- [removeRecordingOutput(_:)](screencapturekit/scstream/removerecordingoutput(_:).md)
- [SCRecordingOutput](screencapturekit/screcordingoutput.md)

### Starting and stopping a stream

- [startCapture(completionHandler:)](screencapturekit/scstream/startcapture(completionhandler:).md)
- [stopCapture(completionHandler:)](screencapturekit/scstream/stopcapture(completionhandler:).md)

### Stream synchronization

- [synchronizationClock](screencapturekit/scstream/synchronizationclock.md)

### Instance Properties

- [isCapturing](screencapturekit/scstream/iscapturing.md)

### Instance Methods

- [addClipBufferingOutput(_:)](screencapturekit/scstream/addclipbufferingoutput(_:).md)
- [addVideoEffectOutput(_:)](screencapturekit/scstream/addvideoeffectoutput(_:).md)
- [removeClipBufferingOutput(_:)](screencapturekit/scstream/removeclipbufferingoutput(_:).md)
- [removeVideoEffectOutput(_:)](screencapturekit/scstream/removevideoeffectoutput(_:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Content capture

- [SCStreamConfiguration](screencapturekit/scstreamconfiguration.md)
- [SCContentFilter](screencapturekit/sccontentfilter.md)
- [SCStreamDelegate](screencapturekit/scstreamdelegate.md)
- [SCScreenshotManager](screencapturekit/scscreenshotmanager.md)
- [SCScreenshotConfiguration](screencapturekit/scscreenshotconfiguration.md)
- [SCScreenshotOutput](screencapturekit/scscreenshotoutput.md)
