跑馬燈
功能介紹
影片現今已應用在各行各業中。然而,影片版權問題依然是困擾大多數人的難題。而錄製螢幕,是影片防盜中最難防範的一個環節。如何防止錄製螢幕,這成為了人們普遍關心的問題。
因此,POLYV針對性定製了一款增強防錄製螢幕效果的影片功能—影片跑馬燈功能。
跑馬燈功能,可以根據個人喜好進行設定跑馬燈的具體效果,使該功能在保證防錄製螢幕的前提下還不影響訪客的觀看體驗與影片的整體美觀。
還可以透過使用POLYV提供的介面,透過設定,可以實現設定文字在影片上不規則的跑動,如客戶可以透過程式碼獲取到訪客的ID後,將ID以跑馬燈的方式展現在影片的上方,這樣可以大大的增加盜版者的錄製螢幕成本,同時還能夠強力地震懾盜版者。
後台設定
直播後台 --> 選擇頻道 --> 播放器管理 --> 防錄製螢幕跑馬燈
固定值和登入使用者名稱
可设置参数
| 參數 | 說明 |
|---|---|
| 跑馬燈內容 | 顯示的跑馬燈內容,登入使用者名稱需要設定param2參數 |
| 字型大小 | 跑馬燈內容字型大小,不建議設定小於12號字型 |
| 字型顏色 | 跑馬燈內容字型顏色,16進位數值 |
| 透明度 | 跑馬燈內容透明度,最大是99% |
| 顯示方式 | 跑馬燈顯示方式,滚动是自螢幕右方至左方一直滾動 闪烁是螢幕內隨機位置閃爍 |
| 雙跑馬燈 | 開啟後,額外載入一個內容相同的跑馬燈,該跑馬燈肉眼不可見,可經過特殊處理後顯示,用於溯源。 |
| 自訂縮放 | 開啟後,跑馬燈內容可以隨播放器大小的縮放而縮放 |
- 外嵌播放時用登入使用者名稱需要設定param2參數,否則會報錯
- 固定值和登入使用者名稱可以快速設定顯示跑馬燈,但是安全性不及自訂跑馬燈,對防錄製螢幕有較高要求請使用自訂跑馬燈和開通防錄製螢幕功能
效果


