移动端加密视频的授权播放

来源:互联网 发布:便笺元数据损坏的原因 编辑:程序博客网 时间:2024/05/21 13:01

移动端加密视频的授权播放

Polyv的移动端加密视频由hls(m3u8文件)来实现。

移动端加密视频授权播放分三个级别

1.开放授权

开放授权意味着视频可以被随意观看,视频解密的key不被保护。

2.web授权

web授权播放需要输入指定参数,并且增加签名传递给m3u8地址。 m3u8的key授权服务器收到参数进行校验,如果参数和签名正确,key服务器会返回16字节的key文件给播放器。 如果参数或签名错误,则会返回403错误。

以下代码演示了如何输入参数和提交参数

123456789
<?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:

1234567891011
<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代码播放加密视频

1234567
#import "MPMoviePlayerController+plv.h"...//播放自适应码率视频self.videoPlayer = [[MPMoviePlayerController alloc]initWithVid:_vid];//播放指定码率的视频 self.videoPlayer = [[MPMoviePlayerController alloc]initWithVid:vid level:1];
0 0
原创粉丝点击