Generating Annotation Code/ Watermark

This is used to enter the annotation code. Please refer to the blog for details on writing the annotation code.

The annotation code below would show a dynamic watermark (moving text) displaying the name of the logged-in user.

{
  "annotate":"[{'type':'rtext', 'text':' {name}', 'alpha':'0.60', 'color':'0xFF0000','size':'15','interval':'5000'}]"
}

Get OTP Sample Code

Use the language tab on top-right to choose your server language.

The sample videoID is 1234567890 and the API Secret Key is a1b2c3d4e5. This sample code only passes the annotation code as parameter.

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'\''}]"
}'
var request = require("request");

var options = { method: 'POST',
  url: 'https://dev.vdocipher.com/api/videos/1234567890/otp',
  headers: {
     Accept: 'application/json',
     'Content-Type': 'application/json',
     Authorization: 'Apisecret a1b2c3d4e5'
  },
  body: {
    annotate: JSON.stringify([{
      type: 'rtext',
      text: '{name}',
      alpha: '0.60',
      color: '0xFF0000',
      size: '15',
      interval: '5000',
    }]),
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://dev.vdocipher.com/api/videos/1234567890/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([
    'annotate' => json_encode([
      'type'=>'rtext',
      'text'=>'{name}',
      'alpha'=>'0.60',
      'color'=>'0xFF0000',
      'size'=>'15',
      'interval'=>'5000'
    ]),
  ]),
  CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Apisecret a1b2c3d4e5",
    "Content-Type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://dev.vdocipher.com/api/videos/1234567890/otp");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Apisecret a1b2c3d4e5");
request.AddParameter("undefined", "{\n\t\"annotate\":\"[{'type':'rtext', 'text':' {name}', 'alpha':'0.60', 'color':'0xFF0000','size':'15','interval':'5000'}]\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
import requests
import json

url = "https://dev.vdocipher.com/api/videos/1234567890/otp"

payload = json.dumps({
 "annotate": json.dumps([
   {'type':'rtext', 'text':'name', 'alpha':'0.60', 'color':'0xFF0000', 'size':'15','interval':'5000'}
 ])
})
headers = {
  'Authorization': "Apisecret a1b2c3d4e5",
  'Content-Type': "application/json",
  'Accept': "application/json"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
require 'uri'
require 'json'
require 'net/http'

url = URI("https://dev.vdocipher.com/api/videos/1234567890/otp")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Apisecret a1b2c3d4e5'
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request.body = {
  :annotate => [{
    :type=>'rtext',
    :text=>'{name}',
    :alpha=>'0.60',
    :color=>'0xFF0000',
    :size=>'15',
    :interval=>'5000'
  }].to_json
}.to_json

response = http.request(request)
puts response.read_body

results matching ""

    No results matching ""