欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種播放網(wǎng)絡(luò)視頻的方法和終端設(shè)備與流程

文檔序號:11845117閱讀:250來源:國知局
一種播放網(wǎng)絡(luò)視頻的方法和終端設(shè)備與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種播放網(wǎng)絡(luò)視頻的方法和終端設(shè)備。



背景技術(shù):

隨著網(wǎng)絡(luò)技術(shù)和智能設(shè)備的普及,視頻播放器成了智能電視和智能手機(jī)中必不可少的功能,用戶可以通過視頻播放器從網(wǎng)絡(luò)服務(wù)器上獲取視頻、音頻等流媒體,并在智能電視或智能手機(jī)上播放,因此,視頻播放器在生活中得到了廣泛應(yīng)用。

除了網(wǎng)絡(luò)速度外,視頻播放器的下載緩存機(jī)制也是影響視頻播放器的起播速度的重要因素,而視頻播放器的起播速度直接影響到用戶體驗。以安卓5.1(Android 5.1)版本中使用的NuPlayer播放器為例,智能電視通過超文本傳輸協(xié)議(HyperText Transfer Protocol,簡稱HTTP)從網(wǎng)絡(luò)中下載的網(wǎng)絡(luò)視頻會緩存在NuPlayer播放器的NuCache中,NuCache是NuPlayer播放器中用于緩存數(shù)據(jù)段的內(nèi)存,其結(jié)構(gòu)如圖1所示,NuCacheOffset表示NuCache中所緩存的數(shù)據(jù)段的起始位置,TotalSize表示NuCache的最大容量。

當(dāng)視頻播放器需要播放MP4格式的網(wǎng)絡(luò)視頻時,視頻播放器在起播之前,需要先下載該網(wǎng)絡(luò)視頻的一段文件頭數(shù)據(jù)和一段文件尾數(shù)據(jù),具體的:先下載該網(wǎng)絡(luò)視頻的一段文件頭數(shù)據(jù),由于NuCache中緩存的數(shù)據(jù)都是連續(xù)的,讀取并分析該文件頭數(shù)據(jù)后,需要刪除已緩存的文件頭數(shù)據(jù),然后再下載該網(wǎng)絡(luò)視頻的一段文件尾數(shù)據(jù),讀取并分析該文件尾,從而獲取到該網(wǎng)絡(luò)視頻的元數(shù)據(jù)(Metadata)。

網(wǎng)絡(luò)視頻開始播放時,如果NuCache中緩存的數(shù)據(jù)是從該網(wǎng)絡(luò)視頻的起始位置開始的,即從0開始的,則只要緩沖數(shù)據(jù)量足夠了就可以播放;如果NuCache中緩存的數(shù)據(jù)不是從該網(wǎng)絡(luò)視頻的起始位置開始的,例如,NuCache中緩存的數(shù)據(jù)是一段文件尾數(shù)據(jù),由于播放時需要從該網(wǎng)絡(luò)視頻的起始位置開始讀取數(shù)據(jù),則需要將NuCache中已緩存的數(shù)據(jù)清空,重新從該網(wǎng)絡(luò)視頻的起始位置開始下載數(shù)據(jù),這樣就會導(dǎo)致數(shù)據(jù)的重復(fù)下載,延長了網(wǎng)絡(luò)視頻的起播時間,從而降低了用戶體驗。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供了一種播放網(wǎng)絡(luò)視頻的方法和終端設(shè)備,用于解決現(xiàn)有網(wǎng)絡(luò)視頻起播時間長的問題。

第一方面,提供了一種播放網(wǎng)絡(luò)視頻的方法,包括:

接收到播放指令后,根據(jù)所述播放指令所指示播放的網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段,獲取到所述網(wǎng)絡(luò)視頻的元數(shù)據(jù),并在視頻播放器的內(nèi)存中緩存所述文件頭數(shù)據(jù)段和所述文件尾數(shù)據(jù)段,其中,在所述內(nèi)存中記錄所述文件頭數(shù)據(jù)段的參數(shù)信息和所述文件尾數(shù)據(jù)段的參數(shù)信息,所述參數(shù)信息包括所表征的數(shù)據(jù)段在所述網(wǎng)絡(luò)視頻中的位置信息和數(shù)據(jù)量信息;

