iOS Developer Library

Developer

AVFoundation Framework Reference AVCaptureOutput Class Reference

Options
Deployment Target:

On This Page
Language:

AVCaptureOutput

Conforms To


Import Statement


Swift

import AVFoundation

Objective-C

@import AVFoundation;

Availability


Available in iOS 4.0 and later

AVCaptureOutput is an abstract base class describing an output destination of an AVCaptureSession object.

AVCaptureOutput provides an abstract interface for connecting capture output destinations, such as files and video previews, to an capture session (an instance of AVCaptureSession). A capture output can have multiple connections represented by AVCaptureConnection objects, one for each stream of media that it receives from a capture input (an instance of AVCaptureInput). A capture output does not have any connections when it is first created. When you add an output to a capture session, connections are created that map media data from that session’s inputs to its outputs.

You can add concrete AVCaptureOutput instances to an capture session using addOutput:.

  • The capture output object’s connections. (read-only)

    Declaration

    Swift

    var connections: [AnyObject]! { get }

    Objective-C

    @property(nonatomic, readonly) NSArray *connections

    Discussion

    The value of this property is an array of AVCaptureConnection objects, each describing the mapping between the receiver and the capture input ports (see AVCaptureInputPort) of one or more capture inputs (see AVCaptureInput).

    Import Statement

    Objective-C

    @import AVFoundation;

    Swift

    import AVFoundation

    Availability

    Available in iOS 4.0 and later

  • Returns the first connection in the connections array with an input port of a specified media type.

    Declaration

    Swift

    func connectionWithMediaType(_ mediaType: String!) -> AVCaptureConnection!

    Objective-C

    - (AVCaptureConnection *)connectionWithMediaType:(NSString *)mediaType

    Parameters

    mediaType

    A media type constant (such as AVMediaTypeVideo or AVMediaTypeAudio).

    Return Value

    The first capture connection in the connections array that has an AVCaptureInputPort with media type mediaType, or nil if no connection with the specified media type is found.

    Import Statement

    Objective-C

    @import AVFoundation;

    Swift

    import AVFoundation

    Availability

    Available in iOS 5.0 and later

    See Also

    Media Types

  • Converts an AVMetadataObject's visual properties to the receiver's coordinates.

    Declaration

    Swift

    func transformedMetadataObjectForMetadataObject(_ metadataObject: AVMetadataObject!, connection connection: AVCaptureConnection!) -> AVMetadataObject!

    Objective-C

    - (AVMetadataObject *)transformedMetadataObjectForMetadataObject:(AVMetadataObject *)metadataObject connection:(AVCaptureConnection *)connection

    Parameters

    metadataObject

    An AVMetadataObject originating from the same AVCaptureInput as the receiver.

    connection

    The receiver's connection whose AVCaptureInput matches that of the metadata object to be converted.

    Return Value

    An AVMetadataObject whose properties are in output coordinates, or nil if metadataObject originates from an input source other than the preview layer.

    Discussion

    This method converts the visual properties in the coordinate space of the supplied AVMetadataObject to the coordinate space of the receiver. The conversion takes orientation, mirroring, and scaling into consideration and alters the visual properties of the provided metadata object to match the physical rotation and mirroring of the sample buffers provided by the receiver through the indicated connection.

    This means that for video data output (AVCaptureVideoDataOutput), adjusted metadata object coordinates are rotated and mirrored. For still image (AVCaptureStillImageOutput) and movie file (AVCaptureMovieFileOutput) output, they are not. Instead, the rotation and mirroring of the metadata object coordinates for these two types of output are determined on playback.

    Import Statement

    Objective-C

    @import AVFoundation;

    Swift

    import AVFoundation

    Availability

    Available in iOS 6.0 and later

  • Converts a rectangle in the capture output object’s coordinate system to one in the coordinate system used for metadata outputs.

    Declaration

    Swift

    func metadataOutputRectOfInterestForRect(_ rectInOutputCoordinates: CGRect) -> CGRect

    Objective-C

    - (CGRect)metadataOutputRectOfInterestForRect:(CGRect)rectInOutputCoordinates

    Parameters

    rectInOutputCoordinates

    A rectangle in the AVCaptureOutput object’s coordinate system.

    Return Value

    A rectangle in the AVCaptureMetadataOutput coordinate system.

    Discussion

    The rectangle of interest for an AVCaptureMetadataOutput object is in a coordinate system extending from (0,0) in the top left to (1,1) in the bottom right, relative to the device’s natural orientation. A capture output object uses a pixel coordinate space which may be zoomed, rotated, or mirrored. Use this convenience method to quickly convert between coordinate spaces.

    Import Statement

    Objective-C

    @import AVFoundation;

    Swift

    import AVFoundation

    Availability

    Available in iOS 7.0 and later

  • Converts a rectangle in the coordinate system used for metadata outputs to one in the capture output object’s coordinate system.

    Declaration

    Swift

    func rectForMetadataOutputRectOfInterest(_ rectInMetadataOutputCoordinates: CGRect) -> CGRect

    Objective-C

    - (CGRect)rectForMetadataOutputRectOfInterest:(CGRect)rectInMetadataOutputCoordinates

    Parameters

    rectInMetadataOutputCoordinates

    A rectangle in the AVCaptureMetadataOutput coordinate system.

    Return Value

    A rectangle in the AVCaptureOutput object’s coordinate system.

    Discussion

    The rectangle of interest for an AVCaptureMetadataOutput object is in a coordinate system extending from (0,0) in the top left to (1,1) in the bottom right, relative to the device’s natural orientation. A capture output object uses a pixel coordinate space which may be zoomed, rotated, or mirrored. Use this convenience method to quickly convert between coordinate spaces.

    Import Statement

    Objective-C

    @import AVFoundation;

    Swift

    import AVFoundation

    Availability

    Available in iOS 7.0 and later