吳澤勛(福建廣播電視大學(xué)龍巖分校,福建 龍巖 364000)
?
淺析P2P下載模式下高清視頻課件的版權(quán)保護(hù)
吳澤勛
(福建廣播電視大學(xué)龍巖分校,福建 龍巖 364000)
摘 要:隨著網(wǎng)絡(luò)視頻高清化,網(wǎng)絡(luò)視頻課件也在越來越多在教學(xué)中使用,對版權(quán)的控制也要求更高.在分析了P2P下載特點(diǎn)的基礎(chǔ)下,提出對高清視頻進(jìn)行版權(quán)控制的相關(guān)模型,并討論使用ASP.NET等相關(guān)技術(shù)具體來實(shí)現(xiàn)電大系統(tǒng)內(nèi)控制高清視頻版權(quán),包括高清視頻的轉(zhuǎn)碼、加密、分發(fā)、許可證管理等.
關(guān)鍵詞:高清視頻;P2P;版權(quán)保護(hù)
隨著開放教育的深入開展,電大系統(tǒng)的網(wǎng)絡(luò)視頻課件大量在教學(xué)中使用.而隨著數(shù)字高清視頻的快速發(fā)展和日益普及,越來越多教師課件視頻采用高清的模式編碼.高清課件視頻真實(shí)感強(qiáng),畫面層次感強(qiáng),對學(xué)員的吸引力也大.當(dāng)然相對制作成本也在相應(yīng)增加,大家對版權(quán)保護(hù)的要求也就相對較高.現(xiàn)在基本采用Flash制作在線播放器,隱藏視頻的原始地址,來達(dá)到控制版權(quán)的作用,比如福建省電大終身教育在線就是采用該技術(shù)來控制版權(quán)的.但是這樣會因?yàn)槭苤朴诰W(wǎng)絡(luò)帶寬,高清課件因容量較大而導(dǎo)致緩沖時間很長,畫面常停滯等諸多問題.本文提出的方案就是提供內(nèi)容經(jīng)過封裝、打包、加密的超清視頻課件下載,并提供相應(yīng)的種子文件以方便使用P2P模式來下載.當(dāng)學(xué)員播放的時候登錄到認(rèn)證中心服務(wù)器根據(jù)原來注冊的信息認(rèn)證活動播放的權(quán)限.
P2P也稱為點(diǎn)對點(diǎn),是一種對等互聯(lián)的通信模式,在該模式下每個參與者具有同等的地位和能力,可以主動發(fā)起通信會話,是一種不通過中央服務(wù)器而將一些獨(dú)立的計(jì)算機(jī)資源組織起來,通過Internet運(yùn)行于個人計(jì)算機(jī)上,實(shí)現(xiàn)彼此之間可以相互訪問、共享計(jì)算機(jī)資源的網(wǎng)絡(luò).而P2P下載是應(yīng)用P2P技術(shù)進(jìn)行文件傳輸?shù)囊环N方式,該方式下把下載文件虛擬分塊,每個下載者可以下載不同的塊,每塊完成的下載者可以提供相應(yīng)的源提供給別的未下載該塊的下載者下載,這樣下載的人越多,提供的下載源也就越多,下載速度就越快.通過這種方式,分散了單條線路上的數(shù)據(jù)流量,也減輕了服務(wù)器負(fù)擔(dān),可以最大限度地利用網(wǎng)絡(luò)資源和帶寬,也最大限度加快下載的速度.
由于數(shù)字視頻課件易于傳播和復(fù)制的特點(diǎn)決定了必須有另一種獨(dú)特的技術(shù)來加強(qiáng)保護(hù)視頻內(nèi)容免受未經(jīng)授權(quán)的播放和復(fù)制,該技術(shù)就是數(shù)字版權(quán)管理-DRM.該技術(shù)通過對數(shù)字內(nèi)容進(jìn)行加密和附加使用規(guī)則,從而用來控制被保護(hù)對象的使用權(quán)的一些技術(shù),這些技術(shù)保護(hù)的有數(shù)字化內(nèi)容以及硬件,處理數(shù)字化產(chǎn)品的某個實(shí)例的使用限制,而其中使用規(guī)則可以用來判斷用戶是否符合播放數(shù)字內(nèi)容的條件,具體可以防止內(nèi)容被復(fù)制或者限制內(nèi)容的播放次數(shù),而操作系統(tǒng)和多媒體中間件負(fù)責(zé)強(qiáng)制執(zhí)行這些規(guī)則.版權(quán)保護(hù)指的應(yīng)用在電子設(shè)備上的數(shù)字化媒體內(nèi)容上的技術(shù),DRM保護(hù)技術(shù)使用以后可以控制和限制這些數(shù)字化媒體內(nèi)容的使用權(quán).數(shù)字版權(quán)管理是隨著電子音頻視頻節(jié)目在互聯(lián)網(wǎng)上的廣泛傳播而發(fā)展起來的一種新技術(shù).其目的是保護(hù)數(shù)字媒體的版權(quán),從技術(shù)上防止數(shù)字媒體的非法復(fù)制,或者在一定程度上使復(fù)制很困難,最終用戶必須得到授權(quán)后才能使用數(shù)字媒體系統(tǒng)會將密鑰標(biāo)識和許可證頒發(fā)機(jī)構(gòu)地址寫入打包加密后的內(nèi)容的頭部,并且使用另一對密鑰.
本系統(tǒng)主要分成視頻課件存儲管理和許可證管理兩大模塊.視頻課件存儲管理模塊需要完成幾個功能:第一要對相關(guān)視頻課件在服務(wù)器轉(zhuǎn)碼為支持DRM的視頻格式,這里采用的為WMV格式.所以先判斷教師發(fā)布的視頻課件是否為WMV格式,如果不是則啟動轉(zhuǎn)換程序轉(zhuǎn)換成WMV格式.第二對生成的WMV視頻文件進(jìn)行加密打包.第三以加密后的視頻課件文件為源生成一個種子文件提供給用戶電腦使用下載.許可證管理模塊主要負(fù)責(zé)用戶電腦下載完成后,要播放視頻文件是要求鏈接到教務(wù)數(shù)據(jù)庫驗(yàn)證是否為電大校內(nèi)學(xué)員,如果是則發(fā)放播放許可證,用戶正常播放視頻文件.
為了更好地和電大教務(wù)系統(tǒng)對接,服務(wù)器采用Windows server 2003系統(tǒng),數(shù)據(jù)庫存儲采用SQL Server2005.網(wǎng)頁和網(wǎng)站管理使用ASP.NET來實(shí)現(xiàn),ASP.NET是Microsoft.NET的一部分,提供了一個統(tǒng)一的Web開發(fā)模型,其中包括開發(fā)人員生成企業(yè)級Web應(yīng)用程序所需的各種服務(wù),是一種建立在通用語言基礎(chǔ)上的程序構(gòu)架.而程序開發(fā)語言采用C#語言實(shí)現(xiàn),C#是微軟公司在C++和Java兩種語言的基礎(chǔ)上特別針對.NET框架開發(fā)的一種新語言.它結(jié)合了VB語言的簡單高效和C++語言的強(qiáng)大,是微軟公司為了基于互聯(lián)網(wǎng)的.NET平臺特意打造的一種主流語言,也是微軟公司主推的一種高級編程語言,也是最受程序開發(fā)人員青睞的語言之一.下面詳細(xì)討論一下每個階段涉及到的相關(guān)技術(shù)及具體實(shí)現(xiàn).
4.1 格式轉(zhuǎn)換
使用之前,必須在確保系統(tǒng)中已經(jīng)安裝Windows Media Encoder SDK,并在項(xiàng)目中引用它.首先創(chuàng)建一個WMEncoder對象;其次創(chuàng)建一個WMEncoder對象的屬性對象多媒體流的源組SourceGroupCollection來設(shè)置需要轉(zhuǎn)換的源視頻文件;再次使用源組對象的SetInput("用戶上傳文件地址","","")方法從用戶上傳的文件中捕獲要轉(zhuǎn)換的多媒體流.然后設(shè)置WMEncoder對象的屬性對象File的LocalFile-Name屬性設(shè)置轉(zhuǎn)換后視頻文件的存放地址;最后通過PrepareToEncode方法告知WMEncoder對象已經(jīng)準(zhǔn)備好,使用Start方法直接啟動格式轉(zhuǎn)換過程.
4.2 文件打包加密
同樣道理,使用之前必須先確保已經(jīng)安裝Windows Media DRM SDK,并在項(xiàng)目中引用它.第一步要使用WMRKeys對象生成密鑰.使用GenerateSigningKeys方法創(chuàng)建一對密鑰,其中私鑰用來對文件頭進(jìn)行簽名,公鑰用于許可證服務(wù)器將來對該簽名進(jìn)行驗(yàn)證.使用GenterateKeyID函數(shù)生成全局密鑰唯一的標(biāo)識符設(shè)置WMRKeys對象的KeyID屬性,使用GenerateSeed函數(shù)生成隨機(jī)密鑰種子來設(shè)置WMRKeys對象的Seed屬性,兩者設(shè)置好后可以使用WMRKeys對象的GenerateKey方法產(chǎn)生用于加密文件的密鑰,而KeyID將被包含在文件頭中.第二步要創(chuàng)建WMRMHeader對象生成文件頭,并根據(jù)相關(guān)信息和密鑰來簽署視頻課件的頭部.這時要產(chǎn)生一個內(nèi)容號來唯一標(biāo)識這個視頻課件,該標(biāo)識存放在數(shù)據(jù)庫中用來確定文件相應(yīng)的權(quán)限、作者、對應(yīng)課程等相關(guān)信息,把該標(biāo)識賦值到WMRMHeader對象的ContentID屬性.把用于驗(yàn)證和許可證分發(fā)服務(wù)器地址置入,即設(shè)置WMRMHeader對象的LicenseAcqURL屬性,然后使用Sign方法對整個文件頭進(jìn)行簽名.最后一步要使用WMRMProtect對象將頭部信息和視頻課件打包成新的加密的視頻課件.這里需要設(shè)置inpputFile屬性設(shè)置輸入文件的地址,把第二步的WMRMHeader對象賦值給WMRMProtect的Header屬性對象,最后設(shè)置ProtectFile屬性來設(shè)置加密后輸出文件的存放地址.
4.3 生成種子文件
種子文件是一種文本文件,可以使用File對象的CreateText方法來創(chuàng)建,再把內(nèi)容使用Write方法寫入即可.而種子文件內(nèi)容是使用B編碼組織和存儲信息.B編碼有4種存儲類型,分別為字符串、數(shù)值、列表和字典,其中列表和字典可以嵌套使用.在生成種子文件時,要生成的信息包括announce字段中的Tracker地址,還有info字段中文件的信息,如name(被下載文件的文件名)、length(被下載文件的長度)、piece length(被下載文件每一個分塊的長度)等.
4.5 學(xué)員驗(yàn)證
接收到播放器的請求后轉(zhuǎn)至驗(yàn)證頁面,驗(yàn)證數(shù)據(jù)直接使用教務(wù)系統(tǒng)中的數(shù)據(jù)庫中的數(shù)據(jù)來驗(yàn)證,比如:學(xué)員的個人信息存放在xsjbqkb、xsb兩個表中,要驗(yàn)證的是xsb中的xh(學(xué)號)、xm(姓名)兩個字段,還有xsjbqkb表中的sfzh(身份證號碼)字段.如果這三項(xiàng)值都能填對的話,則通過驗(yàn)證,否則視為非電大系統(tǒng)學(xué)員.當(dāng)然也可以加入其它驗(yàn)證信息,如手機(jī)號碼(存放在xsjbqkb表中的brlxdh字段等).
4.6 許可證發(fā)放
如果通過驗(yàn)證,第一步必須創(chuàng)建WMRMChallenge對象,使用該對象接收播放器播放文件的文件頭信息.第二步創(chuàng)建WMRMRights對象來設(shè)置權(quán)限,設(shè)置Playcount屬性來設(shè)置允許播放次數(shù).設(shè)置AllowPlayOnPC屬性來設(shè)置可以在電腦上播放.設(shè)置BeginDate屬性來設(shè)置許可證的起始有效時間,設(shè)置ExpirationDate屬性來設(shè)置許可證到期時間.第三步生成WMRMLicGen對象,設(shè)置KeyID、Key、Rights等屬性,使用GetLicenseToDeliver方法得到相關(guān)的許可證字符串;第四步生成WMRMResponse對象,使用AddLicense方法加入許可證字符串,通過GetLicenseResponse方法可以得到相應(yīng)的字符串并把它發(fā)給播放器即可.
隨著高清視頻課件的越來越多出現(xiàn)在學(xué)員的教學(xué)中,國內(nèi)網(wǎng)絡(luò)的寬帶的發(fā)展速度沒有辦法滿足在線實(shí)時傳輸中的要求,下載下來慢慢看是看這些高清視頻課件的一種常態(tài).而P2P下載是現(xiàn)在最常用、最快的一種下載方式.于是在P2P下載模式下如何保護(hù)這些高清視頻課件的版權(quán)不可避免成為要解決的問題.這里結(jié)合電大系統(tǒng)的實(shí)際情況,充分利用電大教務(wù)管理平臺提出一個簡單的解決方案,即能保證電大系統(tǒng)內(nèi)學(xué)員能方便得使用這些系統(tǒng)內(nèi)的高清視頻課件,又能簡單保護(hù)這些高清視頻課件版權(quán).
參考文獻(xiàn):
〔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
文獻(xiàn)標(biāo)識碼:A
文章編號:1673-260X(2016)05-0022-02
收稿日期:2016-03-29
赤峰學(xué)院學(xué)報(bào)·自然科學(xué)版2016年9期