移动端加密视频的授权播放
Polyv的移动端加密视频由hls(m3u8文件)来实现。
移动端加密视频授权播放分三个级别
1.开放授权
开放授权意味着视频可以被随意观看,视频解密的key不被保护。
2.web授权
web授权播放需要输入指定参数,并且增加签名传递给m3u8地址。 m3u8的key授权服务器收到参数进行校验,如果参数和签名正确,key服务器会返回16字节的key文件给播放器。 如果参数或签名错误,则会返回403错误。
以下代码演示了如何输入参数和提交参数
1
2
3
4
5
6
7
8
9
| <?php
$vid = "sl8da4jjbx5d715bc3a8ce8f8194afab_s";
$secretKey= "";
$ts=time()*1000;
$hash = md5($secretKey.$vid.$ts);
$url = "http://hls.videocc.net/sl8da4jjbx/b/sl8da4jjbx5d715bc3a8ce8f8194afab.m3u8?ts=".$ts."&sign=".$hash;
?>
<video src="<?php echo $url ?>" preload="auto" controls=""></video>
|
播放器的javascript:
1
2
3
4
5
6
7
8
9
10
11
| <script src='http://static.polyv.net/file/polyvplayer_v2.0.min.js'></script>
<div id='player'></div>
<script>
var player = polyvObject('#player').videoPlayer({
'width':'600',
'height':'337',
'vid' : 'sl8da4jjbx5d715bc3a8ce8f8194afab_s',
'ts':'<?php echo $ts ?>',
'sign':'<?php echo $sign ?>'
});
</script>
|
另外需要指出的一点是,需要支持html5的浏览器下播放,就需要提供解密key,所以授权给html5播放器,就不能阻止附带下载功能的浏览器下载该加密视频。 但每个视频的签名和请求的时间戳都不同,可以阻止视频盗取者批量下载其他视频。
3.app授权
app授权播放需要集成polyv的iOS或android的sdk,通过sdk进行视频解密的key授权,key传输过程也进行了加密,可以有效防止视频被破解。 而客户只需要调用sdk的播放器以及简单函数就可以播放视频,不用理会key验证和视频解密的过程。
以下代码演示如何使用iOS代码播放加密视频
1
2
3
4
5
6
7
| #import "MPMoviePlayerController+plv.h"
...
//播放自适应码率视频
self.videoPlayer = [[MPMoviePlayerController alloc]initWithVid:_vid];
//播放指定码率的视频
self.videoPlayer = [[MPMoviePlayerController alloc]initWithVid:vid level:1];
|
发表评论 取消回复