浅析P2P下载模式下高清视频课件的版权保护
2016-07-26吴泽勋福建广播电视大学龙岩分校福建龙岩364000
吴泽勋(福建广播电视大学龙岩分校,福建 龙岩 364000)
浅析P2P下载模式下高清视频课件的版权保护
吴泽勋
(福建广播电视大学龙岩分校,福建 龙岩 364000)
摘 要:随着网络视频高清化,网络视频课件也在越来越多在教学中使用,对版权的控制也要求更高.在分析了P2P下载特点的基础下,提出对高清视频进行版权控制的相关模型,并讨论使用ASP.NET等相关技术具体来实现电大系统内控制高清视频版权,包括高清视频的转码、加密、分发、许可证管理等.
关键词:高清视频;P2P;版权保护
随着开放教育的深入开展,电大系统的网络视频课件大量在教学中使用.而随着数字高清视频的快速发展和日益普及,越来越多教师课件视频采用高清的模式编码.高清课件视频真实感强,画面层次感强,对学员的吸引力也大.当然相对制作成本也在相应增加,大家对版权保护的要求也就相对较高.现在基本采用Flash制作在线播放器,隐藏视频的原始地址,来达到控制版权的作用,比如福建省电大终身教育在线就是采用该技术来控制版权的.但是这样会因为受制于网络带宽,高清课件因容量较大而导致缓冲时间很长,画面常停滞等诸多问题.本文提出的方案就是提供内容经过封装、打包、加密的超清视频课件下载,并提供相应的种子文件以方便使用P2P模式来下载.当学员播放的时候登录到认证中心服务器根据原来注册的信息认证活动播放的权限.
1 P2P下载
P2P也称为点对点,是一种对等互联的通信模式,在该模式下每个参与者具有同等的地位和能力,可以主动发起通信会话,是一种不通过中央服务器而将一些独立的计算机资源组织起来,通过Internet运行于个人计算机上,实现彼此之间可以相互访问、共享计算机资源的网络.而P2P下载是应用P2P技术进行文件传输的一种方式,该方式下把下载文件虚拟分块,每个下载者可以下载不同的块,每块完成的下载者可以提供相应的源提供给别的未下载该块的下载者下载,这样下载的人越多,提供的下载源也就越多,下载速度就越快.通过这种方式,分散了单条线路上的数据流量,也减轻了服务器负担,可以最大限度地利用网络资源和带宽,也最大限度加快下载的速度.
2 数字版权管理
由于数字视频课件易于传播和复制的特点决定了必须有另一种独特的技术来加强保护视频内容免受未经授权的播放和复制,该技术就是数字版权管理-DRM.该技术通过对数字内容进行加密和附加使用规则,从而用来控制被保护对象的使用权的一些技术,这些技术保护的有数字化内容以及硬件,处理数字化产品的某个实例的使用限制,而其中使用规则可以用来判断用户是否符合播放数字内容的条件,具体可以防止内容被复制或者限制内容的播放次数,而操作系统和多媒体中间件负责强制执行这些规则.版权保护指的应用在电子设备上的数字化媒体内容上的技术,DRM保护技术使用以后可以控制和限制这些数字化媒体内容的使用权.数字版权管理是随着电子音频视频节目在互联网上的广泛传播而发展起来的一种新技术.其目的是保护数字媒体的版权,从技术上防止数字媒体的非法复制,或者在一定程度上使复制很困难,最终用户必须得到授权后才能使用数字媒体系统会将密钥标识和许可证颁发机构地址写入打包加密后的内容的头部,并且使用另一对密钥.
3 系统模型
本系统主要分成视频课件存储管理和许可证管理两大模块.视频课件存储管理模块需要完成几个功能:第一要对相关视频课件在服务器转码为支持DRM的视频格式,这里采用的为WMV格式.所以先判断教师发布的视频课件是否为WMV格式,如果不是则启动转换程序转换成WMV格式.第二对生成的WMV视频文件进行加密打包.第三以加密后的视频课件文件为源生成一个种子文件提供给用户电脑使用下载.许可证管理模块主要负责用户电脑下载完成后,要播放视频文件是要求链接到教务数据库验证是否为电大校内学员,如果是则发放播放许可证,用户正常播放视频文件.
4 具体实现
为了更好地和电大教务系统对接,服务器采用Windows server 2003系统,数据库存储采用SQL Server2005.网页和网站管理使用ASP.NET来实现,ASP.NET是Microsoft.NET的一部分,提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务,是一种建立在通用语言基础上的程序构架.而程序开发语言采用C#语言实现,C#是微软公司在C++和Java两种语言的基础上特别针对.NET框架开发的一种新语言.它结合了VB语言的简单高效和C++语言的强大,是微软公司为了基于互联网的.NET平台特意打造的一种主流语言,也是微软公司主推的一种高级编程语言,也是最受程序开发人员青睐的语言之一.下面详细讨论一下每个阶段涉及到的相关技术及具体实现.
4.1 格式转换
使用之前,必须在确保系统中已经安装Windows Media Encoder SDK,并在项目中引用它.首先创建一个WMEncoder对象;其次创建一个WMEncoder对象的属性对象多媒体流的源组SourceGroupCollection来设置需要转换的源视频文件;再次使用源组对象的SetInput("用户上传文件地址","","")方法从用户上传的文件中捕获要转换的多媒体流.然后设置WMEncoder对象的属性对象File的LocalFile-Name属性设置转换后视频文件的存放地址;最后通过PrepareToEncode方法告知WMEncoder对象已经准备好,使用Start方法直接启动格式转换过程.
4.2 文件打包加密
同样道理,使用之前必须先确保已经安装Windows Media DRM SDK,并在项目中引用它.第一步要使用WMRKeys对象生成密钥.使用GenerateSigningKeys方法创建一对密钥,其中私钥用来对文件头进行签名,公钥用于许可证服务器将来对该签名进行验证.使用GenterateKeyID函数生成全局密钥唯一的标识符设置WMRKeys对象的KeyID属性,使用GenerateSeed函数生成随机密钥种子来设置WMRKeys对象的Seed属性,两者设置好后可以使用WMRKeys对象的GenerateKey方法产生用于加密文件的密钥,而KeyID将被包含在文件头中.第二步要创建WMRMHeader对象生成文件头,并根据相关信息和密钥来签署视频课件的头部.这时要产生一个内容号来唯一标识这个视频课件,该标识存放在数据库中用来确定文件相应的权限、作者、对应课程等相关信息,把该标识赋值到WMRMHeader对象的ContentID属性.把用于验证和许可证分发服务器地址置入,即设置WMRMHeader对象的LicenseAcqURL属性,然后使用Sign方法对整个文件头进行签名.最后一步要使用WMRMProtect对象将头部信息和视频课件打包成新的加密的视频课件.这里需要设置inpputFile属性设置输入文件的地址,把第二步的WMRMHeader对象赋值给WMRMProtect的Header属性对象,最后设置ProtectFile属性来设置加密后输出文件的存放地址.
4.3 生成种子文件
种子文件是一种文本文件,可以使用File对象的CreateText方法来创建,再把内容使用Write方法写入即可.而种子文件内容是使用B编码组织和存储信息.B编码有4种存储类型,分别为字符串、数值、列表和字典,其中列表和字典可以嵌套使用.在生成种子文件时,要生成的信息包括announce字段中的Tracker地址,还有info字段中文件的信息,如name(被下载文件的文件名)、length(被下载文件的长度)、piece length(被下载文件每一个分块的长度)等.
4.5 学员验证
接收到播放器的请求后转至验证页面,验证数据直接使用教务系统中的数据库中的数据来验证,比如:学员的个人信息存放在xsjbqkb、xsb两个表中,要验证的是xsb中的xh(学号)、xm(姓名)两个字段,还有xsjbqkb表中的sfzh(身份证号码)字段.如果这三项值都能填对的话,则通过验证,否则视为非电大系统学员.当然也可以加入其它验证信息,如手机号码(存放在xsjbqkb表中的brlxdh字段等).
4.6 许可证发放
如果通过验证,第一步必须创建WMRMChallenge对象,使用该对象接收播放器播放文件的文件头信息.第二步创建WMRMRights对象来设置权限,设置Playcount属性来设置允许播放次数.设置AllowPlayOnPC属性来设置可以在电脑上播放.设置BeginDate属性来设置许可证的起始有效时间,设置ExpirationDate属性来设置许可证到期时间.第三步生成WMRMLicGen对象,设置KeyID、Key、Rights等属性,使用GetLicenseToDeliver方法得到相关的许可证字符串;第四步生成WMRMResponse对象,使用AddLicense方法加入许可证字符串,通过GetLicenseResponse方法可以得到相应的字符串并把它发给播放器即可.
5 结论
随着高清视频课件的越来越多出现在学员的教学中,国内网络的宽带的发展速度没有办法满足在线实时传输中的要求,下载下来慢慢看是看这些高清视频课件的一种常态.而P2P下载是现在最常用、最快的一种下载方式.于是在P2P下载模式下如何保护这些高清视频课件的版权不可避免成为要解决的问题.这里结合电大系统的实际情况,充分利用电大教务管理平台提出一个简单的解决方案,即能保证电大系统内学员能方便得使用这些系统内的高清视频课件,又能简单保护这些高清视频课件版权.
参考文献:
〔1〕Microsoft.Creating Packaged WindowsMedia Files [OL].2014-12.https://msdn.microsoft.com/zh-cn/library/ ms986561.aspx.
〔2〕Microsoft.Generating and Issuing Licenses [OL].2014-12.https://msdn.microsoft.com/zh -cn/library/ms986526.aspx.
中图分类号:TP399
文献标识码:A
文章编号:1673-260X(2016)05-0022-02
收稿日期:2016-03-29