PHP實現(xiàn)騰訊云視頻加密的示例代碼
前言
上傳到騰訊云上面的視頻,如何實現(xiàn)防盜鏈?
當(dāng)我們的視頻放到,騰訊云上面,播放的時候如何實現(xiàn)指定過期時間,防止他人盜刷流量,這就要用到,騰訊云key防盜鏈技術(shù),這個技術(shù)有什么用呢?
- 視頻 URL 中指定過期時間,他人獲取后無法長期使用
- 在視頻 URL 中指定最大允許播放 IP 數(shù),他人獲取后不能無限制地分發(fā)給更多人觀看
- CDN 節(jié)點檢查視頻 URL 中的參數(shù)和簽名,對視頻播放請求進行控制。如果請求檢查不通過,則返回403響應(yīng)碼
接下來就是怎么用php實現(xiàn)了,大致過程也可以先查看一下官方文檔了解一下過程。
實現(xiàn)加密
1、打開騰訊云視頻開啟key防盜鏈


這是一串加密密鑰,先復(fù)制下來,接下來有用。
2、導(dǎo)入csv文件到數(shù)據(jù)庫
把騰訊云上面的視頻地址導(dǎo)出,然后導(dǎo)入到自己的數(shù)據(jù)庫

里面會給到播放地址一些的東西
3、加密
代碼可以用這個搬過去,只要把你的key替換一下,我用是tp6開發(fā),獲取數(shù)據(jù)庫的數(shù)據(jù),具體看自己項目,跟著來。
public function secret(Request $request)
{
//分頁處理
$where = Util::getMore([
['page',1],
['limit',20]
]);
$long = new Video();
//獲取數(shù)據(jù)
$data = $long->order('ID','asc')->field('video,title,play,cover')->page($where['page'],$where['limit'])->select();
if(empty($data)){
$this->success('成功',[]);
}
$res = [];
foreach($data as $item){
$item['play'] = intval($item['play']);
//替換域名,可以根據(jù)自己的來,不改的話,會報錯
$temp=str_replace('http://1500005512.vod2.myqcloud.com','',$item['video']);
$dirr = $this->lst($temp);
//替換成自己的key
$key = 'v3Pz10kGbn6HssfXoKK3';
// 過期時間秒;
$now = time();
$next = $now + 1*60*60;
// 生成16進制
$overtime = dechex($next);
// 生成sig
$str = $key.$dirr.$overtime;
$sign = md5($str);
$item['video'] = $item['video'] . '?t=' . $overtime .'&sign=' . $sign;
$rel[] = $item;
}
$ress = [];
foreach($rel as $item){
//urlen編碼
$item['video'] = urlencode($item['video']);
$ress[] = $item;
}
return success("ok",$ress);
}用postman,發(fā)送數(shù)據(jù),生成的key,可以用校正工具測試一下。如果報key無效,一般是生成的密鑰不對,一步一步檢查,發(fā)現(xiàn)錯誤并改正。
到此這篇關(guān)于PHP實現(xiàn)騰訊云視頻加密的示例代碼的文章就介紹到這了,更多相關(guān)PHP視頻加密內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP基于Closure類創(chuàng)建匿名函數(shù)的方法詳解
這篇文章主要介紹了PHP基于Closure類創(chuàng)建匿名函數(shù)的方法,結(jié)合實例形式詳細分析了Closure 類的功能、常用函數(shù)使用技巧及相關(guān)注意事項,需要的朋友可以參考下2017-08-08

