{"id":205,"date":"2026-09-01T01:00:29","date_gmt":"2026-09-01T01:00:29","guid":{"rendered":"http:\/\/www.vdocipher.com\/blog\/?p=205"},"modified":"2026-09-01T10:51:51","modified_gmt":"2026-09-01T10:51:51","slug":"add-text-to-videos-with-watermark","status":"publish","type":"post","link":"https:\/\/www-uat.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/","title":{"rendered":"Dynamic Watermark Demo: Add User Identifier Text to Videos- User ID, Email ID, Phone No."},"content":{"rendered":"<div class=\"vdo-blog\">\n<p>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, <a href=\"https:\/\/www.vdocipher.com\/blog\/firefox-drm\/\">Firefox<\/a>, and other browsers there remains a residual risk of piracy via screen capture \u2014 and a moving watermark showing user-specific details is what discourages that, since any leaked recording is traceable back to the viewer.<\/p>\n<p>The sample video below shows a dynamic watermark displaying the viewer&#8217;s <strong>name<\/strong>, <strong>IP address<\/strong>, and <strong>email<\/strong>. The watermark is fully customisable \u2014 movement, colour, size, transparency, and frequency. You can try it on your own site by signing up for a <a href=\"https:\/\/www.vdocipher.com\" target=\"_blank\" rel=\"noopener noreferrer\">free 30-day trial<\/a>.<\/p>\n<div class=\"vdo-toc\">\n<p><strong style=\"font-weight: 900;\">Table of Content:<\/strong><\/p>\n<ul>\n<li><a href=\"#demo\">Dynamic Watermark Demo<\/a><\/li>\n<li><a href=\"#features\">Features of Dynamic Watermark by VdoCipher<\/a><\/li>\n<li><a href=\"#methods\">Three Ways to Add a Dynamic Watermark<\/a>\n<ul>\n<li><a href=\"#method1\">Method 1: WordPress or Moodle Plugin<\/a><\/li>\n<li><a href=\"#method2\">Method 2: API (Custom Backend)<\/a><\/li>\n<li><a href=\"#method3\">Method 3: VdoCipher Dashboard (Quick Embed)<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#reference\">Watermark Code Reference (JSON)<\/a>\n<ul>\n<li><a href=\"#dynamic\">Moving (Dynamic) Text<\/a><\/li>\n<li><a href=\"#static\">Static Text<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<h2 id=\"demo\">Dynamic Watermark Demo<\/h2>\n<script src=\"https:\/\/player.vdocipher.com\/v2\/api.js\"><\/script>\n<iframe\n  src=\"https:\/\/player.vdocipher.com\/v2\/?otp=20160313versUSE31306HAGHa5rnglyJHKMdAf5U1S9ZH5c2R6YiKcfZ2RmNajXL&#038;playbackInfo=eyJ2aWRlb0lkIjoiYWJjMTQ3YjkwNDMzNDVmY2I1YTgyZmRkZTc0MGRmMDAifQ==\"\n  id=\"u1632732935\"\n  style=\"height:auto;width:1280px;max-width:100%;border:0;display: block;\"\n  allow=\"encrypted-media\"\n  allowfullscreen\n><\/iframe>\n<script>\n(function() {\n  const iframe = document.querySelector('#u1632732935');\n  const player = VdoPlayer.getInstance(iframe);\n  const isAutoHeight = () => iframe.style.height === 'auto' && iframe.style.width.endsWith('px');\n  const setAspectRatio = (ratio) => {\n      iframe.style.maxHeight = '100vh';\n      if (CSS.supports('aspect-ratio', 1)) {\n          iframe.style.aspectRatio = ratio;\n      } else {\n          const offsetWidth = iframe.offsetWidth;\n          iframe.style.height = Math.round(offsetWidth \/ ratio) + 'px';\n      }\n  }\n  if (isAutoHeight()) {\n    if (iframe.src.includes('litemode'))  {\n       setAspectRatio(16\/9);\n    }\n    player.video.addEventListener('loadstart', async () => {\n      const aspectRatio = (await player.api.getMetaData()).aspectRatio;\n      setAspectRatio(aspectRatio);\n    });\n  }\n})();\n<\/script>\n<h2 id=\"features\">Features of Dynamic Watermark by VdoCipher<\/h2>\n<ol>\n<li>Overlay user details \u2014 user ID, email, phone number, and IP address \u2014 on top of your videos.<\/li>\n<li>Add a timestamp and fixed text such as your company name.<\/li>\n<li>Customise the moving watermark&#8217;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 <code>'interval':5000<\/code> and <code>'skip':20000<\/code> (1 second = 1000 milliseconds).<\/li>\n<li>Image watermarks aren&#8217;t currently supported, but you can use your company or brand name as text.<\/li>\n<\/ol>\n<div class=\"vdo-note\"><strong>Static vs. moving:<\/strong> 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.<\/div>\n<h2 id=\"methods\">Three Ways to Add a Dynamic Watermark<\/h2>\n<p>VdoCipher lets you add a watermark in three ways. Pick the one that matches how you deliver your videos \u2014 the underlying watermark settings are the same in all three.<\/p>\n<h3 id=\"method1\">Method 1: WordPress or Moodle Plugin<\/h3>\n<p>On the plugin settings page, paste your watermark JSON into the <strong>Annotation Statement<\/strong> box and save. It then applies to every video you embed with the plugin. Leave the box blank if you don&#8217;t want a watermark on all videos, and override it per video in the shortcode when needed.<\/p>\n<p>Like the API, this is a backend integration, so it supports user-specific variables such as <code>{name}<\/code>, <code>{email}<\/code>, and <code>{ip}<\/code>. For more on securing videos in WordPress, see <a href=\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/protect-videos-on-wordpress\/\">Protect Videos on WordPress<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-22443\" src=\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png\" alt=\"\" width=\"2162\" height=\"1478\" srcset=\"https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png 2162w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM-300x205.png 300w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM-1024x700.png 1024w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM-768x525.png 768w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM-1536x1050.png 1536w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM-2048x1400.png 2048w\" sizes=\"auto, (max-width: 2162px) 100vw, 2162px\" \/><\/p>\n<h3 id=\"method2\">Method 2: API (Custom Backend)<\/h3>\n<p>If you&#8217;ve integrated VdoCipher into a custom-built site, pass the watermark JSON as the <code>annotate<\/code> parameter when you generate the playback authorization (OTP). This backend integration is what lets you show user-specific details like <code>{name}<\/code> and <code>{email}<\/code>.<\/p>\n<p>Full details and the exact request format are in the <a href=\"https:\/\/www.vdocipher.com\/docs\/server\/playbackauth\/anno\" target=\"_blank\" rel=\"noopener noreferrer\">annotation API documentation<\/a>. A sample OTP request:<\/p>\n<pre>curl -X POST \\\r\n  https:\/\/dev.vdocipher.com\/api\/videos\/1234567890\/otp \\\r\n  -H 'Accept: application\/json' \\\r\n  -H 'Authorization: Apisecret a1b2c3d4e5' \\\r\n  -H 'Content-Type: application\/json' \\\r\n  -d '{\r\n    \"annotate\": \"[{\\'type\\':\\'rtext\\', \\'text\\':\\'{name}\\', \\'alpha\\':\\'0.60\\', \\'color\\':\\'0xFF0000\\', \\'size\\':\\'15\\', \\'interval\\':\\'5000\\'}]\"\r\n  }'<\/pre>\n<p>Here the sample video ID is <code>1234567890<\/code> and the API Secret Key is <code>a1b2c3d4e5<\/code>. The watermark JSON must be sent as <code>Content-Type: application\/json<\/code>, as the value of the <code>annotate<\/code> key.<\/p>\n<h3 id=\"method3\">Method 3: VdoCipher Dashboard (Quick Embed)<\/h3>\n<p>The fastest way, with no coding. In your VdoCipher dashboard, open the video and go to the <strong>Embed<\/strong> section, then the <strong>Quick Embed<\/strong> tab, and click <strong>Add Watermark<\/strong>. Set the copyright text, toggle <strong>IP<\/strong> and <strong>Time<\/strong> on or off, and adjust the text colour, size, opacity, move interval, and skip using the sliders. Click <strong>Generate Embed Code<\/strong> and copy the iframe \u2014 it now carries your watermark.<\/p>\n<p>For finer control, switch on <strong>JSON mode<\/strong> to edit the raw annotation code directly (see the <a href=\"#reference\">Watermark Code Reference<\/a> below).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-22442\" src=\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.27.40-PM.png\" alt=\"\" width=\"2337\" height=\"1362\" srcset=\"https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.27.40-PM.png 2337w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.27.40-PM-300x175.png 300w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.27.40-PM-1024x597.png 1024w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.27.40-PM-768x448.png 768w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.27.40-PM-1536x895.png 1536w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.27.40-PM-2048x1194.png 2048w\" sizes=\"auto, (max-width: 2337px) 100vw, 2337px\" \/><\/p>\n<div class=\"vdo-note\"><strong>Note:<\/strong> Quick Embed uses iframe delivery, so it can display the IP address, timestamp, and fixed text \u2014 but not the user&#8217;s name or email, since those require a backend integration (Methods 2 and 3).<\/div>\n<h2 id=\"reference\">Watermark Code Reference (JSON)<\/h2>\n<p>Methods 2 and 3 \u2014 and the Dashboard&#8217;s JSON mode \u2014 all use the same annotation code: a JSON string describing what to overlay and how.<\/p>\n<p>Technically it&#8217;s an array of objects, where each object is a single watermark item. Every item needs a <strong>type<\/strong> parameter, which is either a moving text (<code>rtext<\/code>) or a static text (<code>text<\/code>). The remaining parameters depend on that type. Here&#8217;s a sample that adds both:<\/p>\n<pre>[\r\n  {'type':'rtext', 'text':'{name}', 'alpha':'0.8', 'color':'0xFF0000', 'size':'15', 'interval':'5000', 'skip':'20000'},\r\n  {'type':'text', 'text':'static text', 'alpha':'0.5', 'x':'10', 'y':'100', 'color':'0xFF0000', 'size':'15'}\r\n]<\/pre>\n<div class=\"vdo-note\"><strong>Keep in mind:<\/strong> both the name and the value of every parameter must be in quotes \u2014 for text and numbers alike. Separate each parameter with a comma, and do not put a comma after the last parameter.<\/div>\n<h3 id=\"dynamic\">Moving (Dynamic) Text<\/h3>\n<p>The code below displays a moving watermark showing <strong>name<\/strong>, <strong>IP<\/strong>, and <strong>email<\/strong> 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.<\/p>\n<pre>[{\r\n  'type':'rtext',\r\n  'text':'{name}, {ip}, {email}',\r\n  'alpha':'0.8',\r\n  'color':'0xFF0000',\r\n  'size':'15',\r\n  'interval':'5000',\r\n  'skip':'20000'\r\n}]<\/pre>\n<table class=\"vdo-params\">\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>What it does<\/th>\n<th>Example<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>type<\/code><\/td>\n<td>Watermark type \u2014 <code>rtext<\/code> for moving, <code>text<\/code> for static.<\/td>\n<td><code>'type':'rtext'<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>text<\/code><\/td>\n<td>The text to display. Supports the variables <code>{name}<\/code>, <code>{email}<\/code>, <code>{ip}<\/code>, and <code>{date...}<\/code>.<\/td>\n<td><code>'text':'{name}, {ip}'<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>alpha<\/code><\/td>\n<td>Opacity, from 0 (invisible) to 1 (fully opaque).<\/td>\n<td><code>'alpha':'0.8'<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>color<\/code><\/td>\n<td>Text colour as a hex value. Pick a colour and its hex code with the <a href=\"https:\/\/www.w3schools.com\/colors\/colors_converter.asp\" target=\"_blank\" rel=\"noopener noreferrer\">W3Schools converter<\/a>.<\/td>\n<td><code>'color':'0xFF0000'<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>size<\/code><\/td>\n<td>Font size in pixels.<\/td>\n<td><code>'size':'15'<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>interval<\/code><\/td>\n<td>Time in milliseconds the text stays in one position before moving.<\/td>\n<td><code>'interval':'5000'<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>skip<\/code><\/td>\n<td>Time in milliseconds the watermark stays hidden between appearances.<\/td>\n<td><code>'skip':'20000'<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Show user-identifiable information.<\/strong> Use the variables <code>{name}<\/code>, <code>{email}<\/code>, and <code>{ip}<\/code> anywhere in the text \u2014 for example:<\/p>\n<pre>'text':'Name: {name}, Email: {email}, IP: {ip}'<\/pre>\n<p>To display them on separate lines instead of one, create three separate watermark objects:<\/p>\n<pre>[\r\n  {'type':'rtext', 'text':'{name}',  'alpha':'0.8', 'color':'0xFF0000', 'size':'15', 'interval':'5000', 'skip':'2000'},\r\n  {'type':'rtext', 'text':'{ip}',    'alpha':'0.8', 'color':'0xFF0000', 'size':'15', 'interval':'5000', 'skip':'2000'},\r\n  {'type':'rtext', 'text':'{email}', 'alpha':'0.8', 'color':'0xFF0000', 'size':'15', 'interval':'5000', 'skip':'2000'}\r\n]<\/pre>\n<p><strong>Add a timestamp (WordPress only).<\/strong><\/p>\n<pre>[{'type':'text', 'text':'Time: {date.h:i:s A}', 'alpha':'0.30', 'x':'12', 'y':'130', 'color':'0xFF0000', 'size':'13'}]<\/pre>\n<p><strong>Add custom variables.<\/strong> You can also overlay your own custom variables \u2014 see <a href=\"https:\/\/www.vdocipher.com\/blog\/2015\/10\/custom-variables-watermark-on-wordpress-videos\/\" target=\"_blank\" rel=\"noopener noreferrer\">Custom Variables as Watermark<\/a>.<\/p>\n<h3 id=\"static\">Static Text<\/h3>\n<p>A static watermark uses <code>type:'text'<\/code> and stays in a fixed position, set with <code>x<\/code> (distance from the left edge) and <code>y<\/code> (distance from the top edge).<\/p>\n<pre>[{\r\n  'type':'text',   \/\/ static watermark\r\n  'text':'the text you like to be displayed',\r\n  'x':'10',        \/\/ distance from the left border, in pixels\r\n  'y':'50',        \/\/ distance from the top border, in pixels\r\n  'alpha':'0.8',   \/\/ opacity: 0 is invisible, 1 is full opaque\r\n  'color':'0xFF0000', \/\/ text colour as a hex value\r\n  'size':'15'      \/\/ font height, in pixels\r\n}]<\/pre>\n<p><em>Still stuck adding a watermark? Send the code you&#8217;re using and the output you want to <a href=\"mailto:support@vdocipher.com\">support@vdocipher.com<\/a> and we&#8217;ll help.<\/em><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>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, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29,25,6,14,282,100],"tags":[2,41,12,17],"class_list":{"0":"post-205","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-drm","7":"category-technology","8":"category-tips","9":"category-using-vdocipher","10":"category-video-watermarking","11":"category-watermark","12":"tag-drm","13":"tag-dynamic-watermark","14":"tag-secure-video-hosting","15":"tag-secure-video-streaming","16":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.0 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Watermark Demo: Add text to videos and protect from Illegal download<\/title>\n<meta name=\"description\" content=\"In this watermark demo, learn how to add text to videos with user info to cut down on the chances of sharing a recorded video.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dynamic Watermark Demo: Add User Identifier Text to Videos- User ID, Email ID, Phone No.\" \/>\n<meta property=\"og:description\" content=\"In this watermark demo, learn how to add text to videos with user info to cut down on the chances of sharing a recorded video.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/\" \/>\n<meta property=\"og:site_name\" content=\"VdoCipher Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vdociphertech\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-01T01:00:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-01T10:51:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2162\" \/>\n\t<meta property=\"og:image:height\" content=\"1478\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Vibhav Sinha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vdocipher\" \/>\n<meta name=\"twitter:site\" content=\"@vdocipher\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vibhav Sinha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/\"},\"author\":{\"name\":\"Vibhav Sinha\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#\/schema\/person\/44b7d612191edc5560c5cb64184d379c\"},\"headline\":\"Dynamic Watermark Demo: Add User Identifier Text to Videos- User ID, Email ID, Phone No.\",\"datePublished\":\"2026-09-01T01:00:29+00:00\",\"dateModified\":\"2026-09-01T10:51:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/\"},\"wordCount\":976,\"commentCount\":26,\"publisher\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png\",\"keywords\":[\"DRM\",\"dynamic watermark\",\"secure video hosting\",\"Secure video streaming\"],\"articleSection\":[\"DRM\",\"Technology\",\"tips\",\"Using VdoCipher\",\"Video Watermarking\",\"Watermark\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/\",\"url\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/\",\"name\":\"Watermark Demo: Add text to videos and protect from Illegal download\",\"isPartOf\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png\",\"datePublished\":\"2026-09-01T01:00:29+00:00\",\"dateModified\":\"2026-09-01T10:51:51+00:00\",\"description\":\"In this watermark demo, learn how to add text to videos with user info to cut down on the chances of sharing a recorded video.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#primaryimage\",\"url\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png\",\"contentUrl\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vdocipher.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dynamic Watermark Demo: Add User Identifier Text to Videos- User ID, Email ID, Phone No.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#website\",\"url\":\"https:\/\/www.vdocipher.com\/blog\/\",\"name\":\"VdoCipher Blog\",\"description\":\"Secure Video Streaming Player\",\"publisher\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.vdocipher.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#organization\",\"name\":\"VdoCipher\",\"url\":\"https:\/\/www.vdocipher.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2016\/11\/VdoCipher-logo2.png\",\"contentUrl\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2016\/11\/VdoCipher-logo2.png\",\"width\":1625,\"height\":1925,\"caption\":\"VdoCipher\"},\"image\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/vdociphertech\/\",\"https:\/\/x.com\/vdocipher\",\"https:\/\/www.linkedin.com\/company\/vdocipher\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#\/schema\/person\/44b7d612191edc5560c5cb64184d379c\",\"name\":\"Vibhav Sinha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/21359ad936924de4c06b12ee192755a4337f15761710afc5877a6f943f1c8a47?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/21359ad936924de4c06b12ee192755a4337f15761710afc5877a6f943f1c8a47?s=96&r=g\",\"caption\":\"Vibhav Sinha\"},\"description\":\"(Co-Founder &amp; 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.\",\"url\":\"https:\/\/www-uat.vdocipher.com\/blog\/author\/vibhavsinha\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Watermark Demo: Add text to videos and protect from Illegal download","description":"In this watermark demo, learn how to add text to videos with user info to cut down on the chances of sharing a recorded video.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/","og_locale":"en_US","og_type":"article","og_title":"Dynamic Watermark Demo: Add User Identifier Text to Videos- User ID, Email ID, Phone No.","og_description":"In this watermark demo, learn how to add text to videos with user info to cut down on the chances of sharing a recorded video.","og_url":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/","og_site_name":"VdoCipher Blog","article_publisher":"https:\/\/www.facebook.com\/vdociphertech\/","article_published_time":"2026-09-01T01:00:29+00:00","article_modified_time":"2026-09-01T10:51:51+00:00","og_image":[{"width":2162,"height":1478,"url":"https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png","type":"image\/png"}],"author":"Vibhav Sinha","twitter_card":"summary_large_image","twitter_creator":"@vdocipher","twitter_site":"@vdocipher","twitter_misc":{"Written by":"Vibhav Sinha","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#article","isPartOf":{"@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/"},"author":{"name":"Vibhav Sinha","@id":"https:\/\/www.vdocipher.com\/blog\/#\/schema\/person\/44b7d612191edc5560c5cb64184d379c"},"headline":"Dynamic Watermark Demo: Add User Identifier Text to Videos- User ID, Email ID, Phone No.","datePublished":"2026-09-01T01:00:29+00:00","dateModified":"2026-09-01T10:51:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/"},"wordCount":976,"commentCount":26,"publisher":{"@id":"https:\/\/www.vdocipher.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png","keywords":["DRM","dynamic watermark","secure video hosting","Secure video streaming"],"articleSection":["DRM","Technology","tips","Using VdoCipher","Video Watermarking","Watermark"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/","url":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/","name":"Watermark Demo: Add text to videos and protect from Illegal download","isPartOf":{"@id":"https:\/\/www.vdocipher.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#primaryimage"},"image":{"@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png","datePublished":"2026-09-01T01:00:29+00:00","dateModified":"2026-09-01T10:51:51+00:00","description":"In this watermark demo, learn how to add text to videos with user info to cut down on the chances of sharing a recorded video.","breadcrumb":{"@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#primaryimage","url":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png","contentUrl":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-at-2.31.42-PM.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vdocipher.com\/blog\/add-text-to-videos-with-watermark\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vdocipher.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Dynamic Watermark Demo: Add User Identifier Text to Videos- User ID, Email ID, Phone No."}]},{"@type":"WebSite","@id":"https:\/\/www.vdocipher.com\/blog\/#website","url":"https:\/\/www.vdocipher.com\/blog\/","name":"VdoCipher Blog","description":"Secure Video Streaming Player","publisher":{"@id":"https:\/\/www.vdocipher.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vdocipher.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vdocipher.com\/blog\/#organization","name":"VdoCipher","url":"https:\/\/www.vdocipher.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vdocipher.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2016\/11\/VdoCipher-logo2.png","contentUrl":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2016\/11\/VdoCipher-logo2.png","width":1625,"height":1925,"caption":"VdoCipher"},"image":{"@id":"https:\/\/www.vdocipher.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/vdociphertech\/","https:\/\/x.com\/vdocipher","https:\/\/www.linkedin.com\/company\/vdocipher"]},{"@type":"Person","@id":"https:\/\/www.vdocipher.com\/blog\/#\/schema\/person\/44b7d612191edc5560c5cb64184d379c","name":"Vibhav Sinha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vdocipher.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/21359ad936924de4c06b12ee192755a4337f15761710afc5877a6f943f1c8a47?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21359ad936924de4c06b12ee192755a4337f15761710afc5877a6f943f1c8a47?s=96&r=g","caption":"Vibhav Sinha"},"description":"(Co-Founder &amp; 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.","url":"https:\/\/www-uat.vdocipher.com\/blog\/author\/vibhavsinha\/"}]}},"yoast":{"focuskw":"add text to videos","title":"Watermark Demo: Add text to videos and protect from Illegal download","metadesc":"In this watermark demo, learn how to add text to videos with user info to cut down on the chances of sharing a recorded video.","linkdex":"75","metakeywords":"","meta-robots-noindex":"","meta-robots-nofollow":"","meta-robots-adv":"","canonical":"","redirect":"","opengraph-title":"","opengraph-description":"","opengraph-image":"","twitter-title":"","twitter-description":"","twitter-image":""},"_links":{"self":[{"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/posts\/205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/comments?post=205"}],"version-history":[{"count":21,"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/posts\/205\/revisions"}],"predecessor-version":[{"id":22449,"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/posts\/205\/revisions\/22449"}],"wp:attachment":[{"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/media?parent=205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/categories?post=205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/tags?post=205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}