本發(fā)明涉及流媒體技術(shù)領(lǐng)域,更具體地,涉及一種網(wǎng)絡(luò)視頻首播方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,觀看網(wǎng)絡(luò)視頻已成為人們休閑娛樂的主要方式之一。與此同時,人們對網(wǎng)絡(luò)視頻清晰度和流暢度的要求也越來越高。當(dāng)前的網(wǎng)絡(luò)視頻主要采用P2P、流媒體和緩沖等技術(shù)來提高視頻的清晰度和流暢度,但由于受到網(wǎng)絡(luò)帶寬的限制和網(wǎng)絡(luò)延遲的影響,用戶體驗仍然難以與有線電視相媲美。
目前,很多電視劇或電影通過網(wǎng)絡(luò)和有線電視進行同步首播,出于商業(yè)因素的考慮,網(wǎng)絡(luò)用戶在首播點之前不能下載或觀看電視劇或電影;在首播點后,網(wǎng)絡(luò)用戶才可以觀看電視劇或電影。由于高清電視劇或電影的數(shù)據(jù)速率超過普通家庭的網(wǎng)絡(luò)帶寬,因此在首播點后,網(wǎng)絡(luò)用戶觀看的視頻會出現(xiàn)清晰度和流暢度的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的問題是:提出一種網(wǎng)絡(luò)視頻首播方法,該方法在首播時間點前發(fā)布數(shù)據(jù)量大的密文信息流,然后在首播時間點后發(fā)布數(shù)據(jù)量小的密鑰信息流;用戶終端在首播時間點前充分利用閑時網(wǎng)絡(luò)帶寬預(yù)先下載好數(shù)據(jù)量大的密文信息流,然后在首播時間點后再實時下載數(shù)據(jù)量小的密鑰信息流對密文信息流進行解密,從而充分利用網(wǎng)絡(luò)帶寬資源,避開網(wǎng)絡(luò)帶寬的限制,使得用戶可以觀看高清晰度、高流暢度的首播視頻,獲得更好的使用體驗,并確保在首播時間點前,原視頻不會在網(wǎng)絡(luò)上流傳。
本發(fā)明為實現(xiàn)上述目的所提出的技術(shù)方案如下:
一種網(wǎng)絡(luò)視頻首播方法,首播時間點前,將視頻文件按照前后順序分為n個視頻分片;對每個視頻分片分別選擇隨機獨立的密鑰進行加密,經(jīng)過加密的n個視頻分片按照前后順序形成密文信息流,而n個密鑰按照前后順序形成密鑰信息流;將密文信息流、密鑰信息流上傳到發(fā)布服務(wù)器;發(fā)布服務(wù)器發(fā)布密文信息流,供用戶終端下載到本地;首播時間點后,發(fā)布服務(wù)器按照前后順序每次發(fā)布1個密鑰,供用戶終端下載到本地;用戶終端利用密鑰對已下載的密文信息流中相應(yīng)的經(jīng)過加密的視頻分片進行解密,得到加密前的視頻分片;用戶終端緩沖得到前w個視頻分片后,開始整合視頻分片進行播放。
上述方案中,本發(fā)明提供的方法通過在首播時間點前發(fā)布數(shù)據(jù)量大的密文信息流,然后在首播時間點后發(fā)布數(shù)據(jù)量小的密鑰信息流;用戶終端在首播時間點前充分利用閑時網(wǎng)絡(luò)帶寬預(yù)先下載好數(shù)據(jù)量大的密文信息流,然后在首播時間點后再實時下載數(shù)據(jù)量小的密鑰信息流對密文信息流進行解密,從而充分利用網(wǎng)絡(luò)帶寬資源,避開網(wǎng)絡(luò)帶寬的限制,使得用戶可以觀看高清晰度、高流暢度的首播視頻,獲得更好的使用體驗。再者,用戶終端在首播點前下載的密文信息流是經(jīng)過加密的,因此可以確保在首播點前,原視頻不會在網(wǎng)絡(luò)上流傳。
優(yōu)選地,所述發(fā)布服務(wù)器發(fā)布密鑰信息流的進度與網(wǎng)絡(luò)視頻在其他視頻媒體的播放進度保持同步。密鑰的發(fā)布進度和其它視頻媒體的播放進度同步,確保了網(wǎng)絡(luò)視頻首播和其它視頻媒體首播的同步性。
優(yōu)選地,將時間長度為t的視頻文件按時間間隔Δt劃分為個視頻分片m1,m2,...,mn。
優(yōu)選地,利用Enc加密算法對每個視頻分片進行加密:
其中ci表示加密后的視頻分片,ki表示密鑰。
優(yōu)選地,所述利用Dec解密算法對對密文信息流中經(jīng)過加密的視頻分片進行解密:
同時,本發(fā)明還提供了一種應(yīng)用以上方法的系統(tǒng),其具體的方案如下:
包括分片模塊、加密模塊、發(fā)布服務(wù)器和用戶終端;
其中分片模塊用于將視頻文件按照前后順序分為n個視頻分片;加密模塊用于對每個視頻分片分別選擇隨機獨立的密鑰進行加密,然后將密文信息流、密鑰信息流上傳到發(fā)布服務(wù)器;
發(fā)布服務(wù)器用于在首播點前發(fā)布密文信息流,以及在首播點后按照前后順序每次發(fā)布1個密鑰;
用戶終端用于對密文信息流、密鑰進行下載,然后利用密鑰對密文信息流中經(jīng)過加密的視頻分片進行解密,得到加密前的視頻分片,當(dāng)緩沖得到前w個視頻分片后,開始整合視頻分片進行播放。
優(yōu)選地,所述用戶終端內(nèi)設(shè)置有解密模塊和播放模塊,其中解密模塊用于對下載的經(jīng)過加密的視頻分片進行解密,得到加密前的視頻分片;所述播放模塊用于在緩沖得到前w個視頻分片后,整合視頻分片進行播放。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明提供的方法通過在首播時間點前發(fā)布數(shù)據(jù)量大的密文信息流,然后在首播時間點后發(fā)布數(shù)據(jù)量小的密鑰信息流;用戶終端在首播時間點前充分利用閑時網(wǎng)絡(luò)帶寬預(yù)先下載好數(shù)據(jù)量大的密文信息流,然后在首播時間點后再實時下載數(shù)據(jù)量小的密鑰信息流對密文信息流進行解密,從而充分利用網(wǎng)絡(luò)帶寬資源,避開網(wǎng)絡(luò)帶寬的限制,使得用戶可以觀看高清晰度、高流暢度的首播視頻,獲得更好的使用體驗。再者,用戶終端在首播點前下載的密文信息流是經(jīng)過加密的,因此可以確保在首播點前,原視頻不會在網(wǎng)絡(luò)上流傳。最后,密鑰的發(fā)布進度和其它視頻媒體的播放進度同步,確保了網(wǎng)絡(luò)視頻首播和其它視頻媒體的同步性。
附圖說明
圖1為本發(fā)明提供的網(wǎng)絡(luò)視頻首播方法在首播時間點前的具體步驟流程圖。
圖2為本發(fā)明提供的網(wǎng)絡(luò)視頻首播方法在首播時間點后的具體步驟流程圖。
圖3為本發(fā)明提供的系統(tǒng)在首播時間點前的實施方式示意圖。
圖4為本發(fā)明提供的系統(tǒng)在首播時間點后的實施方式示意圖。
具體實施方式
下面對本發(fā)明的具體實施方式進行描述:
本發(fā)明提供的方法在視頻首播開始時間點前,對視頻進行相應(yīng)處理,如圖1所示,首播點前,將視頻文件按照前后順序分為n個視頻分片;對每個視頻分片分別選擇隨機獨立的密鑰進行加密,經(jīng)過加密的n個視頻分片按照前后順序形成密文信息流,而n個密鑰按照前后順序形成密鑰信息流;將密文信息流、密鑰信息流上傳到發(fā)布服務(wù)器;發(fā)布服務(wù)器發(fā)布密文信息流,供用戶終端下載到本地。
在視頻首播開始時間點后,對視頻進行相應(yīng)處理,如圖2所示,首播點后,發(fā)布服務(wù)器按照前后順序每次發(fā)布1個密鑰,供用戶終端下載到本地;用戶終端利用密鑰對已下載的密文信息流中相應(yīng)的經(jīng)過加密的視頻分片進行解密,得到加密前的視頻分片;用戶終端緩沖得到前w個視頻分片后,開始整合視頻分片進行播放。其中,所述發(fā)布服務(wù)器在發(fā)布密鑰時,發(fā)布的密鑰信息流的進度與網(wǎng)絡(luò)視頻在其他視頻媒體的播放進度保持同步。
通過在首播時間點前發(fā)布數(shù)據(jù)量大的密文信息流,然后在首播時間點后發(fā)布數(shù)據(jù)量小的密鑰信息流;用戶終端在首播時間點前充分利用閑時網(wǎng)絡(luò)帶寬預(yù)先下載好數(shù)據(jù)量大的密文信息流,然后在首播時間點后再實時下載數(shù)據(jù)量小的密鑰信息流對密文信息流進行解密,從而充分利用網(wǎng)絡(luò)帶寬資源,避開網(wǎng)絡(luò)帶寬的限制,使得用戶可以觀看高清晰度、高流暢度的首播視頻,獲得更好的使用體驗。再者,用戶終端在首播點前下載的密文信息流是經(jīng)過加密的,因此可以確保在首播點前,原視頻不會在網(wǎng)絡(luò)上流傳。密鑰的發(fā)布進度和其它視頻媒體的播放進度同步,確保了網(wǎng)絡(luò)視頻首播和其它視頻媒體首播的同步性。
同時,本發(fā)明提供了一種應(yīng)用以上方法的系統(tǒng),其具體實施方案如下:
包括分片模塊、加密模塊、發(fā)布服務(wù)器、設(shè)置在用戶終端內(nèi)的播放模塊和解密模塊;
其中首播時間點前,如圖3所示,分片模塊將視頻文件m按照前后順序分為n個視頻分片m1,m2,...,mn,對每個視頻分片分別選擇隨機獨立的密鑰進行加密;加密模塊采用基于AES-256和CTR加密操作模式的Enc加密算法:
其中mi表示加密前的視頻分片,ci表示加密后的視頻分片,ki表示密鑰;加密后的n個視頻分片按照前后順序形成密文信息流c1,c2,...,cn,而n個密鑰按照前后順序形成密鑰信息流k1,k2,...,kn;然后將密文信息流、密鑰信息流上傳到發(fā)布服務(wù)器;在首播點前,發(fā)布服務(wù)器發(fā)布密文信息流,供用戶終端下載。
其中,在首播時間點后,如圖4所示,在首播點后,發(fā)布服務(wù)器按照前后順序每次發(fā)布1個相應(yīng)的密鑰ki;用戶終端中的解密模塊利用密鑰ki對密文信息流中的視頻分片ci進行解密,在進行解密的時候,解密模塊采用Dec解密算法:
當(dāng)解密并緩沖得到加密前的w個視頻分片mi后,用戶終端利用播放模塊整合視頻分片并開始進行播放。
顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護范圍之內(nèi)。