Skip to content

Forensic Watermarking Concepts and Specifications

Describes various concepts and specifications related to DoveRunner Forensic Watermarking service.

This technology is designed to track illegal distribution of multimedia content such as videos, images, and audio. By inserting information that can not be detected by the human eye into the content, the user information can be extracted from the leaked content.

System Architecture for SaaS-based preprocessing integration

Section titled “System Architecture for SaaS-based preprocessing integration”
graph LR;
    subgraph Content Service Provider
    A[Source
Content] --> B(T&P service) B -->|A/B variants
DASH/HLS| C(Origin
storage) C -->|A segments| D(CDN Edge
Embedding) C -->|B segments| D G(Service
Backend) end subgraph End user G --> |Session URL| E(Client
player) D -->|Watermarked
stream| E end subgraph DoveRunner service G -->|Session data| F(Watermark
session manager) F -->|Session URL| G end

System Architecture for 3rd Party Encoder/Transcoder integration

Section titled “System Architecture for 3rd Party Encoder/Transcoder integration”
graph LR;
    subgraph Content Service Provider
    A[Source
Content] -->|Frame
image| B(Preprocessor
plugin) subgraph Encoder/Transcoder with Preprocessor plugin B -->|A/B
frame| C(Encoding) C -->|A/B
mp4| D(Packaging) end D -->|A/B variants
DASH/HLS| E(Origin
Storage) E -->|A segments| F(CDN Edge
Embedding) E -->|B segments| F H(Service Backend
CMS) end subgraph End User H --> |Session URL| G(Client
player) F -->|Watermarked
stream| G end subgraph DoveRunner Service H -->|Session data| I(Watermark
session manager) I -->|Session URL| H end

In the video below, you can see the process of embedding, mixing and detecting the watermark using forensic watermarking technology. This demo is intended to help you understand DoveRunner Forensic Watermarking solution , and it is different from the scenarios that apply to actual commercial services.

For optimal playback, select ‘1080p’ as the video quality and select subtitle (Korean or English) for playback.

In order to embed a watermark in the original video, a preprocessing operation is required in the content encoding process. Different values (0/1 or A/B) are inserted in the original uncompressed video frames and output as two sets (A/B variants) of encoded video.

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.

The watermark preprocessing can be done by Transcoding & Packaging (T&P) Service or pre-integrated 3rd party encoder/transcoder solutions depending on the customer’s choice.

Go to Watermark Preprocessing Guide

Content transcoding, watermark preprocessing, and DRM packaging services provided in the form of cloud SaaS. Without the need to build a separate server for watermark preprocessing, you can use DoveRunner cloud service to transcode the original video and apply multi-DRM and forensic watermarking while packaging it.

It is a watermark preprocessor implemented as a C ++ library so that it can be ported to an encoding solution. By applying the preprocessing directly in the video encoding process, you can omit the re-encoding process required for CLI preprocessor.

By default, porting to FFmpeg-based encoders is supported, and work with encoder solution vendors is required to apply them to other commercial encoders.

The A/B variants of video (marked with ‘0’ or ‘1’) are combined real-time on playback. It converts session information, such as user ID, to binary format, and thus composes the output stream by mixing A/B version segments in the DASH or HLS content.

As a result, unique information about the playback session is inserted invisibly in the video and sent to the client.

Go to Watermark Embedding Guide

Various client information such as user ID, content ID and time of playback. Depending on the needs of the service site, you can apply any session data as a string up to 254 bytes length.

Up to 7 bytes of payload data can be embedded into the final content with a watermark combination of 0 and 1. Actual session data such as user ID is managed in a separate database in the DoveRunner service, and the payload is used as the key of the session data.

This module is applied to the CDN of the service site. When the content is requested for playback on the client, the watermarked video is streamed by mixing A/B version segments. It delivers the segments in a unique order according to the watermark payload value for the session information.

By default, it supports the Lambda@Edge module of the Amazon CloudFront CDN. And Akamai CDN is also pre-integrated so you can configure it to enable the DoveRunner integration.

It is a content URL which is used for playback of watermarked content stream. Depending on the type of streaming, a DASH manifest(.mpd) or HLS playlist(.m3u8) URL is used, and an encrypted watermark payload is added as part of the unique session-based URL.

It is a function of DoveRunner cloud server which generates Session URL for watermark embedding. It stores session information received from service site in session database and responds a Session URL which has encrypted payload.

If the watermarked video is leaked and distributed illegally, you can request the DoveRunner service to detect the suspicious content. Watermark detection analyzes each frame of the video to detect the original watermark pattern and decrypts the data with the secret key used at the time of insertion.

If the watermark payload is found through the detection process, the session database finds the session information whose key value is the payload and reports it as the detection result.

Go to Watermark Detecting Guide

DoveRunner Forensic Watermarking supports the below specifications.

ItemSpecificationRemarks
Content TypeSupports video contents only
Format and codecMP4 (CBR) VOD video, H.264/H.265 codec supportedLive video will be supported later
Supported ResolutionUp to 4K/UHD resolution
Supported FPS23.976, 24, 25, 29.97, 30, 47.952, 48, 50, 59.94, 60
Dynamic RangeSDR (Standard Dynamic Range), HDR (High Dynamic Range) supportedRequires H.265 to support HDR
Streaming ProtocolMPEG-DASH, HLS (Http Live Streaming)
CDN IntegrationAmazon CloudFront, Akamai, and Fastly CDN supportedContact us for other CDN integration
Watermark Data SizeUp to 255 bytes string using mapping table
DRM IntegrationMulti DRM (PlayReady, Widevine, FairPlay) supported

The detailed requirements for watermark detection are as follows:

ItemDescription
Minimum video lengthIn order to detect watermarks, continuous recorded video without repeating sections with a length of at least 5 minutes is required
Video qualityAt least 480p with 1Mbps is required for detection. 720p or higher quality recommended
Video stabilityRequires fixed recorded video without shaking. Undetectable if the screen is shaken due to shooting with a handheld camera or smartphone
Buffering or freezingThere must be a section that was played normally without buffering or screen freezing for at least 5 minutes