一種快速播放網(wǎng)絡(luò)視頻的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻播放技術(shù)領(lǐng)域,尤其涉及一種快速播放網(wǎng)絡(luò)視頻的方法及系統(tǒng)。
【背景技術(shù)】
[0002] 目前互聯(lián)網(wǎng)上有大量的電視電影,用戶可以通過各種渠道瀏覽到網(wǎng)絡(luò)上的視頻, 但用戶對(duì)不同視頻的需求并不相同,比如其中一些重要或感興趣的視頻需要仔細(xì)觀看,但 是有一些不太感興趣的影視作品,用戶只是想瀏覽,知道其中的大概情節(jié)。
[0003]目前的快速瀏覽視頻的方法有:先在服務(wù)器端建立關(guān)鍵情節(jié)索引,當(dāng)用戶觀看時(shí), 根據(jù)分段提示,手動(dòng)跳轉(zhuǎn)。這種方法首先需要專人去分析,建立索引;而且比較粗糙,容易遺 漏情節(jié),不連貫;另外在線觀看時(shí),用戶頻繁手動(dòng)跳轉(zhuǎn),很容易卡頓,不流暢。
[0004] 另外一種方法是分析圖像內(nèi)容、鏡頭切換和場(chǎng)景切換等來建立索引,這種方法需 要解碼后再進(jìn)行分析,運(yùn)算量大,而且沒有考慮網(wǎng)絡(luò)因素,用戶體驗(yàn)也不好。
[0005] 因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
【發(fā)明內(nèi)容】
[0006]鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種快速播放網(wǎng)絡(luò)視頻的方法 及系統(tǒng),旨在解決現(xiàn)有的視頻快速瀏覽方法運(yùn)算量大、操作不方便、不流暢、不連貫的問題。
[0007] 本發(fā)明的技術(shù)方案如下: 一種快速瀏覽網(wǎng)絡(luò)視頻的方法,其中,包括步驟: A、 服務(wù)器根據(jù)視頻各幀的信息量大小,將視頻分割出若干個(gè)播放片段;對(duì)播放片段之 間的剩余數(shù)據(jù)進(jìn)行處理,抽出其中的關(guān)鍵幀進(jìn)行保存,并作為快播片段; B、 客戶端在播放視頻中的播放片段時(shí),向服務(wù)器申請(qǐng)播放片段的數(shù)據(jù)并進(jìn)行播放;在 播放視頻中的快播片段時(shí),獲取快播片段中的關(guān)鍵幀,并按照預(yù)設(shè)的幀率進(jìn)行播放。
[0008] 所述的快速瀏覽網(wǎng)絡(luò)視頻的方法,其中,所述步驟A具體包括: A1、獲取視頻的平均碼率值以及幀率,根據(jù)該平均碼率值以及幀率計(jì)算出視頻的平均 幀大小; A2、篩選出視頻中大于平均幀大小的視頻幀; A3、設(shè)置播放片段的幀閥值; A4、從視頻幀中篩選出幀大小大于幀閥值并且持續(xù)時(shí)間超過時(shí)間閥值的片段,將篩選 出的片段作為播放片段; A5、在相鄰播放片段的快播片段中,保留關(guān)鍵幀,并預(yù)設(shè)快播片段播放的幀率。
[0009]所述的快速瀏覽網(wǎng)絡(luò)視頻的方法,其中,所述時(shí)間閥值為視頻幀中所有幀大小大 于幀閥值構(gòu)成的片段的持續(xù)時(shí)間的平均值。
[0010] 所述的快速瀏覽網(wǎng)絡(luò)視頻的方法,其中,所述步驟A4中,若篩選出的片段中具有 持續(xù)時(shí)間小于一預(yù)設(shè)的定值的片段,則從該片段的峰值處向兩邊延伸,直至該片段持續(xù)時(shí) 間超過預(yù)設(shè)的定值。 toon] 所述的快速瀏覽網(wǎng)絡(luò)視頻的方法,其中,當(dāng)一片段延伸后與相鄰片段具有交叉的 位置偏移,則將二者合并為一個(gè)片段。
[0012] 所述的快速瀏覽網(wǎng)絡(luò)視頻的方法,其中,所述步驟A中,在服務(wù)器中保存有各播放 片段的編號(hào)、起始位置偏移、結(jié)束位置偏移以及持續(xù)時(shí)間,同時(shí)保存有各快播片段的編號(hào)、 起始位置偏移、結(jié)束位置偏移以及時(shí)間戳。
[0013] 所述的快速瀏覽網(wǎng)絡(luò)視頻的方法,其中,所述步驟B中,在播放播放片段時(shí),根據(jù) 起始位置偏移向服務(wù)器申請(qǐng)數(shù)據(jù),并將數(shù)據(jù)送入到解碼器中進(jìn)行播放,直到取到結(jié)束位置 偏移。
[0014] 所述的快速瀏覽網(wǎng)絡(luò)視頻的方法,其中,所述步驟B中,在播放快播片段時(shí),按照 預(yù)設(shè)的幀率進(jìn)行播放,并且可不播放音頻。
[0015] 所述的快速瀏覽網(wǎng)絡(luò)視頻的方法,其中,所述步驟A之后、B之前還包括步驟: A0、分別為播放片段以及快播片段建立標(biāo)志位。
[0016] -種快速瀏覽網(wǎng)絡(luò)視頻的系統(tǒng),其中,包括: 分割模塊,用于根據(jù)視頻各幀的信息量大小,將視頻分割出若干個(gè)播放片段;對(duì)播放片 段之間的剩余數(shù)據(jù)進(jìn)行處理,抽出其中的關(guān)鍵幀進(jìn)行保存,并作為快播片段; 播放模塊,用于在播放視頻中的播放片段時(shí),向服務(wù)器申請(qǐng)播放片段的數(shù)據(jù)并進(jìn)行播 放;在播放視頻中的快播片段時(shí),獲取快播片段中的關(guān)鍵幀,并按照預(yù)設(shè)的幀率進(jìn)行播放。
[0017] 有益效果:本發(fā)明在保留視頻有效信息和情節(jié)連貫的情況下,可大幅減少觀看視 頻的時(shí)間,又能保證用戶流暢觀看;同時(shí)由于只需向服務(wù)器申請(qǐng)信息量大的數(shù)據(jù),而非全部 數(shù)據(jù),所以可減少數(shù)據(jù)流量,節(jié)省帶寬。
【附圖說明】
[0018] 圖1為本發(fā)明一種快速播放網(wǎng)絡(luò)視頻的方法較佳實(shí)施例的流程圖。
[0019] 圖2為圖1所示方法中步驟S101的具體流程圖。
[0020] 圖3為本發(fā)明實(shí)施例中視頻幀大小隨時(shí)間變化的分布圖。
[0021] 圖4為圖3中確定幀閥值時(shí)劃分等級(jí)時(shí)的時(shí)間軸曲線圖。
[0022] 圖5為圖3中篩選70%的數(shù)據(jù)時(shí)的時(shí)間軸曲線圖。
[0023] 圖6為將播放片段延伸前后的局部放大圖。
[0024] 圖7為本發(fā)明的方法較佳實(shí)施例中客戶端播放視頻時(shí)的流程圖。
[0025] 圖8為本發(fā)明一種快速播放網(wǎng)絡(luò)視頻的系統(tǒng)較佳實(shí)施例的結(jié)構(gòu)框圖。
[0026] 圖9為圖8所示系統(tǒng)中分割模塊的具體結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0027] 本發(fā)明提供一種快速播放網(wǎng)絡(luò)視頻的方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案 及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施 例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0028] 請(qǐng)參閱圖1,圖1為本發(fā)明一種快速播放網(wǎng)絡(luò)視頻的方法較佳實(shí)施例的流程圖,如 圖所示,其包括步驟: S101、服務(wù)器根據(jù)視頻各幀的信息量大小,將視頻出割為若干個(gè)播放片段;對(duì)播放片段 之間的剩余數(shù)據(jù)進(jìn)行處理,抽出其中的關(guān)鍵幀進(jìn)行保存,并作為快播片段; S102、客戶端在播放視頻中的播放片段時(shí),向服務(wù)器申請(qǐng)播放片段的數(shù)據(jù)并進(jìn)行播放; 在播放視頻中的快播片段時(shí),獲取快播片段中的關(guān)鍵幀,并按照預(yù)設(shè)的幀率進(jìn)行播放。
[0029] 在本實(shí)施例中,在服務(wù)器端,對(duì)視頻進(jìn)行分析,將視頻分割出若干信息量大的播放 片段,再對(duì)相鄰播放片段之間的剩余視頻部分進(jìn)行處理,從剩余數(shù)據(jù)中提取出關(guān)鍵幀作為 快播片段,即快播片段只保留其中的關(guān)鍵幀,沒有非關(guān)鍵幀,而且沒有音頻數(shù)據(jù),而每一段 播放片段都是正常的一段數(shù)據(jù),上述數(shù)據(jù)均存儲(chǔ)在服務(wù)器端,即服務(wù)器端在對(duì)分割出播放 片段以及快播片段之后,將這些數(shù)據(jù)存儲(chǔ)在服務(wù)器端,同時(shí)還可將相關(guān)的索引表(后文詳細(xì) 敘述)存儲(chǔ)在服務(wù)器端。這樣在客戶端進(jìn)行播放時(shí),只需向服務(wù)器申請(qǐng)播放片段的數(shù)據(jù)進(jìn) 行播放,而對(duì)于快播片段,則只需按照預(yù)設(shè)的幀率播放其中的關(guān)鍵幀即可。通過本發(fā)明實(shí)施 例,既能滿足觀看到視頻有效信息,同時(shí)又能大幅縮減觀看視頻的時(shí)間,且申請(qǐng)的數(shù)據(jù)量大 大減少,節(jié)省了帶寬。
[0030] 具體來說,如圖2所示,所述步驟S101具體包括: S201、首先獲取視頻的平均碼率值(bitrate,kb/s)和幀率(framerate),然后根據(jù)平 均碼率值和幀率計(jì)算出視頻的平均幀大?。╢ramesize): framesize= (bitrate/8*1000)/framerate〇
[0031]S202、從視頻中篩選出幀大小大于平均framesize的視頻幀,并且按照幀大小從 大到小的順序進(jìn)行記錄;記錄的數(shù)據(jù)包括:這些視頻幀的size(幀大小)、offset(位置偏 移)、timestamp(時(shí)間戳)存儲(chǔ)到Listl中,Listl的結(jié)構(gòu)如表一所示,存儲(chǔ)順序按照size 大小降序排列,當(dāng)然可以按照offset排序。
[0032]表一
進(jìn)一步可將這些數(shù)據(jù)進(jìn)行繪制成時(shí)間軸的曲線圖,如圖3所示。
[0033] 從圖3的曲線圖中可以看出視頻幀的分布情況,堅(jiān)軸的開始值為平均幀大小 (framesize)。后續(xù)的步驟就是將其中的大數(shù)據(jù)(幀大小比較大的視頻幀)過濾出來,再將這 些大數(shù)據(jù)密集片段分離出來組成播放片段。
[0034] S203、設(shè)置播放片段的幀閥值M,Μ值的設(shè)定可根據(jù)Listl中數(shù)據(jù)量來確定。舉例 來說,將Listl數(shù)據(jù)的篩選分為6個(gè)等級(jí),這6個(gè)等級(jí)分別是:80%、70%、60%、50%、40%、30%。 艮P,假設(shè)只需要Listl中60%的數(shù)據(jù),則,從大到小進(jìn)行篩選,從中篩選出60%的數(shù)據(jù),從而 確定Μ值,Μ值以上的保留,Μ值以下的則舍棄,最終得到Listl中60%的數(shù)據(jù)。按照不同等 級(jí)篩選時(shí)的時(shí)間軸曲線為如圖4所示,從圖4中可以看出,百分比越大,保留的數(shù)據(jù)越多,觀 看時(shí)間就越長,因而幀閥值Μ也越小。百分比越小,保留的數(shù)據(jù)就越少,觀看時(shí)間就越短,因 而幀閥值Μ也越大。
[0035] 根據(jù)這6個(gè)等級(jí),對(duì)應(yīng)建立6個(gè)列表,List_pl_List_p6,這些列表中內(nèi)容是從 Listl將符合要求的數(shù)據(jù)進(jìn)行提取出來,List_pl-List_p6列表中的變量與Listl相同,數(shù) 據(jù)序列可根據(jù)offset排序。
[0036]S204、從視頻幀中篩選出幀大小大于幀閥值并且持續(xù)時(shí)間超過時(shí)間閥值的片段, 將篩選出的片段作為播放片段; 如圖4所示,從圖中可以看出雖然很多視頻幀符合了Μ值的要求(即幀大小大于M),但 是其中部分幀的密度太低。表明該段時(shí)間內(nèi)畫面基本靜止或只有很少的變化,所以這些幀 需要過濾掉。過濾這些低密度幀,需要設(shè)置一時(shí)間閥值D。即大于Μ值的視頻幀的持續(xù)時(shí)間 (Duration)要大于D,才會(huì)加入到播放片段中。各播放片段的Duration的表示如圖5中的 厚線所示,至于時(shí)間閥值D的值,可以通過求取所有大于Μ值的視頻幀組成的片段的持續(xù)時(shí) 間(duration值)的平均值來確定,這樣就基本能確定播放片段(playlist_part)中幀的構(gòu) 成了。
[0037] 由于上述D值是通過求取所有大于Μ值的視頻幀組成的片段的持續(xù)時(shí)間的平均值 來確定,那么有存在D值比較小的可能,基于用戶體驗(yàn)角度考慮,播放片段的持續(xù)時(shí)間還不 能小于一個(gè)預(yù)定的定值,本發(fā)明實(shí)施例設(shè)置播放片段中持續(xù)時(shí)間不能小于5s(如果播放太 短,給用戶的感覺是還沒看畫面就播放完了,導(dǎo)致影響用戶體驗(yàn))。根據(jù)這個(gè)要求,需要將播 放片段的列表(playlist_part*)重新進(jìn)行整理。整理規(guī)則為:如果播放片段的持續(xù)時(shí)間 <5s,如圖6所示,則從該播放片段中的峰值處向兩邊延伸,直到該播放片段持續(xù)時(shí)間大于 5s。如果遇到某個(gè)播放片段延伸后其offset(位置偏移)與另一個(gè)播放片段有交叉,則將 二者合并為一個(gè)播放片段。
[0038] 在確定播放片段的組成后