阿酷TONY,原创,2021-8-16
教育教学类视频加密效果截图
想法:
1. 【防下载】:实现视频文件的加密混淆、防下载;
2. 【防录屏】:A.(ID跑马灯防录屏)实现不同学员观看视频,实时显示该学员的姓名+手机号+时间;B.(浏览器防录屏)防360等浏览器小窗录屏;
3. 【域名防盗链】:实现域名黑白名单机制,允许白名单中的域名调用和播放,防止其他平台直接盗用视频;
4. 【视频水印】:这个较容易实现;
我做的例子效果:https://tony.89525.com/edu/ ( 完整效果演示 )
1. 前期准备(PPT课件文档与课件录制)
为了让效果更精美,我特意制作了一个PPT课件:
图1 / PPT课件文档
图2 / PPT课件文档
完成视频的录制与背景音乐的添加,这里涉及到课程录制,可以用录屏工具或摄像机拍摄,我这里用的是录屏工具。课程录制完成后,可以再用Adobe Premiere做一些编辑和添加背景音乐等。
图3 / 视频录制与制作
图4 / 视频录制与制作
2.视频文件上传到云平台(平台加密、编码和CDN分发)
将视频上传,在云平台中使用加密功能,平台对视频做分片、加密处理,当然也实现视频的全国CDN分发。
图5 / 上传到云平台
图6 / 云平台列表展示
3.配置ID跑马灯接口文件
<?php
session_start();
$dateTime = date('Y-m-d H:i:s',time());
//检测是否登录,若没登录则转向登录界面
if(!isset($_SESSION['user_name'])){
$username = "ID-Tony-TEL-13509098899-".$dateTime;
} else{
$username = "ID-".$_SESSION['user_name']."-TEL-13509098899-".$dateTime;
}
...
...
...
...
?>
4. 前台播放器调用
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Blob Url</title>
</head>
<body>
</body>
</html>
<?php
//注销登录
if($_GET['action'] == "logout"){
unset($_SESSION['user_id']);
unset($_SESSION['user_name']);
echo '注销登录成功!点击此处 <a href="login.html">登录</a>';
exit;
}
//登录
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$user_name = htmlspecialchars($_POST['username']);
$pass_word = MD5($_POST['password']);
//登录成功
$_SESSION['user_name'] = $user_name;
$_SESSION['user_id'] = $result['uid'];
echo $user_name,' 欢迎你!进入 <a href="/edu/">观看视频</a><br />';
echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />';
?>
5.调用播放器代码
var player = polyvPlayer({
wrap: '#player',
width: '100%',
height: '100%',
autoplay:'true',
vid: '<?php echo $myVid ?>',
playsafe: '<?php echo $token ?>',
ts:'<?php echo $ts; ?>',
sign:'<?php echo $hash; ?>',
});
6. 用户登陆与退出
<div class="userinfo" style="padding-top:15px;">
<?php
if(!isset($_SESSION['user_name'])){
echo "欢迎您!";
echo ' <a href="javascript:void(0);" class="loginsc cRed">账号登录</a> <br />';
} else {
echo "欢迎您!<b class='cRed' >" .$_SESSION['user_name']. "</b>";
echo ' <a href="/edu/login.php?action=logout" class="cRed">退出账号</a> <br />';
}
?>
</div>
以上例子完整效果参见:https://tony.89525.com/edu/
未完待续....