<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 11.0.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ReplayKit",
  "identifier" : "/documentation/ReplayKit",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "ReplayKit"
    ],
    "preciseIdentifier" : "ReplayKit"
  },
  "title" : "ReplayKit"
}
-->

# ReplayKit

Record or stream video from the screen, and audio from the app and microphone.

## Overview

Using the ReplayKit framework, users can record video from the screen, and audio from the app and microphone. They can then share their recordings with other users through email, messages, and social media. You can build app extensions for live broadcasting your content to sharing services. ReplayKit is incompatible with <doc://com.apple.documentation/documentation/AVFoundation/AVPlayer> content.

## Topics

### Replay Sharing

[Recording and Streaming Your macOS App](/documentation/ReplayKit/recording-and-streaming-your-macos-app)

Share screen recordings, or broadcast live audio and video of your app, by adding ReplayKit to your macOS apps and games.

[`RPScreenRecorder`](/documentation/ReplayKit/RPScreenRecorder)

The shared recorder object that provides the ability to record audio and video of your app.

[`RPPreviewViewController`](/documentation/ReplayKit/RPPreviewViewController)

An object that displays a user interface where users preview and edit a screen recording that you create with ReplayKit.

### Media Clip Processing

[`RPBroadcastController`](/documentation/ReplayKit/RPBroadcastController)

An object containing methods for starting and controlling a broadcast.

[`RPBroadcastHandler`](/documentation/ReplayKit/RPBroadcastHandler)

An object that sends messages to the broadcasting app.

[`RPBroadcastSampleHandler`](/documentation/ReplayKit/RPBroadcastSampleHandler)

An object that processes buffer objects as received from ReplayKit.

[`RPBroadcastMP4ClipHandler`](/documentation/ReplayKit/RPBroadcastMP4ClipHandler)

An object that processes MP4 movie clips from ReplayKit.

### Live Broadcast Implementation

[`RPBroadcastActivityViewController`](/documentation/ReplayKit/RPBroadcastActivityViewController)

A view controller that displays a user interface where users choose a broadcast service.

[`RPSystemBroadcastPickerView`](/documentation/ReplayKit/RPSystemBroadcastPickerView)

A view displaying a broadcast button that, when tapped, shows a broadcast picker.

[`RPBroadcastActivityController`](/documentation/ReplayKit/RPBroadcastActivityController)

A controller object that presents the macOS broadcast picker.

[`RPBroadcastActivityControllerDelegate`](/documentation/ReplayKit/RPBroadcastActivityControllerDelegate)

A protocol that defines the methods to implement to respond to selection events from a broadcast activity controller.

[`RPBroadcastConfiguration`](/documentation/ReplayKit/RPBroadcastConfiguration)

An object used to configure the movie clips produced during a live broadcast.

### Errors

[`RPRecordingErrorCode`](/documentation/ReplayKit/RPRecordingErrorCode)

The ReplayKit error domain codes.

[`RPRecordingErrorDomain`](/documentation/ReplayKit/RPRecordingErrorDomain)

The ReplayKit error domain.

[`SCStreamErrorDomain`](/documentation/ReplayKit/SCStreamErrorDomain)



---

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)