播放所述網(wǎng)絡(luò)視頻時,根據(jù)所述內(nèi)存中所緩存的數(shù)據(jù)段的參數(shù)信息,查找到所述文件頭數(shù)據(jù)段,并根據(jù)所述元數(shù)據(jù),播放查找到的所述文件頭數(shù)據(jù)段。

第二方面,提供了一種計算機(jī)可讀存儲介質(zhì),其中存儲有可執(zhí)行的程序代碼,該程序代碼用以實現(xiàn)第一方面所述的方法。

第三方面,提供了一種終端設(shè)備,包括:

處理模塊,用于接收到播放指令后,根據(jù)所述播放指令所指示播放的網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段,獲取到所述網(wǎng)絡(luò)視頻的元數(shù)據(jù),并在視頻播放器的內(nèi)存中緩存所述文件頭數(shù)據(jù)段和所述文件尾數(shù)據(jù)段,其中,在所述內(nèi)存中記錄所述文件頭數(shù)據(jù)段的參數(shù)信息和所述文件尾數(shù)據(jù)段的參數(shù)信息,所述參數(shù)信息包括所表征的數(shù)據(jù)段在所述網(wǎng)絡(luò)視頻中的位置信息和數(shù)據(jù)量信息;

播放模塊,用于在播放所述網(wǎng)絡(luò)視頻時,根據(jù)所述內(nèi)存中所緩存的數(shù)據(jù)段的參數(shù)信息,查找到所述文件頭數(shù)據(jù)段,并根據(jù)所述元數(shù)據(jù),播放查找到的所述文件頭數(shù)據(jù)段。

本發(fā)明實施例提供的方法和終端設(shè)備中,在接收到播放指令后,根據(jù)所述播放指令所指示播放的網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段,獲取到所述網(wǎng)絡(luò)視頻的元數(shù)據(jù),并在視頻播放器的內(nèi)存中緩存所述文件頭數(shù)據(jù)段和所述文件尾數(shù)據(jù)段,以及在所述內(nèi)存中記錄所述文件頭數(shù)據(jù)段的參數(shù)信息和所述文件尾數(shù)據(jù)段的參數(shù)信息,由于將視頻播放器的內(nèi)存虛擬成多個緩存區(qū),并通過參數(shù)信息來表征每個緩存區(qū)所緩存的數(shù)據(jù)段,使得視頻播放器的內(nèi)存中可以緩存不連續(xù)的數(shù)據(jù)段,從而在解析完網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段后,無需刪除該文件頭數(shù)據(jù)段,這樣,播放所述網(wǎng)絡(luò)視頻時,可以根據(jù)所述內(nèi)存中所緩存的數(shù)據(jù)段的參數(shù)信息,查找到所述文件頭數(shù)據(jù)段并播放,由于無需重新下載文件頭數(shù)據(jù)段,大大加快了網(wǎng)絡(luò)視頻的起播速度,提高了用戶體驗。

附圖說明

圖1為NuPlayer播放器中的NuCache的結(jié)構(gòu)示意圖;

圖2為本發(fā)明實施例中的一種播放網(wǎng)絡(luò)視頻的方法的流程示意圖;

圖3A為本發(fā)明實施例中的一種網(wǎng)絡(luò)視頻的數(shù)據(jù)結(jié)構(gòu)示意圖;

圖3B為本發(fā)明實施例中的另一種網(wǎng)絡(luò)視頻的數(shù)據(jù)結(jié)構(gòu)示意圖;

圖4為本發(fā)明實施例中的一種終端設(shè)備的示意圖。

具體實施方式

為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。

下面結(jié)合說明書附圖對本發(fā)明實施例作進(jìn)一步詳細(xì)描述。應(yīng)當(dāng)理解,此處所描述的實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。

