# Watermark Guide

[View as Markdown](https://docs.banuba.com/far-sdk/tutorials/development/guides/watermark.md)[![](/far-sdk/img/ai-guide/chatgpt.svg)Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs.banuba.com%2Ffar-sdk%2Ftutorials%2Fdevelopment%2Fguides%2Fwatermark.md%20\(Watermark%20Guide\)%20and%20help%20me%20with%20it%20in%20my%20Banuba%20Face%20AR%20SDK%20project.)[![](/far-sdk/img/ai-guide/claude.svg)Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.banuba.com%2Ffar-sdk%2Ftutorials%2Fdevelopment%2Fguides%2Fwatermark.md%20\(Watermark%20Guide\)%20and%20help%20me%20with%20it%20in%20my%20Banuba%20Face%20AR%20SDK%20project.)Install tools

A watermark is a small image that is superimposed on top of the entire video.

* iOS
* Android

If you want to apply a watermark to a recorded video, you should use the `video.watermark` property.

```
guard let watermark = UIImage(named: "YOUR_WATERMARK_IMAGE") else { return }

let offset = CGPoint(x: 20.0, y: 20.0)

let watermarkInfo = WatermarkInfo(image: watermark,

    corner: .bottomLeft, offset: offset, targetNormalizedWidth: 0.2)

let video = Video(cameraDevice: cameraDevice)

player.use(input: camera, outputs: [playerView.uiView, video])

video.watermark = watermarkInfo

video.record(...)
```

If you want to apply a watermark to a video, you should create a `WatermarkInfo` structure:

```
val watermark: Drawable = ContextCompat.getDrawable(this, R.drawable.my_watermark_res)!!

val width = 101

val height = 24

val aspectRatio = width.toFloat() / height.toFloat()



val sizeProvider = { viewportSize: Size ->

    val targetWidth = (viewportSize.width * 0.5f).toInt()

    val targetHeight = (targetWidth / aspectRatio).toInt()

    Size(targetWidth, targetHeight)

}



val watermarkGravity = Gravity.BOTTOM // or Gravity.RIGHT

val positionProvider = GravityPositionProviderAdapter(sizeProvider, watermarkGravity)



val myWatermarkInfo = WatermarkInfo(watermark, sizeProvider, positionProvider, width, height, true)
```

Apply the watermark in the `VideoOutput.start` method:

```
videoOutput.start(..., myWatermarkInfo)
```

Still have questions about FaceAR SDK?

Visit our [FAQ](https://www.banuba.com/faq/) or [contact our support](/far-sdk/support/.md).