自訂跑馬燈
如果需要用自訂跑馬燈,則需要在直播後台設定跑馬燈連結,如:http://www.mywebsite.com/validate.php
- 後端回傳json
使用者的http協定介面(如 http://www.mywebsite.com/validate.php )程式碼範例:
<?php
$username= "elvis";// 用户昵称, 若值为中文需要urlencode('张三'),从session获取
$vid = $_GET["vid"];
$uid = $_GET["uid"];
$t = $_GET["t"];
$code = $_GET["code"]; // 可选
$callback = isset($_GET["callback"])?$_GET["callback"]:null; //未提交callback时则设为空
$msg='播放错误(测试)';
$fontSize=50;
$fontColor='0xFFFF00';
$speed=50;
$filter='on';
$setting=3;
$alpha=0.9;
$filterAlpha=0.9;
$filterColor='0xFF0000';
$blurX=2;
$blurY=2;
$interval=2;
$lifeTime=5;
$tweenTime=5;
$strength=100;
$show='on';
$str="vid=".$vid."&uid=".$uid."&username=".$username."&code=".$code."&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($str); //加密规则,md5加密,
$array = Array("show"=>$show,"sign"=>$sign,"username"=>$username,"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);
$validateJson = json_encode($array);
if($callback != ''){
echo $callback."(".$validateJson.")";
} else{
echo $validateJson;
}
?>
註:介面如回傳中文內容,請修改編碼為UTF-8編碼
以下為介面的回傳範例:
{
"username":"elvis",
"sign":"6ab63590797e513d1b6c46b407413478",
"msg":"Errormessage!",
"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"
}
參數解釋:
| 參數名 | 代表意義 | 參數可選 | 參數類型 | 是否必需項 | 預設值 |
|---|---|---|---|---|---|
| username | 使用者名稱,可以是學員的id,也可以是任意定義的值,不可為空 | String | 是 | ||
| sign | 透過MD5加密演算法計算得到32位小寫的值 | String | 是 | ||
| msg | 跑馬燈錯誤時提示資訊 | String | 是 | ||
| fontSize | 跑馬燈文字字型大小 | Integer | 是 | 30 | |
| fontColor | 跑馬燈文字字型顏色 | 包含三個 8 位 RGB 顏色成分的數字;例如,0x000000 為黑色 | String | 是 | 0x000000 黑色 |
| speed | 跑馬燈文字移動指定像素所需時間 | Integer 單位:(秒/10) | 是 | 200 | |
| filter | 是否描邊 | “on” :描邊 “off”:不描邊 | String | 是 | off |
| setting | 跑馬燈樣式 | 1:自螢幕右方至左方一直滾動 2:螢幕內隨機位置閃爍 3:自螢幕右方至左方一直滾動,漸隱漸現 4:上下15%的影片區域之間滾動 5:上下15%的影片區域隨機閃現文字 6:樣式 1 的增強型,加密效果更好,推薦使用 7:樣式 2 的增強型,加密效果更好,推薦使用 | Integer | 是 | 1 |
| alpha | 跑馬燈文字透明度 | 範圍:0.1~1 | Float | 是 | 1 |
| filterAlpha | 跑馬燈描邊透明度 | 範圍:0~1 | Float | 是 | 1 |
| filterColor | 跑馬燈描邊顏色 | 包含三個 8 位 RGB 顏色成分的數字;例如,0x000000 為黑色 | String | 是 | 0x000000 黑色 |
| blurX | 跑馬燈描邊水平模糊量 | 範圍:0~255 | Integer | 是 | 2 |
| blurY | 跑馬燈描邊垂直模糊量 | 範圍:0~255 | Integer | 是 | 2 |
| interval | 跑馬燈文字隱藏間隔時間 | Integer (單位:秒) | 是 | 5 | |
| lifeTime | 跑馬燈文字顯示時間 | Integer (單位:秒) | 是 | 3 | |
| tweenTime | 跑馬燈文字漸隱漸現時間 | Integer (單位:秒) | 是 | 1 | |
| strength | 跑馬燈描邊強度 | 範圍:0~255 | Integer | 是 | 4 |
| show | 是否顯示跑馬燈,預設顯示 | String | 是 | off |
ps: 上述參數若是數字類型注意需要傳入非0參數。
參數詳解
sign
sign的計算規則為:將以下參數的值拼湊起來的字串做MD5計算,簽名需要以下全部參數拼接,未設定值的也要參與。
$str="vid=".$vid."&uid=".$uid."&username=".$username."&code=".$code."&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($str);
例如:当vid="vid",uid="uid",username="suki",code="abc",t="143020010115550947",msg="Errormessage!",fontSize="40",fontColor="0xFFE900",speed="200",filter="on",setting="3",alpha="1",filterAlpha="1",filterColor="0x3914AF",blurX="2",blurY="2",interval="5",lifeTime="3",tweenTime="1",strength="4",show="on"时,
拼凑起来去MD5计算的字符串为
vid=vid&uid=uid&username=suki&code=abc&status=1&t=143020010115550947&msg=Errormessage!&fontSize=40&fontColor=0xFFE900&speed=200&filter=on&setting=3&alpha=1&filterAlpha=1&filterColor=0x3914AF&blurX=2&blurY=2&interval=5&lifeTime=3&tweenTime=1&strength=4&show=on
则sign为MD5计算后32位小写的值:8e0cdbf64c0ce98d0ef76e845f70418c
- 播放器呼叫
當網頁呼叫POLYV播放器播放影片時,js透過ajax方式去請求使用者的介面,需要跨域請求,會帶上vid、uid、code、t這3個參數(如,http(s)://www.mywebsite.com/validate.php?vid=vid&uid=uid&code=abc&t=143020010115550947)。
其中code為播放程式碼中的參數,值為自訂(如下所示,可以不在播放程式碼中添加此參數,則該參數的值預設為空);t為播放器產生的隨機數。
範例程式碼:
<script src='https://player.polyv.net/resp/live-h5-player/latest/liveplayer.min.js'></script>
<div id='player'></div>
<script>
var player = polyvLivePlayer({
wrap: '#player',
width: 800,
height: 533,
uid: 'uid',
vid: 'vid',
code : 'myCodeValue'
});
</script>
跨域
- 為了讓PC端的Flash能夠跨域請求使用者介面,還需要使用者在自己的網站域名根目錄下增加crossdomain.xml檔案。
- H5播放器存在跨域問題,可以在php添加以下配置解決
header("Access-Control-Allow-Origin: *");
請參考播放器跨域
tips
- 行動web端全螢幕播放時,會導致跑馬燈失效