圖2所示的實施例中,提供了一種播放網(wǎng)絡(luò)視頻的方法,所述方法包括:

S21、接收到播放指令后,根據(jù)所述播放指令所指示播放的網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段,獲取到所述網(wǎng)絡(luò)視頻的元數(shù)據(jù),并在視頻播放器的內(nèi)存中緩存所述文件頭數(shù)據(jù)段和所述文件尾數(shù)據(jù)段,其中,在所述內(nèi)存中記錄所述文件頭數(shù)據(jù)段的參數(shù)信息和所述文件尾數(shù)據(jù)段的參數(shù)信息,所述參數(shù)信息包括所表征的數(shù)據(jù)段(也可稱為數(shù)據(jù)塊)在所述網(wǎng)絡(luò)視頻中的位置信息和數(shù)據(jù)量信息。

具體的,在接收到播放指令后,先下載所述播放指令所指示播放的網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段,以獲取到播放所述網(wǎng)絡(luò)視頻所需的元數(shù)據(jù),并存儲文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段。

其中,網(wǎng)絡(luò)視頻的元數(shù)據(jù)包括但不限于以下信息中的至少一種:視頻編碼格式,音頻編碼格式,播放總時長,比特率,幀率等。視頻播放器需要根據(jù)網(wǎng)絡(luò)視頻的元數(shù)據(jù),對下載的網(wǎng)絡(luò)視頻的數(shù)據(jù)段進(jìn)行解碼等處理,以播放所下載的網(wǎng)絡(luò)視頻。

可選的,所表征的數(shù)據(jù)段在所述網(wǎng)絡(luò)視頻中的位置信息可以是所表征的數(shù)據(jù)段在所述網(wǎng)絡(luò)視頻的所有數(shù)據(jù)段中的位置,也可以是所表征的數(shù)據(jù)段中的起始數(shù)據(jù)在所述網(wǎng)絡(luò)視頻的所有數(shù)據(jù)中的位置。

舉例說明,所述文件頭數(shù)據(jù)段的位置信息可以是所述文件頭數(shù)據(jù)在所述網(wǎng)絡(luò)視頻的所有數(shù)據(jù)段中的位置,也可以是所述文件頭數(shù)據(jù)中的起始數(shù)據(jù)在所述網(wǎng)絡(luò)視頻的所有數(shù)據(jù)中的位置。

本步驟中,根據(jù)網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段和文件尾數(shù)據(jù),可以獲取到所述網(wǎng)絡(luò)視頻的元數(shù)據(jù)。

S22、播放所述網(wǎng)絡(luò)視頻時,根據(jù)所述內(nèi)存中所緩存的數(shù)據(jù)段的參數(shù)信息,查找到所述文件頭數(shù)據(jù),并根據(jù)所述元數(shù)據(jù),播放所述文件頭數(shù)據(jù)。

本發(fā)明實施例中,在接收到播放指令后,根據(jù)所述播放指令所指示播放的網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段,獲取到所述網(wǎng)絡(luò)視頻的元數(shù)據(jù),并在視頻播放器的內(nèi)存中緩存所述文件頭數(shù)據(jù)段和所述文件尾數(shù)據(jù)段,其中,在所述內(nèi)存中記錄所述文件頭數(shù)據(jù)段的參數(shù)信息和所述文件尾數(shù)據(jù)段的參數(shù)信息,由于將視頻播放器的內(nèi)存虛擬成多個緩存區(qū),并通過參數(shù)信息來表征每個緩存區(qū)所緩存的數(shù)據(jù)段,使得視頻播放器的內(nèi)存中可以緩存不連續(xù)的數(shù)據(jù),從而在解析完網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段后,無需刪除該文件頭數(shù)據(jù)段,這樣,播放所述網(wǎng)絡(luò)視頻時,可以根據(jù)所述內(nèi)存中所緩存的數(shù)據(jù)段的參數(shù)信息,查找到所述文件頭數(shù)據(jù)段并播放,由于無需重新下載文件頭數(shù)據(jù)段,大大加快了網(wǎng)絡(luò)視頻的起播速度,提高了用戶體驗。

