---
title: "Watermark Preprocessing"
description: "This document describes how to preprocess in a cloud-based packaging service or with an encoder integration."
---
> For the complete documentation index, see [llms.txt](/llms.txt).

import { LinkCard, CardGrid } from '@astrojs/starlight/components';

In order to apply watermark to a source video, a preprocessing operation is required in the content encoding process. A watermark value (0 and 1) is inserted in the original uncompressed video frame to generate output as two sets of encoded video. (A/B variants)

The inserted watermark value is encrypted using a secret key unique to each content service provider, and can not be extracted from the outside arbitrarily.

```mermaid
graph TD;
    A[Source frame] --> B(Watermark Preprocessor)
    B --> C["Two set of watermarked<br/>frame (0 and 1)"]
    subgraph DoveRunner forensic watermarking
    D(Watermark 0 and 1) -->|Secret key| B
    end
```

The watermark preprocessing can be done using one of the following options depending on the customer's choice.

<CardGrid>
<LinkCard
  title="FWM Preprocessing through T&P Service"
  href="./fwm-tnp-service/"
  description="Pre-processing of forensic watermarking contents can be performed through DoveRunner Transcoding & Packaging service."
/>
<LinkCard
  title="Preprocessor Library Guide"
  href="./preprocessor-library/"
  description="DoveRunner Preprocessor Library is a watermark preprocessor implemented as a C ++ library so that it can be ported to an encoding solution. This document explains how to use the Preprocessor Library."
/>
<LinkCard
  title="FFmpeg Preprocessor Filter Guide"
  href="./ffmpeg-filter/"
  description="A plug and play module capable of watermark preprocessing as a video filter for FFmpeg."
/>
<LinkCard
  title="FWM Hybrik Preprocessor Guide"
  href="./hybrik-preprocessor/"
  description="DoveRunner FWM Hybrik preprocessor is a module that can perform forensic watermarking preprocessing during video transcoding through Dolby Hybrik service."
/>
</CardGrid>