用户ID跑马灯功能(演示实例/请点右上角登录后查看用户ID跑马灯效果)
用户ID跑马灯功能
通过接口配置获取观看者信息,将观看者信息随机显示于视频播放界面(可自定义位置、时间、时长及颜色等),在不影响观看体验的同时,让视频具备指纹信息。
用户ID跑马灯作用
ID跑马灯可快速追踪被盗视频出处,方便第一时间对录屏者进行举报封号,并为法律途径起诉保留证据。在震慑盗版者的同时,也这样可以大大的增加盗版者的录屏成本,同时还能够强力的震慑盗版者。
服务端实现的PHP示例
<?php
//服务端实现的PHP示例如下
//validate.php
$username = "elvis"; // 用户昵称, 若值为中文需要urlencode('张三'),可从session获取
$secretkey = "secretkey"; // 登录保利威管理后台,点击 【设置】 → 【API接口】获取
$vid=$_GET["vid"];
$t = $_GET["t"];
$code = $_GET["code"];
$fontSize="40";
$fontColor="0xFFE900";
$speed="200";
$filter="on";
$setting="3";
$alpha="1";
$filterAlpha="1";
$filterColor="0x3914AF";
$blurX="2";
$blurY="2";
$tweenTime="1";
$interval="5";
$lifeTime="3";
$strength="4";
$show="on";
$msg="Errormessage!";
if($username=="elvis"){ // 业务方可自定义授权验证逻辑
$status = 1;
}else {
$status = 2;
}
if(!empty($_GET["callback"])){
$callback = $_GET["callback"];
}else{
$callback = '';
}
$sign=md5("vid=$vid&secretkey=$secretkey&username=$username&code=$code&status=$status&t=$t&msg=$msg&fontSize=$fontSize&fontColor=$fontColor&speed=$speed&filter=$filter&setting=$setting&alpha=$alpha&filterAlpha=$filterAlpha&filterColor=$filterColor&blurX=$blurX&blurY=$blurY&interval=$interval&lifeTime=$lifeTime&tweenTime=$tweenTime&strength=$strength&show=$show");
$array = Array("status"=>$status,"username"=>$username,"sign"=>$sign,"msg"=>$msg,"fontSize"=>$fontSize,"fontColor"=>$fontColor,"speed"=>$speed,"filter"=>$filter,"setting"=>$setting,"alpha"=>$alpha,"filterAlpha"=>$filterAlpha,"filterColor"=>$filterColor,"blurX"=>$blurX,"blurY"=>$blurY,"tweenTime"=>$tweenTime,"interval"=>$interval,"lifeTime"=>$lifeTime,"strength"=>$strength,"show"=>$show,);
$Json = json_encode($array);
if($callback!=''){
echo $callback."(".$Json.")";
} else{
echo $Json;
}
?>
Sign的计算规则为(参数必须按照示例中的顺序拼接)
<?php
//Sign的计算规则
Plain = "vid=" + vid + "&secretkey=" + secretKey + "&username=" + username + "&code=" + code + "&status=" + status + "&t=" + t +
"&msg=" + msg + "&fontSize=" + fontSize + "&fontColor=" + fontColor + "&speed=" + speed +"&filter=" +filter + "&setting=" + setting +
"&alpha=" + alpha + "&filterAlpha=" + filterAlpha + "&filterColor=" + filterColor + "&blurX=" + blurX + "&blurY=" + blurY +
"&interval=" + interval + "&lifeTime=" + lifeTime + "&tweenTime=" + tweenTime + "&strength=" + strength + "&show=" +show;
sign = MD5.hash(Plain);
?>
接口返回参数说明
由于私有加密对浏览器版本有一定要求,web端在各端系统浏览器支持情况具体如下:
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| status | Integer | 是 | / | 是否允许播放:1 允许 2 禁止 |
| username | String | 是 | / | 观众名称,也会用于跑马灯显示的文字内容 |
| sign | String | 是 | / | 接口签名,用于校验返回内容是否被篡改 |
| show | String | 是 | off | 当参数值为“on”时表示显示跑马灯,默认不显示 |
| setting | Integer | 是 | 1 | 跑马灯滚动的样式:1 从右到左滚动 2 随机位置闪烁 3 从右到左闪烁滚动 |
| speed | Integer | 是 | 200 | 跑马灯文字从右侧移至左侧所需时间,单位:1/10秒,仅对setting(1、3)生效 |
| lifeTime | Integer | 是 | 3 | 跑马灯文字显示时间,单位:秒,仅对setting(2)生效 |
| interval | Integer | 是 | 5 | 跑马灯文字隐藏间隔时间,单位:秒, 仅对setting(2、3)生效, |
| tweenTime | Integer | 是 | 1 | 跑马灯文字渐隐渐现时间,单位:秒 (已废弃) |
| fontSize | Integer | 是 | 30 | 跑马灯文字的字体大小 |
| fontColor | String | 是 | 0x000000 | 跑马灯文字颜色,使用十六进制颜色值表示,如0xFF0000,默认为黑色 |
| alpha | Float | 是 | 1 | 跑马灯文字透明度,取值范围0.01~1,参数值不能小于0.01 |
| filter | String | 是 | off | 跑马灯文字是否描边,on 描边 off 不描边 |
| filterAlpha | Float | 是 | 1 | 文字描边透明度,取值范围0~1 |
| filterColor | String | 是 | 0x000000 | 文字描边颜色,使用十六进制颜色值表示,如0xFF0000,默认为黑色 |
| strength | Integer | 是 | 4 | 描边强度,取值范围0~255 |
| blurX | Integer | 是 | 2 | 描边水平模糊量,取值范围0~255 |
| blurY | Integer | 是 | 2 | 描边垂直模糊量,取值范围0~255 |
| msg | String | 是 | / | 自定义错误提示信息 |
视频播放效果截图
以下为用户ID跑马灯的效果截图:
用户ID跑马灯效果(下方黄字 [ ID-张嘉文-TEL-1350909... ] 即为用户ID跑马灯)