本發(fā)明實施例中,所述方法還包括:

在所述網(wǎng)絡(luò)視頻的播放過程中,下載所述網(wǎng)絡(luò)視頻的除所述文件頭數(shù)據(jù)段和所述文件尾數(shù)據(jù)段外的其他數(shù)據(jù)段;

將所下載的數(shù)據(jù)段緩存在所述內(nèi)存中,并在所述內(nèi)存中記錄所下載的數(shù)據(jù)段的參數(shù)信息;

在播放完所述網(wǎng)絡(luò)視頻的當(dāng)前數(shù)據(jù)段后,根據(jù)所述內(nèi)存中緩存的各數(shù)據(jù)段的位置信息,查找到當(dāng)前數(shù)據(jù)段的下一個數(shù)據(jù)段,并根據(jù)所述元數(shù)據(jù),播放所述下一個數(shù)據(jù)段。

具體的,所述網(wǎng)絡(luò)視頻播放期間,不斷下載所述網(wǎng)絡(luò)視頻的其他數(shù)據(jù)段,這樣在當(dāng)前數(shù)據(jù)段播放完后,可以直接播放下一個數(shù)據(jù)段,提高播放的連續(xù)性,從而提高用戶觀看體驗。

在實施中,將所下載的數(shù)據(jù)段緩存在所述內(nèi)存中,包括以下兩種可能的實現(xiàn)方式:

方式1、若所下載的數(shù)據(jù)段的數(shù)據(jù)量與所述內(nèi)存已緩存的數(shù)據(jù)段的數(shù)據(jù)量之和大于或等于所述內(nèi)存能夠緩存的最大數(shù)據(jù)量,先從所述內(nèi)存中,依次刪除數(shù)據(jù)起始位置最靠前的數(shù)據(jù)段,以使所下載的數(shù)據(jù)段的數(shù)據(jù)量與所述內(nèi)存已緩存的數(shù)據(jù)段的數(shù)據(jù)量之和小于所述內(nèi)存能夠緩存的最大數(shù)據(jù)量;再將所下載的數(shù)據(jù)段和所下載的數(shù)據(jù)段的參數(shù)信息,緩存在所述內(nèi)存中。

該方式中,當(dāng)新下載的數(shù)據(jù)段數(shù)據(jù)量與所述內(nèi)存已緩存的數(shù)據(jù)段的數(shù)據(jù)量之和超過所述內(nèi)存能夠緩存的最大數(shù)據(jù)量時,先刪除所述內(nèi)存中所緩存的部分已播放的數(shù)據(jù)段,再將新下載的數(shù)據(jù)段緩存到所述內(nèi)存中。由于已播放的數(shù)據(jù)段在所述網(wǎng)絡(luò)視頻中的位置一般比未播放的數(shù)據(jù)段在所述網(wǎng)絡(luò)視頻中的位置靠前,因此,可以根據(jù)已緩存的數(shù)據(jù)段的位置信息選擇所刪除的數(shù)據(jù)段,例如,從已緩存的數(shù)據(jù)段中,依次刪除在所述網(wǎng)絡(luò)視頻中的位置最靠前的數(shù)據(jù)段,以使所下載的數(shù)據(jù)段的數(shù)據(jù)量與所述內(nèi)存已緩存的數(shù)據(jù)段的數(shù)據(jù)量之和小于所述內(nèi)存能夠緩存的最大數(shù)據(jù)量。

方式2、若所下載的數(shù)據(jù)段的數(shù)據(jù)量與所述內(nèi)存已緩存的數(shù)據(jù)段的數(shù)據(jù)量之和大于或等于所述內(nèi)存能夠緩存的最大數(shù)據(jù)量,先從所述內(nèi)存中,刪除已播放的所有數(shù)據(jù)段;再將所下載的數(shù)據(jù)段和所下載的數(shù)據(jù)段的參數(shù)信息,緩存在所述內(nèi)存中。

