• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
VdoCipher: Secure Video Hosting for BusinessVdoCipher
Sign Up
  • Solutions

    Use Case

    • EdTech & ELearning
    • Media & OTT
    • Developers
    • Enterprise
    • Healthcare
    • Sports
    • Finance
    • Anti Piracy
    • Faith

    Features

    • Video DRM
    • Video APIs
    • Video SDKs
    • Custom Video Player
    • Dynamic Watermarking
    • Video Hosting
    • Live Streaming
    • WordPress Plugin
    • Video Subtitles
    • Video Analytics
    • Piracy Identification
  • Pricing
    • Video Hosting with DRM Security
    • Live Streaming without DRM
    • Video Hosting without DRM
  • Features
  • Live Stream
  • Developer
  • About
    • Testimonials
    • The Company
  • Contact
Login
Sign Up

Dynamic Watermark Demo: Add User Identifier Text to Videos- User ID, Email ID, Phone No.

September 1, 2026 /

Secure Videos Now

Dynamic watermarking means overlaying user-identifiable data on a video in a moving, non-intrusive way to maximise protection against screen capture while keeping the viewing experience clean. Videos hosted with VdoCipher cannot be illegally downloaded through any tool, extension, or downloader. Screen-capture blocking with 100% certainty is possible only in mobile apps and Safari. On Chrome, Firefox, and other browsers there remains a residual risk of piracy via screen capture — and a moving watermark showing user-specific details is what discourages that, since any leaked recording is traceable back to the viewer.

The sample video below shows a dynamic watermark displaying the viewer’s name, IP address, and email. The watermark is fully customisable — movement, colour, size, transparency, and frequency. You can try it on your own site by signing up for a free 30-day trial.

Table of Content:

  • Dynamic Watermark Demo
  • Features of Dynamic Watermark by VdoCipher
  • Three Ways to Add a Dynamic Watermark
    • Method 1: WordPress or Moodle Plugin
    • Method 2: API (Custom Backend)
    • Method 3: VdoCipher Dashboard (Quick Embed)
  • Watermark Code Reference (JSON)
    • Moving (Dynamic) Text
    • Static Text

Dynamic Watermark Demo

Features of Dynamic Watermark by VdoCipher

  1. Overlay user details — user ID, email, phone number, and IP address — on top of your videos.
  2. Add a timestamp and fixed text such as your company name.
  3. Customise the moving watermark’s size, colour, transparency, and frequency. Keeping it light and intermittent preserves the viewing experience while still deterring piracy. For example, show the watermark at one position for 5 seconds and hide it for the next 20 seconds using 'interval':5000 and 'skip':20000 (1 second = 1000 milliseconds).
  4. Image watermarks aren’t currently supported, but you can use your company or brand name as text.
Static vs. moving: A static (fixed-text) watermark must sit at the top-left of the player and is available only on the web player, not the mobile SDK. The moving watermark works on both web and mobile apps.

Three Ways to Add a Dynamic Watermark

VdoCipher lets you add a watermark in three ways. Pick the one that matches how you deliver your videos — the underlying watermark settings are the same in all three.

Method 1: WordPress or Moodle Plugin

On the plugin settings page, paste your watermark JSON into the Annotation Statement box and save. It then applies to every video you embed with the plugin. Leave the box blank if you don’t want a watermark on all videos, and override it per video in the shortcode when needed.

Like the API, this is a backend integration, so it supports user-specific variables such as {name}, {email}, and {ip}. For more on securing videos in WordPress, see Protect Videos on WordPress.

Method 2: API (Custom Backend)

If you’ve integrated VdoCipher into a custom-built site, pass the watermark JSON as the annotate parameter when you generate the playback authorization (OTP). This backend integration is what lets you show user-specific details like {name} and {email}.

Full details and the exact request format are in the annotation API documentation. A sample OTP request:

curl -X POST \
  https://dev.vdocipher.com/api/videos/1234567890/otp \
  -H 'Accept: application/json' \
  -H 'Authorization: Apisecret a1b2c3d4e5' \
  -H 'Content-Type: application/json' \
  -d '{
    "annotate": "[{\'type\':\'rtext\', \'text\':\'{name}\', \'alpha\':\'0.60\', \'color\':\'0xFF0000\', \'size\':\'15\', \'interval\':\'5000\'}]"
  }'

