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

> 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 macOS 10.11 or higher.
* An Apple developer account.
* A project to develop in.

## Project setup

* Follow the macOS SDK setup flow in [Quickstart - integrate an extension](../../quickstart-integrate.mdx).
* Prepare the framework packaging, code signing, and runtime loading flow for your extension.

    
  
      
  
      
  
      
  
      
  
      
  
      
  
