---
title: VTFrameProcessor
framework: videotoolbox
role: symbol
role_heading: Class
path: videotoolbox/vtframeprocessor
---

# VTFrameProcessor

A class that creates a new frame processor for the configured video effect.

## Declaration

```swift
class VTFrameProcessor
```

## Overview

Overview Use this class to perform frame by frame processing on your video. Start by specifying a video effect by passing a VTFrameProcessorConfiguration object to the startSession(configuration:) call. Once the session is created, process(parameters:completionHandler:) is called in a loop to process your video’s frames one at a time. Once all the frames are processed, call an endSession() to finish all pending processing. For successful processing, the caller needs to ensure that all buffers passed to the processWithParameters interface are unmodified (including attachments) until the function returns or the callback is received in the case of asynchronous mode.

## Topics

### Creating a frame processor

- [init()](videotoolbox/vtframeprocessor/init().md)

### Processing frames

- [startSession(configuration:)](videotoolbox/vtframeprocessor/startsession(configuration:).md)
- [process(parameters:)](videotoolbox/vtframeprocessor/process(parameters:).md)
- [process(parameters:completionHandler:)](videotoolbox/vtframeprocessor/process(parameters:completionhandler:).md)
- [process(with:parameters:)](videotoolbox/vtframeprocessor/process(with:parameters:).md)
- [endSession()](videotoolbox/vtframeprocessor/endsession().md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Frame processor

- [Enhancing your app with machine learning-based video effects](videotoolbox/enhancing-your-app-with-machine-learning-based-video-effects.md)
- [VTFrameProcessorConfiguration](videotoolbox/vtframeprocessorconfiguration.md)
- [VTFrameProcessorFrame](videotoolbox/vtframeprocessorframe.md)
- [VTFrameProcessorParameters](videotoolbox/vtframeprocessorparameters.md)
