<!--
{
  "availability" : [
    "iOS: 6.0.0 -",
    "iPadOS: 6.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.8.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVPlayerItemVideoOutput",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVPlayerItemVideoOutput"
  },
  "title" : "AVPlayerItemVideoOutput"
}
-->

# AVPlayerItemVideoOutput

An object that outputs video frames from a player item.

```
class AVPlayerItemVideoOutput
```

## Topics

### Creating a video output

[`init(pixelBufferAttributes:)`](/documentation/AVFoundation/AVPlayerItemVideoOutput/init(pixelBufferAttributes:)-7n7v8)

Creates a video output object using the specified pixel buffer attributes.

[`init(pixelBufferAttributes:)`](/documentation/AVFoundation/AVPlayerItemVideoOutput/init(pixelBufferAttributes:)-18izh)

Initializes an instance of AVPlayerItemVideoOutput, using the specified pixel buffer attributes, for video image output   

[`init(outputSettings:)`](/documentation/AVFoundation/AVPlayerItemVideoOutput/init(outputSettings:))

Creates a video output object initialized with the specified output settings.

### Configuring the delegate

[`setDelegate(_:queue:)`](/documentation/AVFoundation/AVPlayerItemVideoOutput/setDelegate(_:queue:))

Sets the delegate and dispatch queue for the receiver.

[`delegate`](/documentation/AVFoundation/AVPlayerItemVideoOutput/delegate)

The delegate for the video output object.

[`AVPlayerItemOutputPullDelegate`](/documentation/AVFoundation/AVPlayerItemOutputPullDelegate)

Methods you can implement to respond to pixel buffer changes.

[`delegateQueue`](/documentation/AVFoundation/AVPlayerItemVideoOutput/delegateQueue)

The dispatch queue on which to call delegate methods.

### Notifying the delegate of changes

[`requestNotificationOfMediaDataChange(withAdvanceInterval:)`](/documentation/AVFoundation/AVPlayerItemVideoOutput/requestNotificationOfMediaDataChange(withAdvanceInterval:))

Tells the receiver that the video out put client is entering a quiescent state.

### Getting pixel buffer data

[`hasNewPixelBuffer(forItemTime:)`](/documentation/AVFoundation/AVPlayerItemVideoOutput/hasNewPixelBuffer(forItemTime:))

Returns a Boolean value that indicates whether video output is available for the specified item time.

[`copyPixelBuffer(forItemTime:itemTimeForDisplay:)`](/documentation/AVFoundation/AVPlayerItemVideoOutput/copyPixelBuffer(forItemTime:itemTimeForDisplay:))

Retrieves an image that is appropriate for display at the specified item time, and marks the image as acquired.

[`pixelBufferAndDisplayTime(forItemTime:)`](/documentation/AVFoundation/AVPlayerItemVideoOutput/pixelBufferAndDisplayTime(forItemTime:))

Retrieves an image that is appropriate for display at the specified item time, and marks the image as acquired



---

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)