Try Free

Add Watermarks to Video Streams

Recently we added several features to the Bitmovin encoding service, including the ability to watermark your video streams. This enables our users to brand their streams in several ways using PNGs, JPGs or even GIFs. You can also set the exact position of your image in the video stream. The watermarking is part of our encoding profiles and you can define a watermarking profile that can be used for different videos. Furthermore, as it is possible with the Bitmovin encoding service to output adaptive streams with multiple different resolutions, we scale your image based on the watermark configuration so that it works seamlessly with all defined resolutions in the profile. This means that our watermarks are also adaptive and can be applied to your MPEG-DASH and Apple HLS streams.


Bitmovin Adaptive Streaming HTML5 Player - How to add a watermark to video
The Bitmovin watermarking supports the following features:

  • PNG, JPG, GIF and BMP
  • set exact position in the video
  • automatic scaling with your encoding profile resolutions

If your are missing a feature in our watermarking that is needed for your business we are happy to help you just drop us a line!

How to add Watermarks to Video: Watermarking Config

The watermarking configuration is part of the encoding profile which also contains the video and audio stream configurations. Applying a watermark configuration on the encoding profile will overlay all video streams with the specified watermark image on the position as specified. The position of the image in pixels can be specified via the ‘top’, ‘bottom’, ‘left’ and ‘right’ parameters of the watermark configuration. Only one horizontal and one vertical distance parameter is allowed. The following is an example which uses the top and left parameter to define the position of the image in the video:

"watermarkConfig": {
    "top": 10,
    "left": 100,
    "image": "https://your.server/watermark.png"
}

You can find more information about the encoding profile in general and encoding profiles with watermarks in our developer section.

API Client Examples

Our API clients also contain examples for watermarking such as the Python API client. Just take a look at the create_job_with_watermark.py example. In the example an encoding profile is created with 4 different video resolutions and bitrates as well as an audio representation with 192Kbps. Additionally, we have added a watermark configuration to the encoding profile, shown in the excerpt below:

watermark_config = bitcodin.WatermarkConfig(
    image_url='https://bitdash-a.akamaihd.net/webpages/bitcodin/images/bitcodin_transparent_50_1600.png',
    top=191,
    right=159
)

encoding_profile_obj = bitcodin.EncodingProfile(
    name='API Test Profile',
    video_stream_configs=video_configs,
    audio_stream_configs=audio_configs,
    watermark_config=watermark_config
)

The watermark configuration points to a PNG image and sets the position through the top and right attribute. The PNG is transparent and will be inserted in the middle of the video stream. You can try out this example easily by inserting your API key on the top and simply executing it on the command line with python create_job_with_watermark.py.

Add watermarks to Video Streams streams with Bitmovin for free

If you want to watermark your MPEG-DASH and HLS content, you can use our Bitmovin encoding service with a free plan with 2.5GB encoding output per month. That’s great for testing and playing around with our watermarking feature!

For more information on how to add watermark to your video try our support section.

Author

Christopher Mueller is the CTO and Co-founder of Bitmovin. He leads Bitmovin's long-term technology vision, and is responsible for overseeing product development, industry thought leadership and advanced technology incubations.