Instance Property


The compression settings for the output.


@property(nonatomic, copy) NSDictionary<NSString *,id> *videoSettings;


The dictionary contains values for compression settings keys defined in Video Settings, or pixel buffer attributes keys defined in CVPixelBufferRef. The only key currently supported is the kCVPixelBufferPixelFormatTypeKey key.

To get possible values for the supported video pixel formats (kCVPixelBufferPixelFormatTypeKey) and video codec formats (AVVideoCodecKey), see availableVideoCVPixelFormatTypes and availableVideoCodecTypes respectively.

To receive samples in their device native format, set this property to an empty dictionary:

AVCaptureVideoDataOutput* myVideoOutput;   // Assume this exists.
myVideoOutput.videoSettings = @{ };  // Receive samples in device format.

If you set this property to nil and then subsequently query it, you get a dictionary reflecting the settings used by the capture sessions’s current sessionPreset.

See Also

Configuring Video Capture

Video Settings Dictionaries

Define output image and video formats by using the key and value constants.


The minimum frame duration.


Indicates whether to drop video frames if they arrive late.


A Boolean value that indicates whether the output automatically configures the size of output buffers.


A Boolean value that indicates whether the output is configured to deliver preview-sized buffers.

- recommendedVideoSettingsForVideoCodecType:assetWriterOutputFileType:

Returns a video settings dictionary appropriate for capturing video to be recorded to a file with the specified codec and type.

- recommendedVideoSettingsForAssetWriterWithOutputFileType:

Specifies the recommended settings for use with an AVAssetWriterInput.