ビデオウォーターマーキング(Video Watermarking)はコンテンツの非正常な利用を防ぐために提供するセキュリティオプションとなります。ウォーターマーキングのタイプはテキストオーバーレイ(text-overlay)タイプのみ対応しており、APIで提供しています。
<?php
/**
* base64_urlencode
*
* @param string $str
* @return string
*/
function base64_urlencode($str) {
return rtrim(strtr(base64_encode($str), '+/', '-_'), '=');
}
/**
* jwt_encode
*
* @param array $payload
* @param string $key
* @return string
*/
function jwt_encode($payload, $key) {
$jwtHead = base64_urlencode(json_encode(array('typ' => 'JWT', 'alg' => 'HS256')));
$jsonPayload = base64_urlencode(json_encode($payload));
$signature = base64_urlencode(hash_hmac('SHA256', $jwtHead . '.' . $jsonPayload, $key, true));
return $jwtHead . '.' . $jsonPayload . '.' . $signature;
}
$securityKey = 'SECURITY_KEY';
$customKey = 'CUSTOME_KEY';
$mediaContentKey = 'MEDIA_CONTENT_KEY';
$clientUserId = 'CLIENT_USER_ID';
$expireTime = 7200; // 120 min
$mediaItems = array(
array(
'media_content_key' => $mediaContentKey,
),
);
$payload = array(
'mc' => array(),
'cuid' => $clientUserId,
'expt' => time() + $expireTime,
'video_watermarking_code_policy' =>
array(
'code_kind' => '2930451',
'font_size' => 20,
'font_color' => 'ffffff',
'show_time' => 10,
'hide_time' => 1,
'alpha' => 255,
'enable_html5_player' => true
),
);
foreach ($mediaItems as $mediaItem) {
$mcClaim = array();
$mcClaim['mckey'] = $mediaItem['media_content_key'];
$payload['mc'][] = $mcClaim;
}
$jwtToken = jwt_encode($payload, $securityKey);
$webTokenURL = 'http://v.kr.kollus.com/s?jwt=' . $jwtToken . '&custom_key=' . $customKey;
?>
<!DOCTYPE html>
<html lang="en">
<body>
<iframe width="840" height="472" src="<?php echo $webTokenURL; ?>" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
</body>
</html>
上記サンプル動画には ‘2930451’ というテキストが挿入されています。
- 再生途中にテキストが表示される位置がランダムに変更されます。
- テキストのサイズ、色、透明度を調整することができます。(font_size, font_color, alpha)
- テキストの表示時間と表示間隔を調整することができます。(show_time, hide_time)
- テキストにログインしている会員IDを表示することができます。(client_user_id)
該当内容につきましては Developerガイドのpayload 項目から確認することができます。