一種分段網(wǎng)絡視頻無縫播放方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種分段網(wǎng)絡視頻無縫播放方法和裝置,方法包括步驟:A1、下載播放列表;A2、根據(jù)播放列表獲取每個播放分片的存儲地址;A3、設置第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū);A4、依據(jù)播放分片的次序將相鄰的播放分片的視頻數(shù)據(jù)分別下載緩沖到第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)并進行解碼播放。裝置包括控制模塊、緩沖模塊和解碼模塊,控制模塊、緩沖模塊和解碼模塊依次相連,控制模塊用于下載播放列表,計算跳播時間戳并進行視頻跳播處理,緩沖模塊用于設置第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)并對視頻數(shù)據(jù)進行緩沖,解碼模塊用于交替在第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)獲取視頻數(shù)據(jù)并進行解碼。
【專利說明】一種分段網(wǎng)絡視頻無縫播放方法和裝置
【技術領域】
[0001]本發(fā)明涉及視頻播放【技術領域】,具體涉及一種分段網(wǎng)絡視頻無縫播放方法和裝置。
【背景技術】
[0002]隨著網(wǎng)絡帶寬的增加以及智能播放盒子(OTT)、平板電腦的廣泛應用,網(wǎng)絡播放視頻的用戶體驗要求也隨之提高。流媒體技術的主要特點是以“流(streaming) ”的形式在基于IP協(xié)議的互聯(lián)網(wǎng)中進行多媒體數(shù)據(jù)的實時、連續(xù)傳播,客戶端在播放前并不需要下載整個媒體文件,而是在將緩存區(qū)中已經(jīng)收到的媒體數(shù)據(jù)進行播放的同時,媒體流的剩余部分仍持續(xù)不斷地從服務器遞送到客戶端,即所謂的“邊下載,邊播放”。現(xiàn)有網(wǎng)絡視頻集資源包括電視劇,電影,很多被切割成幾分鐘到十幾分鐘不等的分片形式存在,多媒體播放終端播放網(wǎng)絡視頻,經(jīng)常遇到播放兩個視頻分片切換之間畫面會出現(xiàn)緩沖等待情況,這是因為切換到下一個視頻分片時,該視頻分片的網(wǎng)絡數(shù)據(jù)不能及時下載,不能及時進行視頻解碼,因此造成視頻播放的停頓。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術問題在于,針對現(xiàn)有技術的不足,提供一種分段網(wǎng)絡視頻無縫播放方法和裝置,克服現(xiàn)有技術的網(wǎng)絡視頻播放由于下載數(shù)據(jù)不夠及時造成播放卡頓的缺陷。
[0004]本發(fā)明為解決上述技術問題所采用的技術方案為:
[0005]一種分段網(wǎng)絡視頻無縫播放方法,包括步驟:
[0006]Al、下載播放列表;
[0007]A2、根據(jù)所述播放列表獲取每個播放分片的存儲地址;
[0008]A3、設置第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū);
[0009]A4、依據(jù)所述播放分片的次序將相鄰的所述播放分片的視頻數(shù)據(jù)分別下載緩沖到第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)并進行解碼播放。
[0010]根據(jù)本發(fā)明的實施例,所述步驟A4還包括步驟:如果需要跳轉播放,以首個所述播放分片為時長起始點,根據(jù)偏移時間計算跳播時間戳所在的所述播放分片,并將該播放分片的視頻數(shù)據(jù)緩沖到第一視頻數(shù)據(jù)緩沖區(qū)。
[0011]根據(jù)本發(fā)明的實施例,如果所述跳播時間戳在兩個所述播放分片的播放間隙,則選擇前一個所述播放分片并將該播放分片的視頻數(shù)據(jù)緩沖到第一視頻數(shù)據(jù)緩沖區(qū)。
[0012]根據(jù)本發(fā)明的實施例,如果所述跳播時間戳超過所有所述播放分片總時長,則選取最后一個所述播放分片并將該播放分片的視頻數(shù)據(jù)緩沖到第一視頻數(shù)據(jù)緩沖區(qū)。
[0013]一種分段網(wǎng)絡視頻無縫播放裝置,包括控制模塊、緩沖模塊和解碼模塊,所述控制模塊、所述緩沖模塊和所述解碼模塊依次相連,所述控制模塊用于下載播放列表,計算跳播時間戳并進行視頻跳播處理,所述緩沖模塊用于設置第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)并對視頻數(shù)據(jù)進行緩沖,所述解碼模塊用于交替在第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)獲取視頻數(shù)據(jù)并進行解碼。
[0014]實施本發(fā)明的技術方案,具有以下有益效果:本發(fā)明針對網(wǎng)絡播放分片視頻,基于雙路緩沖,同步緩沖兩個播放分片,保證視頻加載快,切換快,實現(xiàn)了無縫切換播放,改善了用戶播放體驗。
【專利附圖】
【附圖說明】
[0015]下面通過參考附圖并結合實例具體地描述本發(fā)明,本發(fā)明的優(yōu)點和實現(xiàn)方式將會更加明顯,其中附圖所示內(nèi)容僅用于對本發(fā)明的解釋說明,而不構成對本發(fā)明的任何意義上的限制,在附圖中:
[0016]圖1為本發(fā)明實施例流程圖;
[0017]圖2為本發(fā)明跳播處理流程圖;
[0018]圖3為本發(fā)明播放列表片段示意圖;
[0019]圖4為本發(fā)明播放裝置示意圖。
【具體實施方式】
[0020]本發(fā)明分段網(wǎng)絡視頻無縫播放方法,包括步驟:
[0021]Al、下載播放列表;
[0022]A2、根據(jù)所述播放列表獲取每個播放分片的存儲地址;
[0023]A3、設置第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū);
[0024]A4、依據(jù)所述播放分片的次序將相鄰的所述播放分片的視頻數(shù)據(jù)分別下載緩沖到第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)并進行解碼播放。
[0025]本發(fā)明分段網(wǎng)絡視頻無縫播放裝置,包括控制模塊、緩沖模塊和解碼模塊,控制模塊、緩沖模塊和解碼模塊依次相連,控制模塊用于下載播放列表,計算跳播時間戳并進行視頻跳播處理,緩沖模塊用于設置第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)并對視頻數(shù)據(jù)進行緩沖,解碼模塊用于交替在第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)獲取視頻數(shù)據(jù)并進行解碼。
[0026]如圖1、圖2、圖3和圖4所示,本發(fā)明具體實施例如下:
[0027]1:控制模塊下載播放列表并存儲有效信息,播放列表包含無縫播放標志位(AWPLAY_SEAMLESS),用于區(qū)分響應無縫播放網(wǎng)絡還是普通網(wǎng)絡數(shù)據(jù)流,直播/點播標志位(AWPLAY_ENDLIST),分片文件時長(AWPLAY_STREAM),當前列表第一分片的序列(AWPLAY_SEQUENCE),用于區(qū)分是否更新本地列表標識,分片視頻名稱(1.MP4,…,2.MP4)。如圖3所示是播放列表結構圖。
[0028]2:響應播放操作,根據(jù)播放時間戳加載第i分片作為首播放分片,啟動緩沖模塊,緩沖模塊設置第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū),此時加載網(wǎng)絡第i分片數(shù)據(jù)到第一視頻數(shù)據(jù)緩沖區(qū),與此同時加載網(wǎng)絡第i+Ι分片數(shù)據(jù)到第二視頻數(shù)據(jù)緩沖區(qū),并保存作為預備數(shù)據(jù)。播放完畢第i分片時,將數(shù)據(jù)區(qū)域來源切換至第二視頻數(shù)據(jù)緩沖區(qū),與此同時,刪除第一視頻數(shù)據(jù)緩沖區(qū)原有的視頻數(shù)據(jù),并開始加載緩沖第i+2分片的視頻數(shù)據(jù),重復以上流程。上述步驟的i = l,2,…N,N+1為媒體流分片數(shù)。特別地,第一視頻數(shù)據(jù)緩沖區(qū)I加載緩沖i+2n分片,第二視頻數(shù)據(jù)緩沖區(qū)加載緩沖i+2n+l分片,其中i = 1,2,…J,J+1。緩沖模塊雙線程下載數(shù)據(jù),充分利用網(wǎng)絡帶寬。假設網(wǎng)絡狀態(tài)不理想,此時播放暫停,停留緩沖狀態(tài),第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)繼續(xù)緩沖。緩沖區(qū)遵循以下原則:默認最大閥值為24兆字節(jié),目前此閥值會大于每一分片的視頻數(shù)據(jù),保證數(shù)據(jù)不會溢出,每次讀取網(wǎng)絡數(shù)據(jù)為32768字節(jié)。
[0029]3:響應跳播操作,應用終端發(fā)送跳播指令時間戳到控制模塊,控制模塊根據(jù)時間戳尋找關鍵分片。跳播流程如圖2所示。
[0030]4:以首分片為時長起點,根據(jù)偏移時間點計算跳播時間戳具體在第i分片,若跳播時間剛還在第i分片中,選取第i分片作為跳播后首分片進行加載,緩沖第i分片數(shù)據(jù),重復步驟2。
[0031]5:根據(jù)偏移時間點計算跳播時間戳具體在第i分片和第i+Ι分片之間,假設跳播時間為tl,第i分片播放時間點為t2,第i+Ι分片播放時間點為t3,跳播時間與第i分片播放時間差值為t4,跳播時間與第i+Ι分片播放時間差值為t5,若t4〈 = t5,優(yōu)選第i分片加載播放,反之若t4>t5,優(yōu)選第i+Ι分片加載播放。此規(guī)則避免因兩個分片引起邏輯混亂,緩沖優(yōu)選分片數(shù)據(jù)到緩沖區(qū)1,重復步驟2。
[0032]6:若跳播時間戳超過所有分片總時長,控制模塊默認選取最后分片作為跳播后首分片地址進行加載,避免超出時長而直接退出播放,影響用戶體驗。
[0033]本領域技術人員不脫離本發(fā)明的實質和精神,可以有多種變形方案實現(xiàn)本發(fā)明,以上所述僅為本發(fā)明較佳可行的實施例而已,并非因此局限本發(fā)明的權利范圍,凡運用本發(fā)明說明書及附圖內(nèi)容所作的等效結構變化,均包含于本發(fā)明的權利范圍之內(nèi)。
【權利要求】
1.一種分段網(wǎng)絡視頻無縫播放方法,其特征在于,包括步驟: Al、下載播放列表; A2、根據(jù)所述播放列表獲取每個播放分片的存儲地址; A3、設置第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū); A4、依據(jù)所述播放分片的次序將相鄰的所述播放分片的視頻數(shù)據(jù)分別下載緩沖到第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)并進行解碼播放。
2.根據(jù)權利要求1所述的分段網(wǎng)絡視頻無縫播放方法,其特征在于,所述步驟A4還包括步驟:如果需要跳轉播放,以首個所述播放分片為時長起始點,根據(jù)偏移時間計算跳播時間戳所在的所述播放分片,并將該播放分片的視頻數(shù)據(jù)緩沖到第一視頻數(shù)據(jù)緩沖區(qū)。
3.根據(jù)權利要求2所述的分段網(wǎng)絡視頻無縫播放方法,其特征在于:如果所述跳播時間戳在兩個所述播放分片的播放間隙,則選擇前一個所述播放分片并將該播放分片的視頻數(shù)據(jù)緩沖到第一視頻數(shù)據(jù)緩沖區(qū)。
4.根據(jù)權利要求3所述的分段網(wǎng)絡視頻無縫播放方法,其特征在于:如果所述跳播時間戳超過所有所述播放分片總時長,則選取最后一個所述播放分片并將該播放分片的視頻數(shù)據(jù)緩沖到第一視頻數(shù)據(jù)緩沖區(qū)。
5.一種分段網(wǎng)絡視頻無縫播放裝置,其特征在于:包括控制模塊、緩沖模塊和解碼模塊,所述控制模塊、所述緩沖模塊和所述解碼模塊依次相連,所述控制模塊用于下載播放列表,計算跳播時間戳并進行視頻跳播處理,所述緩沖模塊用于設置第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)并對視頻數(shù)據(jù)進行緩沖,所述解碼模塊用于交替在第一視頻數(shù)據(jù)緩沖區(qū)和第二視頻數(shù)據(jù)緩沖區(qū)獲取視頻數(shù)據(jù)并進行解碼。
【文檔編號】H04N21/845GK104202684SQ201410429285
【公開日】2014年12月10日 申請日期:2014年8月27日 優(yōu)先權日:2014年8月27日
【發(fā)明者】林文炬, 魏宏強 申請人:珠海全志科技股份有限公司