Here the sample video ID is 1234567890 and the API Secret Key is a1b2c3d4e5. The watermark JSON must be sent as Content-Type: application/json, as the value of the annotate key.

Method 3: VdoCipher Dashboard (Quick Embed)

The fastest way, with no coding. In your VdoCipher dashboard, open the video and go to the Embed section, then the Quick Embed tab, and click Add Watermark. Set the copyright text, toggle IP and Time on or off, and adjust the text colour, size, opacity, move interval, and skip using the sliders. Click Generate Embed Code and copy the iframe — it now carries your watermark.

For finer control, switch on JSON mode to edit the raw annotation code directly (see the Watermark Code Reference below).

Note: Quick Embed uses iframe delivery, so it can display the IP address, timestamp, and fixed text — but not the user’s name or email, since those require a backend integration (Methods 2 and 3).

Watermark Code Reference (JSON)

Methods 2 and 3 — and the Dashboard’s JSON mode — all use the same annotation code: a JSON string describing what to overlay and how.

Technically it’s an array of objects, where each object is a single watermark item. Every item needs a type parameter, which is either a moving text (rtext) or a static text (text). The remaining parameters depend on that type. Here’s a sample that adds both:

[
  {'type':'rtext', 'text':'{name}', 'alpha':'0.8', 'color':'0xFF0000', 'size':'15', 'interval':'5000', 'skip':'20000'},
  {'type':'text', 'text':'static text', 'alpha':'0.5', 'x':'10', 'y':'100', 'color':'0xFF0000', 'size':'15'}
]
Keep in mind: both the name and the value of every parameter must be in quotes — for text and numbers alike. Separate each parameter with a comma, and do not put a comma after the last parameter.

Moving (Dynamic) Text