該方式中,當(dāng)新下載的數(shù)據(jù)段數(shù)據(jù)量與所述內(nèi)存已緩存的數(shù)據(jù)段的數(shù)據(jù)量之和超過所述內(nèi)存能夠緩存的最大數(shù)據(jù)量時,先刪除所述內(nèi)存中所緩存的全部已播放的數(shù)據(jù)段,再將新下載的數(shù)據(jù)段緩存到所述內(nèi)存中。

該方式中,可以對所述內(nèi)存中已緩存的數(shù)據(jù)段是否已播放進(jìn)行標(biāo)記,根據(jù)標(biāo)記信息,從已緩存的數(shù)據(jù)段中,刪除部分或全部已播放的數(shù)據(jù)段。

方式3、所述方法還包括:

在播放完所述網(wǎng)絡(luò)視頻的任一數(shù)據(jù)段后,從所述內(nèi)存中刪除所述任一數(shù)據(jù)段。

該方式中,每次播放完所述內(nèi)存中的已緩存的數(shù)據(jù)段后,就從所述內(nèi)存中刪除該數(shù)據(jù)段,以使所述內(nèi)存中能夠緩存新下載的數(shù)據(jù)段。

基于上述任一實施例,可選的,所述視頻播放器的內(nèi)存以列表的形式緩存已下載的數(shù)據(jù)段和已下載的數(shù)據(jù)段的參數(shù)信息,所述列表中的每條記錄包括一個已下載的數(shù)據(jù)段和該數(shù)據(jù)段的參數(shù)信息。

舉例說明,所述列表的一種可能的實現(xiàn)形式如表1所示:

其中,NuCacheOffset1表示所述內(nèi)存中緩存的第一個數(shù)據(jù)段的位置信息,TotalSize1表示所述內(nèi)存中緩存的第一個數(shù)據(jù)段的數(shù)據(jù)量;NuCacheOffset2表示所述內(nèi)存中緩存的第二個數(shù)據(jù)段的位置信息,TotalSize2表示所述內(nèi)存中緩存的第二個數(shù)據(jù)段的數(shù)據(jù)量;依此類推。

基于上述任一實施例,可選的,本發(fā)明實施例中在網(wǎng)絡(luò)視頻的數(shù)據(jù)格式,可以采用如下兩種可選的方式:

方式一、音頻數(shù)據(jù)和視頻數(shù)據(jù)交替順序排列的方式。

圖3A所示的實施例中給出了任一網(wǎng)絡(luò)視頻的數(shù)據(jù)格式,假設(shè)該網(wǎng)絡(luò)視頻被劃分為m段數(shù)據(jù),V1表示該網(wǎng)絡(luò)視頻包含的第一個數(shù)據(jù)段對應(yīng)的視頻數(shù)據(jù),A1表示第一個數(shù)據(jù)段對應(yīng)的音頻數(shù)據(jù);V2表示該網(wǎng)絡(luò)視頻包含的第二個數(shù)據(jù)段對應(yīng)的視頻數(shù)據(jù),A2表示第二個數(shù)據(jù)段對應(yīng)的音頻數(shù)據(jù),依此類推。

方式二、音頻數(shù)據(jù)和視頻數(shù)據(jù)分別順序排列的方式。

圖3B所示的實施例中給出了任一網(wǎng)絡(luò)視頻的數(shù)據(jù)格式,假設(shè)該網(wǎng)絡(luò)視頻被劃分為m段數(shù)據(jù),V1~Vm分別表示該網(wǎng)絡(luò)視頻包含的各數(shù)據(jù)段對應(yīng)的視頻數(shù)據(jù),A1~Am分別表示該網(wǎng)絡(luò)視頻包含的各數(shù)據(jù)段對應(yīng)的所有音頻數(shù)據(jù)。

