---
title: Capture setup
framework: AVFoundation
role: collectionGroup
role_heading: API Collection
path: avfoundation/capture-setup
---

# Capture setup

Configure built-in cameras and microphones, and external capture devices, for media capture.

## Overview

Overview The AVFoundation Capture subsystem provides a common high-level architecture for video, photo, and audio capture services in iOS and macOS. Use this system if you want to: Build a custom camera UI to integrate shooting photos or videos into your app’s user experience. Give users more direct control over photo and video capture, such as focus, exposure, and stabilization options. Produce different results than the system camera UI, such as RAW format photos, depth maps, or videos with custom timed metadata. Get live access to pixel or audio data streaming directly from a capture device. note: To instead let the user capture media with the system camera UI within your app, see UIImagePickerController. The main parts of the capture architecture are sessions, inputs, and outputs: Capture sessions connect one or more inputs to one or more outputs. Inputs are sources of media, including capture devices like the cameras and microphones built into an iOS device or Mac. Outputs acquire media from inputs to produce useful data, such as movie files written to disk or raw pixel buffers available for live processing.

## Topics

### Essentials

- [Requesting authorization to capture and save media](avfoundation/requesting-authorization-to-capture-and-save-media.md)

### Capture sessions

- [Setting up a capture session](avfoundation/setting-up-a-capture-session.md)
- [Accessing the camera while multitasking on iPad](avkit/accessing-the-camera-while-multitasking-on-ipad.md)
- [AVCam: Building a camera app](avfoundation/avcam-building-a-camera-app.md)
- [Building a responsive camera app that launches quickly](avfoundation/building-a-responsive-camera-app-that-launches-quickly.md)
- [Capturing Cinematic video](avfoundation/capturing-cinematic-video.md)
- [Supporting Center Stage front camera in your iOS app](avfoundation/supporting-center-stage-front-camera-in-your-ios-app.md)
- [AVMultiCamPiP: Capturing from Multiple Cameras](avfoundation/avmulticampip-capturing-from-multiple-cameras.md)
- [AVCamBarcode: detecting barcodes and faces](avfoundation/avcambarcode-detecting-barcodes-and-faces.md)
- [Registering a camera capture accessory on iPhone Duo](avfoundation/registering-a-camera-capture-accessory-on-iphone-duo.md)
- [AVCaptureSession](avfoundation/avcapturesession.md)
- [AVCaptureMultiCamSession](avfoundation/avcapturemulticamsession.md)
- [AVCaptureInput](avfoundation/avcaptureinput.md)
- [AVCaptureOutput](avfoundation/avcaptureoutput.md)
- [AVCaptureConnection](avfoundation/avcaptureconnection.md)

### Capture devices

- [Choosing a capture device](avfoundation/choosing-a-capture-device.md)
- [Adopting smart framing in your camera app](avfoundation/adopting-smart-framing-in-your-camera-app.md)
- [Supporting device rotation in your camera app](avfoundation/supporting-device-rotation-in-your-camera-app.md)
- [AVCaptureDevice](avfoundation/avcapturedevice.md)
- [AVCaptureDeviceInput](avfoundation/avcapturedeviceinput.md)
- [AVContinuityDevice](avfoundation/avcontinuitydevice.md)
- [AVExternalStorageDevice](avfoundation/avexternalstoragedevice.md)
- [AVExternalStorageDeviceDiscoverySession](avfoundation/avexternalstoragedevicediscoverysession.md)

### Capture preview

- [AVCaptureVideoPreviewLayer](avfoundation/avcapturevideopreviewlayer.md)
- [AVCaptureAudioPreviewOutput](avfoundation/avcaptureaudiopreviewoutput.md)

### Continuity Camera

- [Supporting Continuity Camera in your tvOS app](avkit/supporting-continuity-camera-in-your-tvos-app.md)
- [Supporting Continuity Camera in your macOS app](avfoundation/supporting-continuity-camera-in-your-macos-app.md)
- [AVCaptureDeskViewApplication](avfoundation/avcapturedeskviewapplication.md)

### Capture controls

- [Enhancing your app experience with the Camera Control](avfoundation/enhancing-your-app-experience-with-the-camera-control.md)
- [AVCaptureControl](avfoundation/avcapturecontrol.md)
- [AVCaptureSystemZoomSlider](avfoundation/avcapturesystemzoomslider.md)
- [AVCaptureSystemExposureBiasSlider](avfoundation/avcapturesystemexposurebiasslider.md)
- [AVCaptureSlider](avfoundation/avcaptureslider.md)
- [AVCaptureIndexPicker](avfoundation/avcaptureindexpicker.md)

### External display output

- [AVCaptureExternalDisplayConfiguration](avfoundation/avcaptureexternaldisplayconfiguration.md)
- [AVCaptureExternalDisplayConfigurator](avfoundation/avcaptureexternaldisplayconfigurator.md)

### Timecode generation

- [AVCaptureTimecodeGenerator](avfoundation/avcapturetimecodegenerator.md)
- [AVCaptureTimecodeGeneratorDelegate](avfoundation/avcapturetimecodegeneratordelegate.md)
- [AVCaptureTimecodeGenerator.SynchronizationStatus](avfoundation/avcapturetimecodegenerator/synchronizationstatus.md)
- [AVCaptureTimecode.Source](avfoundation/avcapturetimecode/source.md)
- [AVCaptureTimecode.SourceType](avfoundation/avcapturetimecode/sourcetype-swift.enum.md)
- [AVCaptureTimecode](avfoundation/avcapturetimecode.md)
- [advanced(_:by:)](avfoundation/avcapturetimecode/advanced(_:by:).md)
- [createMetadataSampleBuffer(from:associatedWithPresentationTimeStamp:)](avfoundation/avcapturetimecode/createmetadatasamplebuffer(from:associatedwithpresentationtimestamp:).md)
- [createMetadataSampleBuffer(from:forDuration:)](avfoundation/avcapturetimecode/createmetadatasamplebuffer(from:forduration:).md)

### External synchronization

- [AVExternalSyncDevice](avfoundation/avexternalsyncdevice.md)
- [AVExternalSyncDeviceDelegate](avfoundation/avexternalsyncdevicedelegate.md)
- [AVExternalSyncDeviceStatus](avfoundation/avexternalsyncdevicestatus.md)
- [AVExternalSyncDevice.DiscoverySession](avfoundation/avexternalsyncdevice/discoverysession.md)

### Pro video storage

- [AVProVideoStorage](avfoundation/avprovideostorage.md)

## See Also

### Capture

- [Photo capture](avfoundation/photo-capture.md)
- [Audio and video capture](avfoundation/audio-and-video-capture.md)
- [Additional data capture](avfoundation/additional-data-capture.md)