The code below displays a moving watermark showing name, IP, and email on a single line in red (#ff0000), at 0.8 opacity and font size 15. It stays at one position for 5 seconds (5000 ms), then hides for 20 seconds (20000 ms), then reappears at a new position.

[{
  'type':'rtext',
  'text':'{name}, {ip}, {email}',
  'alpha':'0.8',
  'color':'0xFF0000',
  'size':'15',
  'interval':'5000',
  'skip':'20000'
}]
Parameter What it does Example
type Watermark type — rtext for moving, text for static. 'type':'rtext'
text The text to display. Supports the variables {name}, {email}, {ip}, and {date...}. 'text':'{name}, {ip}'
alpha Opacity, from 0 (invisible) to 1 (fully opaque). 'alpha':'0.8'
color Text colour as a hex value. Pick a colour and its hex code with the W3Schools converter. 'color':'0xFF0000'
size Font size in pixels. 'size':'15'
interval Time in milliseconds the text stays in one position before moving. 'interval':'5000'
skip Time in milliseconds the watermark stays hidden between appearances. 'skip':'20000'

Show user-identifiable information. Use the variables {name}, {email}, and {ip} anywhere in the text — for example:

'text':'Name: {name}, Email: {email}, IP: {ip}'

To display them on separate lines instead of one, create three separate watermark objects:

[
  {'type':'rtext', 'text':'{name}',  'alpha':'0.8', 'color':'0xFF0000', 'size':'15', 'interval':'5000', 'skip':'2000'},
  {'type':'rtext', 'text':'{ip}',    'alpha':'0.8', 'color':'0xFF0000', 'size':'15', 'interval':'5000', 'skip':'2000'},
  {'type':'rtext', 'text':'{email}', 'alpha':'0.8', 'color':'0xFF0000', 'size':'15', 'interval':'5000', 'skip':'2000'}
]

Add a timestamp (WordPress only).

[{'type':'text', 'text':'Time: {date.h:i:s A}', 'alpha':'0.30', 'x':'12', 'y':'130', 'color':'0xFF0000', 'size':'13'}]

Add custom variables. You can also overlay your own custom variables — see Custom Variables as Watermark.

Static Text

A static watermark uses type:'text' and stays in a fixed position, set with x (distance from the left edge) and y (distance from the top edge).

[{
  'type':'text',   // static watermark
  'text':'the text you like to be displayed',
  'x':'10',        // distance from the left border, in pixels
  'y':'50',        // distance from the top border, in pixels
  'alpha':'0.8',   // opacity: 0 is invisible, 1 is full opaque
  'color':'0xFF0000', // text colour as a hex value
  'size':'15'      // font height, in pixels
}]

Still stuck adding a watermark? Send the code you’re using and the output you want to support@vdocipher.com and we’ll help.

Supercharge Your Business with Videos

At VdoCipher we maintain the strongest content protection for videos. We also deliver the best viewer experience with brand friendly customisations. We'd love to hear from you, and help boost your video streaming business.

Free 30-day trial →
Decorative Circle
Vibhav Sinha

(Co-Founder & CTO) Brain behind all VdoCipher innovations, Vibhav eats and sleeps code. A physics and astronomy enthusiast; Vibhav actively works on video delivery technology, security and high volume data transfer using cloud.

Filed Under: DRM Technology tips Using VdoCipher Video Watermarking Watermark Tagged With: DRM dynamic watermark secure video hosting Secure video streaming

Reader Interactions

Comments

  1. John Crestani says

    October 22, 2015 at 8:48 am

    For the sample code, where should I put that code on my site, to make it work with the video?

    Reply
    • Vibhav Sinha says

      October 22, 2015 at 12:41 pm

      In your dashboard, go to vdocipher section under settings menu. You need to place this code in the text box labelled “Annotation Statement”

      Reply
      • Ricardo Miguel says

        December 16, 2015 at 12:36 am

        Hi, I have not located this path. Can you help me?

        Reply
      • Vansh says

        August 9, 2021 at 10:39 am

        Hello Vaibhav Sir I Have Purchased Plan I Wanted to Know Phone Number Code For Watermark

        Reply
    • Sebastian M Thomas says

      July 3, 2025 at 10:09 am

      this should be in the payload of the otp request for drm

      Reply
  2. Ilan says

    January 12, 2016 at 9:27 pm

    Hi! How can I do that with the Joomla plugin ?

    Reply
    • Vibhav Sinha says

      January 12, 2016 at 10:50 pm

      Currently, this feature is not available within our joomla module. You can use the API directly to enable watermark in your joomla website(using PHP code to make API calls). We have planned this for next version joomla module. Thanks for your suggestion.

      Reply
  3. Ilan says

    January 12, 2016 at 11:30 pm

    Thanks for your answer. And when do you think to publish your next release of the Joomla plugin? This feature is really important for me. Thanks!

    Reply
  4. bailarina says

    January 28, 2016 at 10:36 am

    Could it display the name of the person who is watching if they are logged in? Thanks!

    Reply
    • Vibhav Sinha says

      February 1, 2016 at 7:07 am

      Hi Bailarina, yes if you can put any variables that you can obtain as watermark. If you are using the wordpress plugin, there is a very easy way to do that as described here https://www.vdocipher.com/blog/2014/08/variables-on-wordpress-videos/

      Reply
  5. Peter says

    August 9, 2016 at 9:02 am

    How to prevent the copying of video link to use by other users?

    Reply
    • siddhant says

      August 9, 2016 at 9:08 am

      Hello Peter, VdoCipher does not use normal public embed codes. Through our plugins & APIs, we provide a custom embed code, which generates a new url with OTP (One time password) at backend. Thus once a video url is generated for streaming, it will not play for second time.

      Reply
  6. Weraan says

    July 18, 2022 at 8:37 am

    $apikey = “$key”;
    $vidID = $CourseYoutubeLink;
    $curl = curl_init();

    curl_setopt_array($curl, array(
    CURLOPT_URL => “https://dev.vdocipher.com/api/videos/$vidID/otp”,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => “”,
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => “POST”,
    CURLOPT_POSTFIELDS => json_encode([
    “ttl” => 300,
    ]),
    CURLOPT_HTTPHEADER => array(
    “Accept: application/json”,
    “Authorization: Apisecret $apikey”,
    “Content-Type: application/json”
    ),

    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);
    $obj = json_decode($response);
    curl_close($curl);

    if ($err) {
    echo “cURL Error #:” . $err;
    } else {

    $otp = $obj->otp;
    $playback = $obj->playbackInfo;

    This is my current code can you place add watermark to this ?

    Reply
    • Rahul Rana says

      September 13, 2022 at 11:27 am

      Kindly share this query in detail at support@vdocipher.com

      Reply
  7. Shine says

    February 3, 2026 at 2:38 am

    When the video is paused the watermark doesn’t show. Is there any way to solve this problem?

    Reply
    • Rahul Rana says

      February 3, 2026 at 10:02 am

      Currently, a watermark in the pause state is not possible. If we allow a watermark on pause video, then it becomes easier for a hacker to check the network and remove our watermark, to prevent easy removal of the watermark, we only show it while the video is playing. Thus, we cannot show a watermark in the pause state.

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Secure Your Videos

Blog Categories

  • DRM 
  • WordPress
  • E-learning
  • Media
  • Video Tech

Popular Posts

  • Google Widevine DRM
  • WordPress video plugin
  • Video Quality
  • Dynamic Watermarking
  • Encrypted Video Streaming
  • Video Hosting For Online Courses
  • Online Video Player
  • Apple Fairplay DRM
  • SVOD VS TVOD VS AVOD
  • Exoplayer
  • DRM

Top Recent Posts

  • Enterprise Video Platform
  • Cloud Video Platform
  • Video Player for Android
  • DRM Solution
  • Video Bitrate
  • React Native Video
  • Video Piracy
  • Learning Management System
  • AVPlayer
  • Live Streaming Websites
  • DRM Providers
  • DRM Security
  • Private Video Hosting
  • HTML5 Video Player

Schedule Demo Link
Popular Blogs
  • How many use easy video download piracy tools ?
  • Apple FairPlay DRM : Video Protection on iOS & Safari
  • 12 Video Piracy Statistics, 6 Prevention Methods
  • Elearning Video Protection from Piracy
  • Content Creator Economy Growth and other Statistics Report
  • Top 21 Education Apps In India For Online Learning
  • How To Embed Videos in WordPress A Comprehensive Guide
  • Live Streaming Platform For E-learning Media & Broadcast
  • Explained in Simple Language, 32 Key DRM Encryption Terminologies
  • Best Video Player for Android Comparison 2024
Recent Blogs
  • Top 21 Education Apps In India For Online Learning
  • How to Use OBS Studio For Recording Your Videos & Stream Live?
  • How To Embed VdoCipher Video on Wix
  • Dynamic Watermark Demo: Add User Identifier Text to Videos- User ID, Email ID, Phone No.
  • Private & Compliant by Design: VdoCipher Meets GDPR, DPDP & US Privacy Laws
  • History of Netflix: When It Started, Founders & Key Milestones
  • Netflix Similar Apps – Top Netflix Alternatives in 2026
  • Google Widevine DRM: Guide to Security & Integration
Featured Blogs
  • Online Video Player
  • Video Encryption
  • Video Protection
  • Video Hosting
  • Widevine DRM
  • Fairplay DRM
  • Video Quality
  • Online Video Platform
  • Video hosting for business
Comparison
  • Vimeo Alternative
  • Dacast Alternative
  • YouTube Alternative
  • Zoom Alternative
  • JW Player Alternative
  • Dacast Live Alternative
  • Kaltura Alternative
  • Brightcove Alternative
  • Gumlet Alternative
    Contact Us
  • Phone : +91 7619171878
  • Whatsapp : +91 7042238654
  • E-mail : support@vdocipher.com
Company
  • Home
  • Glossary
  • Features
  • About Us
  • Pricing
  • FAQs
  • Affiliate
  • Contact
  • Customer Stories
Services
  • Enterprise
  • E-Learning
  • Developer
  • Healthcare
  • Live Streaming Platform
  • Video Analytics
  • Media and Entertainment
  • Video DRM and Antipiracy
  • APIs for Developers
  • Video Hosting
  • Video API
  • Bandwidth Calculator
  • Google DRM
  • DRM License Server
  • Custom Video Player
  • Play Integrity
Tools
  • Video Compressor
  • Bandwidth Calculator
  • Pricing Calculator
  • Caption Generator
  • HLS Player
  • DASH Player
Countries Served
  • Secure Video Hosting in USA
  • Secure Video Hosting in India
  • Secure Video Player in Brazil
  • Secure Video Streaming in UK
  • Secure Video Streaming in Saudi Arabia
  • Video Encryption in Spain
  • Video Encryption in Italy
  • Protected Video Streaming in Indonesia
  • Encrypted Video Player in Canada
  • Protected Video Streaming in Australia
  • Encrypted Video Player in Germany
  • Video DRM for Sri Lanka
  • Video DRM for Middle East
  • DRM Encryption for Europe
  • DRM Encryption for Asia
  • DRM Solutions for Japan
  • DRM Solutions for UAE
  • DRM Software for Chile
  • DRM Software for Russia

Copyright © 2026 VdoCipher. All rights reserved.

  • Terms
  • Privacy Policy