# Video extension (/en/realtime-media/marketplace/build/build-your-own-extension/video-filter/ios)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

The video filters you create are easily integrated into apps to supply visual effects and background processing.

      
  
      
## Understand the tech

A video filter accesses video data when it is captured from the user's local device, modifies it, then plays the updated data to local and remote video channels.

![Video extension pipeline](https://assets-docs.agora.io/images/video-sdk/extension-video-filter.png)

A typical transmission pipeline consists of a chain of procedures, including capture, pre-processing, encoding, transmitting, decoding, post-processing, and playback. To modify the voice or video data in the transmission pipeline, video extensions are inserted into either the pre-processing or post-processing stage.

## Prerequisites

* Xcode 12.0 or higher.
* A device running iOS 9.0 or higher.
* A project to develop in.

## Project setup

* Follow the iOS SDK setup flow in [Quickstart - integrate an extension](../../quickstart-integrate.mdx).
* Prepare the project structure, frameworks, and signing settings needed for your extension package.

## Create a video extension

Package the extension as an iOS framework or xcframework, register it with the SDK, and provide the metadata Agora needs for Marketplace integration.

## Reference

* [RTC iOS API reference](../../../../api-reference/rtc/ios.md)
* [RTC iOS API reference](../../../../api-reference/rtc/ios.md)

    
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
