Tag Archives: dynamic watermark

How GOT video leak could have been prevented with VdoCipher

Prevent pre-release leaks using dynamic watermarking feature from VdoCipher ?

Game of Throne is one of the most popular TV series currently. The first four episodes of the series started making their way around the Internet Saturday night after being uploaded to several Torrent sites, a day before the official Sunday première. The four leaks seem to originate from a screener sent to reviewers and translators ahead of the show’s launch. Below link give  a detailed news.


The main thing to notice here is that video seems to be downloaded using an external camera which explains poor quality of leakage. There is a watermark at the bottom which is blurred using video editing tool.

How using VdoCipher for pre-release video sharing could have been helpful ?

1. Create a movie sharing site with login system( user id and password for each of your user ). The number of pre-release viewers would be in range of 100.

2. Now the translators and technical persons all can watch the videos for reviews and suggestions. Use dynamic watermarking feature provided by VdoCipher.

3. VdoCipher Security – The stream is encrypted , so video download is not possible. The viewers mail id , username , ip address , the current time of playback can be flashed on the player. Unlike the leaked movie , VdoCipher has below special features.

  • The watermark is user specific
  • The watermark is moving continuously. (Flashed every few seconds)
  • The watermark can be customized. ( size, color, transparency, time period for flashing.)
  • All this ensures that the watermark can not be removed from the video and also it does not cause irritation to the viewer.

4. Demo – Here is a demo link that shows VdoCipher’s watermarking feature. It is flashing the ip address and mail id. Mail id is kept static  It can be set to moving if desired.. ip address is continuously moving. The colour , position, size , periodicity of motion ,transparency everything can be customized with a simple code mentioned in blog.

Dynamic water-marking with VdoCipher demo

For more details on secure video hosting, visit our site – www.vdocipher.com

Add images and text to video with dynamic watermarking

Below is a sample video with dynamic watermark features.

The stream is encrypted for highest security. For playing it on mobile, ask for an app or app sdk. This video is displayed using our WordPress plugin annotation features. It can be customized for movement , color, size , transparency. For a watermark on your own video, get a free full version trial at www.vdocipher.com

All you need to give is a JSON string describing how and what you need to overlay on your protected videos. Videos streamed on VdoCipher are protected from unauthorized downloads. Watermarking user information further cuts down on the chances of sharing a recorded video.

How to get started?

I am assuming you have uploaded your video to your VdoCipher account and are ready to embed the video either using WordPress plugin or implementing the API yourself. In both the cases, you need to pass an “annotation code” or a “json string” to tell us what and how to annotate.  Let’s see how to create this annotation json and add text to video. (A json string is a form of representing structured data in a way machine can understand.)

Here is a sample:

{'type':'image', 'url':'https://example.com/url/to/image.jpg','alpha':'0.8', 'x':'100','y':'200'}, 
{'type':'rtext', 'text':'moving text', 'alpha':'0.8', 'color':'0xFF0000','size':'12','interval':'5000'},
{'type':'text', 'text':'static text', 'alpha':'0.5' , 'x':'10', 'y':'100', 'color':'0xFF0000', 'size':'12'}

The above code adds a moving text, static text and a static image for your video.

Technically, this is a JSON array of objects, where each object describe a single annotation item. Each of these items will be described by its parameters.
Every item requires a type parameter which defines the type of watermark. The type of watermark can be either a static text, a moving text or a static image. The rest of the parameters depends on the type. Following a short description of how each of these parameters affect the display of text and image. The text after “//” denotes a comment about the parameter value.

Static text
‘type’ : ‘text’,   //do not change, this defines the type of annotation item
‘text’ : ‘the text you like to be displayed’,
‘x’ : ’10’,  //the distance from the left border of video.
‘y’: ’50’,  //the distance from the top border of video.
‘alpha’: ‘0.8’,    //the opacity of the rendered text, 0 is invisible, 1 is full opaque
‘color’:’0xFF0000′,    //the color of the text specified as hexadecimal or uint
      //Height of the text, in pixels.

Moving text
‘type’: ‘rtext’,
‘text” : ‘Enter whatever text you like to be displayed’,
‘interval’:’5000′    // the interval in milliseconds when the text changes position

‘type’ : ‘image’,
‘url’ : ‘http://example.com/path/to/image.png’,     // the direct link of image
‘x’ : ’10’,
‘y’ : ‘100’


  • 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.
  • Each parameter is to be separated by comma. There should not be a comma after the last parameter for the dynamic watermark video settings.

Final Step

Now you need to integrate the above watermark info in your actual video. Pass this json string as a post parameter when making the OTP call with key value annotate. Note that, our current v2 API requires post data to be sent as Content-Type: application/x-www-form-urlencoded  . So, there will be two different post keys: 1) clientSecretKey 2) annotate

Only if you are writing the http requests from scratch you will need to url encode the json string when appending it to the post data. Most web frameworks have inbuilt method of generatig post data. In such cases, you should ensure that data is not doubly encoded i.e. just set the json string when calling your web framework’s addPostParam() method.

Still having problems with the dynamic watermark on video code? Send us the code you are using and the output you wish to be shown to info@vdocipher.com