該方式中,假設(shè)1~50M為視頻數(shù)據(jù),51~70M為該視頻數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù),若采用現(xiàn)有播放機(jī)制,假設(shè)內(nèi)存能夠緩存的最大數(shù)據(jù)量為80M,先通過HTTP從網(wǎng)絡(luò)下載50M視頻數(shù)據(jù)緩存到視頻播放器的內(nèi)存中,然后將所述視頻播放器的內(nèi)存已下載的50M視頻數(shù)據(jù)中的部分(如1~20M)數(shù)據(jù)復(fù)制到所述視頻播放器的播放緩存中進(jìn)行解碼等處理,由于播放視頻時還需要音頻數(shù)據(jù),所以需要先清除內(nèi)存中已下載的數(shù)據(jù),再通過HTTP從網(wǎng)絡(luò)下載51~70M的音頻數(shù)據(jù),并將與1~20M的視頻數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù)(假設(shè)為51~60M)復(fù)制到所述視頻播放器的播放緩存中進(jìn)行解碼等處理,這樣就可以播放該部分視頻了。繼續(xù)播放21~50M網(wǎng)絡(luò)視頻時,由于此時所述視頻播放器的內(nèi)存中已經(jīng)沒有1~50M的視頻數(shù)據(jù)了,需要清除51~70M的音頻數(shù)據(jù)并重新從網(wǎng)絡(luò)下載21~50M的視頻數(shù)據(jù),從而增加了緩存次數(shù)和視頻播放的緩沖時間。若采用本發(fā)明實施例提供的方案,由于內(nèi)存中能夠緩存不連續(xù)的數(shù)據(jù),則可將1~50M的視頻數(shù)據(jù)和51~70M的音頻數(shù)據(jù)緩存在內(nèi)存中,并標(biāo)識每個數(shù)據(jù)段的在所屬的網(wǎng)絡(luò)視頻中的位置信息和數(shù)據(jù)量信息,假設(shè)1~50M的視頻數(shù)據(jù)為內(nèi)存中的第一個數(shù)據(jù)塊,51~70M的音頻數(shù)據(jù)緩為內(nèi)存中的第二個數(shù)據(jù)塊,這樣,在播放完1~20M的視頻數(shù)據(jù)后,先從內(nèi)存中查詢21~50M所屬的數(shù)據(jù)塊,確定出21~50M所屬的數(shù)據(jù)塊為第一個數(shù)據(jù)塊后,再第一個數(shù)據(jù)塊中讀取21~50M的視頻數(shù)據(jù)即可,由于不需要重新下載數(shù)據(jù),減少了緩存次數(shù)和視頻播放的緩沖時間。

下面以NuPlayer播放器為例,對本發(fā)明實施例提供的一種視頻播放器中播放網(wǎng)絡(luò)視頻的方法進(jìn)行詳細(xì)說明。

NuPlayer播放器中的NuCache可以看作一個列表(NuCacheList),可以緩存不連續(xù)的數(shù)據(jù)段,NuCache中配置了NuCacheOffset(起始位置)和TotalSize(總大小)兩個參數(shù),來表征所緩存的不同數(shù)據(jù)段。NuCache中可以緩存以不同Offset(起始位置)開頭的數(shù)據(jù)段,其中,NuCacheOffsetN表征所緩存的第N個數(shù)據(jù)段中的起始數(shù)據(jù)在所述網(wǎng)絡(luò)視頻中所有數(shù)據(jù)段的位置信息,TotalSizeN表征所緩存的第N個數(shù)據(jù)段對應(yīng)的數(shù)據(jù)量總大小。

在接收到播放指令后,且網(wǎng)絡(luò)視頻起播之前,通過HTTP從網(wǎng)絡(luò)下載需要播放的網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段,以讀取所述網(wǎng)絡(luò)視頻的Metadata,并在NuCache中緩存文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段。

