{"id":205,"date":"2024-01-08T01:00:29","date_gmt":"2024-01-08T01:00:29","guid":{"rendered":"http:\/\/www.vdocipher.com\/blog\/?p=205"},"modified":"2026-01-13T08:38:57","modified_gmt":"2026-01-13T08:38:57","slug":"add-text-to-videos-with-watermark","status":"publish","type":"post","link":"https:\/\/www-uat.vdocipher.com\/blog\/2014\/12\/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":"<p>Dynamic watermarking means showing user-identifiable data over a video in a moving and non-intrusive manner to ensure the highest protection from screen capture and optimize the viewing experience. Videos hosted through VdoCipher cannot be illegally downloaded through any tools\/extensions\/downloaders. Screen capture block with 100% surety is possible only in mobile apps and Safari browsers. For Chrome, <a href=\"https:\/\/www.vdocipher.com\/blog\/firefox-drm\/\">Firefox<\/a>, and other browsers, there does however remain the risk of piracy from screen capture. User-based information shown as moving dynamic watermark effectively discourages users from pirating video content using screen capture and goes a long way towards helping users protect their premium content.<\/p>\n<p>The sample video below contains a dynamic watermark displaying the <strong>User name<\/strong>, <strong>User IP,<\/strong> and <strong>User email<\/strong>. The below video is displayed using our WordPress plugin and the same can be configured using APIs or Moodle plugin as well.<\/p>\n<p>The dynamic watermark can be customized for movement, color, size, transparency and frequency. You can try the watermark feature on your website by signing up for a <a href=\"https:\/\/www.vdocipher.com\" target=\"_blank\" rel=\"noopener noreferrer\">Free 30 Day Trial on our home page.<\/a><\/p>\n<h2>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=20160313versIND3130URQFPooTcbWgUMQ1YXKO437tgSJEqSFN9V9w22rzQ2tSV&#038;playbackInfo=eyJ2aWRlb0lkIjoiYzE0ODBkNmYwNTdiNGFlZjg5YTcwNTc4ZTdmOWQzM2UifQ==\"\n  id=\"u1597134698\"\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('#u1597134698');\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>Features of Dynamic Watermark by VdoCipher<\/h2>\n<ol>\n<li>Add user details like user id, email id, phone number, ip address as an overlay over your videos<\/li>\n<li>Add time stamp, and fixed text (e.g company name)<\/li>\n<li>Customise size, color, transparency, and frequency of moving watermark. You can make it very light and also change frequency so that it is not always visible, to ensure optimum viewing experience. You can optimize frequency in such a manner, that it is difficult to remove the watermark maintaining user experience.\u00a0 To show a watermark at a particular position for 5 seconds and then not show it for 20 seconds, you can use the parameters of &#8216;interval&#8217;:5000 and &#8216;skip &#8216;: 20000. (1 second = 1000 microsecond).\u00a0 Other parameters are explained in below tutorial steps below.<\/li>\n<li><strong>Note &#8211; <\/strong>If you are using a static\/fixed text watermark, then it has to be compulsorily set at the top left of the player, it can not reside on other parts. Static watermark is only available for web player and not with our SDK integration for mobile apps. Moving watermark is available both for web and mobile apps. <\/li>\n<li>Image watermark is currently not possible with VdoCipher, but you can use your company\/brand name as a watermark.<\/li>\n<li>Quick 5-minute integration using wordpress plugin or moodle plugin or API. Iframe integration can show ip address and fixed text as watermark but it can not show user id, email id etc. as watermark since it is not a backend integration.<\/li>\n<\/ol>\n<h2>How to Add Dynamic Watermark to your VdoCipher Videos<\/h2>\n<p>To generate a watermark or to add text to videos you essentially need a JSON string describing how and what you will overlay on your protected videos. In this blog, we will be detailing how to integrate dynamic or static watermarks to add text to videos.<\/p>\n<p><a href=\"#json\">Step 1<\/a> is to create the watermark code. Once you have created the watermark code,<br \/>\n<a href=\"#otp\">Step 2<\/a> you add the watermark to the video. This is done by adding watermark code to the WordPress plugin settings (for WordPress users), or by adding it as part of OTP API call for VdoCipher API users or by adding it to Moodle plugin settings.<\/p>\n<h3 id=\"json\">Step 1: Create a Watermark Code<\/h3>\n<p>We are assuming that you have uploaded your video to your VdoCipher account. You would need to pass a JSON string as annotation code. The JSON string would contain all the information about the watermark. A JSON string is a universal form of representing structured data in a way that machines can understand.<\/p>\n<p>Here is a sample JSON string that adds a moving (dynamic) watermark and a static watermark.<\/p>\n<pre id=\"file-vdo_api_annotate-php-LC47\" class=\"line\"><span class=\"pl-s2\"><span class=\"pl-s1\">[\r\n<\/span><span class=\"pl-s1\">\r\n{'type':'rtext', 'text':'moving text', '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'}<\/span><\/span>\r\n<span class=\"pl-s2\"><span class=\"pl-s1\">]<\/span><\/span><\/pre>\n<p class=\"line-pre\">Technically, this is an array of JSON objects, where each object describes a single annotation item.<\/p>\n<p>Each of these items will be described by its parameters. Every item requires a <strong>type<\/strong> parameter that defines the type of watermark. The type of watermark can be either a moving text or a static text. The rest of the parameters depend on the <strong>type<\/strong>.<\/p>\n<p>Following is a short description of how each parameter affects the display of text.<\/p>\n<h3 id=\"dynamic\">Moving text<\/h3>\n<p>The following code will display a dynamic watermark code, displaying <strong>name<\/strong>, <strong>IP<\/strong> and <strong>email address<\/strong> in a single line. The text color will be red (#ff0000), opacity is 0.8, and font size is 15. The watermark is configured to keep one position for 5 seconds (5000ms) and then hide watermark for 20 seconds (20000 ms) , and then show again at a new position for 5 seconds.<\/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}]\r\n<\/pre>\n<h5>Type of text &#8211; Moving watermark<\/h5>\n<p>Set <strong>type<\/strong> parameter as rtext for Dynamic watermark<\/p>\n<pre>'type':'rtext',<\/pre>\n<h5>Set the text to be shown<\/h5>\n<pre>'text\" : 'Enter whatever text you like to be displayed',<\/pre>\n<p>You can add user identifiable information, such as user name, user email and user IP.<\/p>\n<ul>\n<li>&#8216;text&#8217;: &#8216;{name}&#8217;,<\/li>\n<li>&#8216;text&#8217;: &#8216;{email}&#8217;,<\/li>\n<li>&#8216;text&#8217;: &#8216;{ip}&#8217;,<\/li>\n<\/ul>\n<pre>'text':'Name: {name}, email: {email}, IP: {ip}<\/pre>\n<p>To display the name, email and IP separately, and not in a single line, you can simply create 3 watermark objects, as follows:<\/p>\n<pre>[{'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]\r\n<\/pre>\n<h5>Specify text opacity<\/h5>\n<p>This is the opacity of the text. For full opacity keep alpha value 1.<\/p>\n<pre>'alpha':'0.8',<\/pre>\n<h5>Specify text color<\/h5>\n<p>This is the hex value of the watermark text color. You can pick your choice of color and its corresponding hex value from the following page on <a href=\"https:\/\/www.w3schools.com\/colors\/colors_converter.asp\" target=\"_blank\" rel=\"noopener noreferrer\">W3schools.<\/a><\/p>\n<pre>'color':'0xFF0000',<\/pre>\n<h5>Specify the font size<\/h5>\n<p>This is the font size<\/p>\n<pre>'size':'15',<\/pre>\n<h5>Specify the interval over which watermark changes position<\/h5>\n<p>The value is the interval in milliseconds when the text changes position<\/p>\n<pre>'interval':'5000',<\/pre>\n<h5>Skip feature for watermark<\/h5>\n<p>It is possible to have\u00a0<span class=\"gmail-il\">watermark<\/span>\u00a0skip for some time between two overlays. Here is a sample code for it &#8211;<\/p>\n<pre>'skip':'2000'<\/pre>\n<h5>Time stamp for watermark. (Only for WordPress)<\/h5>\n<pre>[[{'type':'text', 'text':'Time: {date.h:i:s A}', 'alpha':'0.30' , 'x':'12', 'y':'130', 'color':'0xFF0000', 'size':'13'}]]<\/pre>\n<h5>Add Custom Variables as Watermark<\/h5>\n<p>The following blog details how you can add text to videos or custom variables as watermark to your videos: <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<h5>Some important things to keep in mind about Watermark<\/h5>\n<ul>\n<li>Note that both the name and the value of these parameters should be in quotes. This rule applies to both text as well as numbers.<\/li>\n<li>Each parameter is to be separated by a comma. There should not be a comma after the last parameter for the dynamic watermark video settings.<\/li>\n<\/ul>\n<h3 id=\"static\">Static text<\/h3>\n<pre>[{\r\n'type' : 'text',\u00a0\u00a0 \/\/This defines the type of annotation item to static watermark\r\n'text' : 'the text you like to be displayed',\r\n'x' : '10',\u00a0 \/\/the distance from the left border of video.\r\n'y': '50',\u00a0 \/\/the distance from the top border of video.\r\n'alpha': '0.8', \/\/the opacity of the rendered text, 0 is invisible, 1 is full opaque\r\n'color':'0xFF0000',\u00a0\u00a0\u00a0 \/\/the color of the text specified as hexadecimal or uint\r\n'size':'15' \/\/Height of the text, in pixels.\r\n}]\r\n<\/pre>\n<h3 id=\"otp\">Step 2: Add Watermark Code to Video Request using API or plugin<\/h3>\n<p>If you are using our WordPress or Moodle plugin you can simply add the watermark JSON in the plugin settings page. If you are integrating VdoCipher to your custom-built site, you would need to pass the JSON object as part of the <a href=\"https:\/\/www.vdocipher.com\/docs\/server\/playbackauth\/otp\/\" target=\"_blank\" rel=\"noopener noreferrer\">OTP request<\/a>.<\/p>\n<p>The HTTP POST data containing watermark JSON object has to be sent as <code>Content-Type:\u00a0application\/json<\/code>. The JSON Object is to be sent as value to the key <code>annotate<\/code>. The header for the OTP request should include the Authorization using API Secret Key. A sample OTP request including watermark information is as follows.<\/p>\n<pre><span class=\"token-line\"><span class=\"token function\">curl<\/span> <span class=\"token parameter variable\">-X<\/span><span class=\"token plain\"> POST <\/span><span class=\"token punctuation\">\\<\/span>\r\n<\/span><span class=\"token-line\"><span class=\"token plain\"> https:\/\/dev.vdocipher.com\/api\/videos\/1234567890\/otp <\/span><span class=\"token punctuation\">\\<\/span>\r\n<\/span><span class=\"token-line\"> <span class=\"token parameter variable\">-H<\/span> <span class=\"token string\">'Accept: application\/json'<\/span> <span class=\"token punctuation\">\\<\/span>\r\n<\/span><span class=\"token-line\"> <span class=\"token parameter variable\">-H<\/span> <span class=\"token string\">'Authorization: Apisecret a1b2c3d4e5'<\/span> <span class=\"token punctuation\">\\<\/span>\r\n<\/span><span class=\"token-line\"> <span class=\"token parameter variable\">-H<\/span> <span class=\"token string\">'Content-Type: application\/json'<\/span> <span class=\"token punctuation\">\\<\/span>\r\n<\/span><span class=\"token-line\"> <span class=\"token parameter variable\">-d<\/span> <span class=\"token string\">'{<\/span>\r\n<\/span><span class=\"token-line\"><span class=\"token string\"> \"annotate\":\"[{'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'type'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">':'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'rtext'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">', '<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'text'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">':'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">' {name}'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">', '<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'alpha'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">':'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'0.60'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">', '<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'color'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">':'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'0xFF0000'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">','<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'size'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">':'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'15'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">','<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'interval'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">':'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'5000'<\/span><span class=\"token punctuation\">\\<\/span><span class=\"token plain\">'<\/span><span class=\"token string\">'}]\"<\/span>\r\n<\/span><span class=\"token-line\"><span class=\"token string\">}'<\/span><\/span><\/pre>\n<p>The sample videoID is\u00a0<code>1234567890<\/code>\u00a0and the API Secret Key is\u00a0<code>a1b2c3d4e5<\/code>. This sample code only passes the annotation code as parameter.<\/p>\n<p>This blog: <a href=\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/protect-videos-on-wordpress\/\">Protect Videos on WordPress<\/a> provides more details on securing videos using WordPress.<\/p>\n<p><em>Still having problems to add text to videos or with the dynamic watermark on video code? Send us the code you are using and the output you wish to be shown to <a href=\"mailto:support@vdocipher.com\">support@vdocipher.com<\/a><\/em><\/p>\n<p><a href=\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11499 size-large\" title=\"add text to videos\" src=\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.png\" alt=\"add text to videos\" width=\"702\" height=\"367\" srcset=\"https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.png 1024w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-300x157.png 300w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-768x401.png 768w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-150x78.png 150w, https:\/\/www-uat.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1.png 1200w\" sizes=\"auto, (max-width: 702px) 100vw, 702px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dynamic watermarking means showing user-identifiable data over a video in a moving and non-intrusive manner to ensure the highest protection from screen capture and optimize the viewing experience. Videos hosted through VdoCipher cannot be illegally downloaded through any tools\/extensions\/downloaders. Screen capture block with 100% surety is possible only in mobile apps and Safari browsers. For [&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\/2014\/12\/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\/2014\/12\/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=\"2024-01-08T01:00:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-13T08:38:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/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\":\"2024-01-08T01:00:29+00:00\",\"dateModified\":\"2026-01-13T08:38:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/\"},\"wordCount\":1203,\"commentCount\":26,\"publisher\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.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\/2014\/12\/add-text-to-videos-with-watermark\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/\",\"url\":\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/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\/2014\/12\/add-text-to-videos-with-watermark\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.png\",\"datePublished\":\"2024-01-08T01:00:29+00:00\",\"dateModified\":\"2026-01-13T08:38:57+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\/2014\/12\/add-text-to-videos-with-watermark\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/#primaryimage\",\"url\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.png\",\"contentUrl\":\"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vdocipher.com\/blog\/2014\/12\/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\",\"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\/2014\/12\/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\/2014\/12\/add-text-to-videos-with-watermark\/","og_site_name":"VdoCipher Blog","article_publisher":"https:\/\/www.facebook.com\/vdociphertech\/","article_published_time":"2024-01-08T01:00:29+00:00","article_modified_time":"2026-01-13T08:38:57+00:00","og_image":[{"url":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.png","type":"","width":"","height":""}],"author":"Vibhav Sinha","twitter_card":"summary_large_image","twitter_creator":"@vdocipher","twitter_site":"@vdocipher","twitter_misc":{"Written by":"Vibhav Sinha","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/#article","isPartOf":{"@id":"https:\/\/www.vdocipher.com\/blog\/2014\/12\/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":"2024-01-08T01:00:29+00:00","dateModified":"2026-01-13T08:38:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/"},"wordCount":1203,"commentCount":26,"publisher":{"@id":"https:\/\/www.vdocipher.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.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\/2014\/12\/add-text-to-videos-with-watermark\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/","url":"https:\/\/www.vdocipher.com\/blog\/2014\/12\/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\/2014\/12\/add-text-to-videos-with-watermark\/#primaryimage"},"image":{"@id":"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.png","datePublished":"2024-01-08T01:00:29+00:00","dateModified":"2026-01-13T08:38:57+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\/2014\/12\/add-text-to-videos-with-watermark\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vdocipher.com\/blog\/2014\/12\/add-text-to-videos-with-watermark\/#primaryimage","url":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.png","contentUrl":"https:\/\/www.vdocipher.com\/blog\/wp-content\/uploads\/2022\/05\/Online-Video-Watermarking-1-1024x535.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vdocipher.com\/blog\/2014\/12\/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","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":"67","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":16,"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/posts\/205\/revisions"}],"predecessor-version":[{"id":20723,"href":"https:\/\/www-uat.vdocipher.com\/blog\/wp-json\/wp\/v2\/posts\/205\/revisions\/20723"}],"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}]}}