移动端web的授权播放功能与原理
随着移动端视频技术的发展,用户对移动端观看视频的需求日益增加,教育行业对移动端的视频版权保护意识的日益加强,保利威视推出了移动端web的授权播放功能,以保护用户的移动端视频观看的版权。
实现移动端web的授权播放功能,首先需要在POLYV后台进行如下设置:
保存好以上设置之后,还需要在页面代码中添加ts和sign参数。当手机浏览器请求m3u8地址时,会将ts和sign参数传递给m3u8地址,m3u8的key授权服务器收到参数后进行校验。如果ts和sign参数正确,保利威视的key授权服务器会返回正确的key文件给播放器。如果ts或sign参数错误,则会返回400错误。
以下以PHP为示例代码,其中ts参数为当前时间戳乘以1000,sign为secretkey、vid、ts按顺序拼凑起来的字符串进行MD5计算得到的结果。
整个移动端web的授权播放功能实现过程,如下图所示:
那么,保利威视是如何重视并保护移动端访问的m3u8文件呢?
首先,我们来看一下m3u8文件里面的具体内容。
其中,m3u8文件在播放过程中需要用来解密播放ts文件的key,如下图所示:
接下来,在“开放授权”(在“POLYV后台”——“视频设置”——“移动端加密设置”里面设置)的情况下,直接访问key文件 http://hls.videocc.net/e2e84a7383/7/e2e84a738354402a52ce81aeab4e3067_1.key ,访问正常,返回200。如下图所示:
如果在“web授权”的情况下,直接访问key文件http://hls.videocc.net/e2e84a7383/7/e2e84a738354402a52ce81aeab4e3067_1.key ,则访问异常,返回400错误。如下图所示:
那在“web授权”的情况下,使用保利威视移动端web的授权播放功能,如何合法正确地请求m3u8文件,从而获取到合法的key文件呢?
首先,获取用户页面代码中的ts(时间戳)和sign参数,将这两个参数拼接到原来的m3u8地址中,得到合法的m3u8地址 http://hls.videocc.net/e2e84a7383/7/e2e84a738354402a52ce81aeab4e3067_1.m3u8?ts=1437043087000&sign=7318672c72cc6a1991cf3817537900e3 ,访问请求到合法的m3u8文件。如下图所示:
接下来,从合法的m3u8文件中获取到合法的key地址 http://hls.videocc.net/e2e84a7383/7/e2e84a738354402a52ce81aeab4e3067_1.key?ts=1437043087000&sign=9cc24d16d03623e74041e3a757dffa65 ,访问请求到合法的key文件,返回200。如下图所示:
由于在“web授权”的情况下,key文件的生存时间为5分钟。5分钟过后,则之前的key文件失效,访问原来的key文件则会返回400错误。如下图所示:
Last updated