具體的,當(dāng)下載文件頭數(shù)據(jù)段時,將該文件頭數(shù)據(jù)段緩存在NuCacheList中的NuCacheOffset1和TotalSize1對應(yīng)的NuCacheList(1)中,并通過NuCacheOffset1標(biāo)記該文件頭數(shù)據(jù)段的位置信息,以及通過TotalSize1標(biāo)記該文件頭數(shù)據(jù)段的數(shù)據(jù)量;分析完文件頭數(shù)據(jù)段后,下載文件尾數(shù)據(jù)段,并將該文件尾數(shù)據(jù)段緩存在NuCacheList中的NuCacheOffset2和TotalSize2對應(yīng)的NuCacheList(2)中,并通過NuCacheOffset2標(biāo)記該文件尾數(shù)據(jù)段的位置信息,以及通過TotalSize2標(biāo)記該文件尾數(shù)據(jù)段的數(shù)據(jù)量。

網(wǎng)絡(luò)視頻起播時,因為之前讀取文件頭數(shù)據(jù)段時已經(jīng)緩存在NuCache中的NuCacheList(1)中了,因此,直接從NuCache中讀取該文件頭數(shù)據(jù)段即可,由于可以直接使用,因此不必清空NuCache重新下載該文件頭數(shù)據(jù)段了,這樣在網(wǎng)絡(luò)帶寬一定條件下,大大加快了網(wǎng)絡(luò)文件的起播速度,提升了用戶體驗。

上述方法處理流程可以用軟件程序?qū)崿F(xiàn),該軟件程序可以存儲在存儲介質(zhì)中,當(dāng)存儲的軟件程序被調(diào)用時,執(zhí)行上述方法步驟。

基于同一發(fā)明構(gòu)思,圖4所示的實施例中,提供了一種終端設(shè)備,由于該終端設(shè)備解決問題的原理與圖2所示的實施例提供的方法相似,因此該終端設(shè)備的實施可以參見方法的實施,重復(fù)之處不再贅述。所述終端設(shè)備包括:

處理模塊41,用于接收到播放指令后,根據(jù)所述播放指令所指示播放的網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段和文件尾數(shù)據(jù)段,獲取到所述網(wǎng)絡(luò)視頻的元數(shù)據(jù),并在視頻播放器的內(nèi)存中緩存所述文件頭數(shù)據(jù)段和所述文件尾數(shù)據(jù)段,其中,在所述內(nèi)存中記錄所述文件頭數(shù)據(jù)段的參數(shù)信息和所述文件尾數(shù)據(jù)段的參數(shù)信息,所述參數(shù)信息包括所表征的數(shù)據(jù)段在所述網(wǎng)絡(luò)視頻中的位置信息和數(shù)據(jù)量信息;

播放模塊42,用于在播放所述網(wǎng)絡(luò)視頻時,根據(jù)所述內(nèi)存中所緩存的數(shù)據(jù)段的參數(shù)信息,查找到所述文件頭數(shù)據(jù)段,并根據(jù)所述元數(shù)據(jù),播放所述文件頭數(shù)據(jù)段。

本發(fā)明實施例中,由于將視頻播放器的內(nèi)存虛擬成多個緩存區(qū),并通過參數(shù)信息來表征每個緩存區(qū)所緩存的數(shù)據(jù)段,使得視頻播放器的內(nèi)存中可以緩存不連續(xù)的數(shù)據(jù)段,從而在解析完網(wǎng)絡(luò)視頻的文件頭數(shù)據(jù)段后,無需刪除該文件頭數(shù)據(jù)段,這樣,在播放所述網(wǎng)絡(luò)視頻時,可以根據(jù)所述內(nèi)存中所緩存的數(shù)據(jù)段的參數(shù)信息,查找到所述文件頭數(shù)據(jù)段并播放,由于無需重新下載文件頭數(shù)據(jù)段,大大加快了網(wǎng)絡(luò)視頻的起播速度,提高了用戶體驗。

一種可能的實施方式中,所述處理模塊還用于:

在所述網(wǎng)絡(luò)視頻的播放過程中,下載所述網(wǎng)絡(luò)視頻的除所述文件頭數(shù)據(jù)段和所述文件尾數(shù)據(jù)段外的其他數(shù)據(jù)段;將所下載的數(shù)據(jù)段緩存在所述內(nèi)存中,并在所述內(nèi)存中記錄所下載的數(shù)據(jù)段的參數(shù)信息;

