---
title: AVCaptureScreenInput
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avcapturescreeninput
---

# AVCaptureScreenInput

A capture input for recording from a screen in macOS.

## Declaration

```swift
class AVCaptureScreenInput
```

## Overview

Overview important: Starting in macOS 12.3, use the ScreenCaptureKit framework for screen recording instead. This class is a concrete capture input subclass that provides an interface to capture media from a screen or a portion of a screen. Use instances of this class as input sources for AVCaptureSession objects that provide media data from one of the screens connected to the system, represented by CGDirectDisplayID.

## Topics

### Initializing a capture screen input

- [init(displayID:)](avfoundation/avcapturescreeninput/init(displayid:).md)
- [init()](avfoundation/avcapturescreeninput/init().md)

### Setting video capture options

- [minFrameDuration](avfoundation/avcapturescreeninput/minframeduration.md)
- [cropRect](avfoundation/avcapturescreeninput/croprect.md)
- [scaleFactor](avfoundation/avcapturescreeninput/scalefactor.md)

### Capturing mouse activity

- [capturesCursor](avfoundation/avcapturescreeninput/capturescursor.md)
- [capturesMouseClicks](avfoundation/avcapturescreeninput/capturesmouseclicks.md)

### Deprecated

- [removesDuplicateFrames](avfoundation/avcapturescreeninput/removesduplicateframes.md)

## Relationships

### Inherits From

- [AVCaptureInput](avfoundation/avcaptureinput.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)
