PallyCon Forensic Watermarking combines two versions of images marked ‘0’ and ‘1’ in real time at playback time. It converts session information, such as user ID, to binary format, and thus composes the output stream by combining segments from 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.
participant A as End user
participant B as Service site
participant C as CDN
participant D as PallyCon service
A ->> B: Request URL for playback
B ->> D: Content URL, Session data
Note right of D: Session manager
D -->> D: Generate session key(payload) and store session data
D ->> B: Send Session URL
B ->> A: Send Session URL
A ->> C: Start playback of Session URL (request segments)
Note right of C: Watermark mixer module
C -->> C: Segments mixing by Session URL
C ->> A: Send mixed segments
Note right of A: Playback mixed content
The segment list of the DASH manifest (.mpd) or HLS playlist (.m3u8) passed as a Session URL applies the same path and filename to all users, regardless of session information. Therefore, it is safe from segment naming attack which is mixing the segment lists of multiple sessions for the same content.
You can use the following documents to integrate the watermark mixer with the session manager API required for watermark mixing.
Session Manager API Guide
This document describes how to integrate the session data required for watermark mixing through the session manager API provided by PallyCon forensic watermarking service.
AWS CloudFront CDN Mixer
This document describes the Lambda@Edge watermark mixer that works with AWS CloudFront CDN.