相應(yīng)的,所述播放模塊還用于:在所述網(wǎng)絡(luò)視頻的當(dāng)前數(shù)據(jù)段播放完后,根據(jù)所述內(nèi)存中緩存的各數(shù)據(jù)段的位置信息,查找到當(dāng)前數(shù)據(jù)段的下一個數(shù)據(jù)段,并根據(jù)所述元數(shù)據(jù),播放所述下一個數(shù)據(jù)段。

作為一種可能的實施方式,所述處理模塊具體用于:

若所下載的數(shù)據(jù)段的數(shù)據(jù)量與所述內(nèi)存已緩存的數(shù)據(jù)段的數(shù)據(jù)量之和大于或等于所述內(nèi)存能夠緩存的最大數(shù)據(jù)量,先從所述內(nèi)存中,依次刪除數(shù)據(jù)起始位置最靠前的數(shù)據(jù)段,以使所下載的數(shù)據(jù)段的數(shù)據(jù)量與所述內(nèi)存已緩存的數(shù)據(jù)段的數(shù)據(jù)量之和小于所述內(nèi)存能夠緩存的最大數(shù)據(jù)量;再將所下載的數(shù)據(jù)段和所下載的數(shù)據(jù)段的參數(shù)信息,緩存在所述內(nèi)存中;或者

若所下載的數(shù)據(jù)段的數(shù)據(jù)量與所述內(nèi)存已緩存的數(shù)據(jù)段的數(shù)據(jù)量之和大于或等于所述內(nèi)存能夠緩存的最大數(shù)據(jù)量,先從所述內(nèi)存中,刪除已播放的所有數(shù)據(jù)段;再將所下載的數(shù)據(jù)段和所下載的數(shù)據(jù)段的參數(shù)信息,緩存在所述內(nèi)存中。

作為另一種可能的實施方式,所述處理模塊具體用于:

在所述播放模塊播放完所述網(wǎng)絡(luò)視頻的任一數(shù)據(jù)段后,從所述內(nèi)存中刪除所述任一數(shù)據(jù)段。

基于上述任一實施例,一種可能的實施方式中,所述內(nèi)存以列表的形式緩存已下載的數(shù)據(jù)段和已下載的數(shù)據(jù)段的參數(shù)信息,所述列表中的每條記錄包括一個已下載的數(shù)據(jù)段和該數(shù)據(jù)段的參數(shù)信息。

在本實施例中,處理模塊41和播放模塊42是以功能模塊的形式來呈現(xiàn)。這里的“模塊”可以指特定應(yīng)用集成電路(application-specific integrated circuit,ASIC),電路,執(zhí)行一個或多個軟件或固件程序的處理器和存儲器,集成邏輯電路,和/或其他可以提供上述功能的器件。在一個簡單的實施例中,本領(lǐng)域的技術(shù)人員可以想到處理模塊41可以通過計算機(jī)設(shè)備的處理器、存儲器和輸入接口來實現(xiàn),播放模塊42可以通過計算機(jī)設(shè)備的處理器和存儲器來實現(xiàn)。

本發(fā)明實施例提供的終端設(shè)備可以是手機(jī)、平板電腦、筆記本電腦等具有網(wǎng)絡(luò)視頻播放功能的設(shè)備。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韶山市| 东安县| 扎赉特旗| 内丘县| 北京市| 普兰县| 怀仁县| 双辽市| 上杭县| 台北市| 启东市| 辰溪县| 南召县| 枞阳县| 大宁县| 特克斯县| 田东县| 林口县| 商洛市| 密山市| 大同县| 乌拉特中旗| 柘城县| 长葛市| 汶上县| 监利县| 台安县| 宁陕县| 佛教| 徐汇区| 普兰店市| 古田县| 玉树县| 抚顺县| 永新县| 姚安县| 昆明市| 临沂市| 孟州市| 南丰县| 江北区|