亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種生成和播放視頻文件的方法、服務(wù)器及終端與流程

文檔序號(hào):11778969閱讀:208來(lái)源:國(guó)知局
本發(fā)明涉及視頻處理
技術(shù)領(lǐng)域
:,尤其涉及一種生成和播放視頻文件的方法、服務(wù)器及終端。
背景技術(shù)
::現(xiàn)有基于http的流媒體在進(jìn)行傳輸時(shí),有一部分使用的是hls(httplivestreaming)協(xié)議來(lái)傳輸流媒體,而hls協(xié)議中首先是服務(wù)端將整個(gè)視頻流分成多個(gè)小的ts分片,并提供一個(gè)或者多個(gè)m3u8文件以描述視頻流及各ts分片,而各ts分片則通過(guò)http來(lái)傳輸;其后,播放端通常先獲取m3u8文件,然后解析它,得到各個(gè)ts分片的時(shí)長(zhǎng)、url等信息,之后據(jù)此選擇想要播放的ts分片進(jìn)行下載、播放。在對(duì)hls進(jìn)行跳播時(shí),一般先根據(jù)m3u8文件所提供的各分片的時(shí)長(zhǎng)計(jì)算出該時(shí)間點(diǎn)所在的分片。以下述m3u8文件為例,假設(shè)需要跳播到時(shí)間點(diǎn)12s,且1.ts和2.ts的播放時(shí)長(zhǎng)均為9s,則可以確定需要播放文件2.ts;然而2.ts的初始顯示時(shí)間戳(presentationtimestamp,簡(jiǎn)稱(chēng)pts)是9s,為了播放pts為12s的內(nèi)容,還需在分片2.ts內(nèi)跳播。為了實(shí)現(xiàn)對(duì)hls進(jìn)行快速跳播,現(xiàn)有技術(shù)中的通常做法是:按比特率來(lái)估計(jì)跳播的目標(biāo)位置,比特率可以從ts文件大小和文件時(shí)長(zhǎng)計(jì)算得出,從該位置尋找到關(guān)鍵幀,開(kāi)始解碼,恢復(fù)正常播放;此種方式具有跳播的速度快的有點(diǎn),但由于比特率實(shí)際上是波動(dòng)的,會(huì)導(dǎo)致出現(xiàn)估計(jì)出的目標(biāo)位置的準(zhǔn)確度低的問(wèn)題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供一種生成和播放視頻文件的方法、服務(wù)器及終端,能夠在確保跳播速度的基礎(chǔ)上使得跳播到目標(biāo)位置的準(zhǔn)確度也隨之提高。本申請(qǐng)第一方面提供了一種生成視頻文件的方法,包括:將視頻流分成多個(gè)ts文件,獲取每個(gè)ts文件中的所有關(guān)鍵幀,并記錄每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;根據(jù)所述多個(gè)ts文件的分片序列,生成用于描述所述分片序列的n個(gè)m3u8文件,并將每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中,其中,n為不小于1的整數(shù)。可選的,在記錄每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量之后,所述方法還包括:根據(jù)記錄的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,生成每個(gè)ts文件對(duì)應(yīng)的dat文件;將每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中??蛇x的,每個(gè)ts文件對(duì)應(yīng)的dat文件中每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量組成一個(gè)二元組。本申請(qǐng)第二方面提供了一種播放視頻文件的方法,包括:解析獲取到的視頻文件,得到所述視頻文件對(duì)應(yīng)的n個(gè)m3u8文件和所述n個(gè)m3u8文件包含的多個(gè)ts文件及每個(gè)ts文件的顯示時(shí)間戳,其中,n為不小于1的整數(shù);利用跳播到目標(biāo)位置的目標(biāo)時(shí)間戳和每個(gè)ts文件的顯示時(shí)間戳,從所述多個(gè)ts文件中查找到所述目標(biāo)時(shí)間戳所屬的ts文件;利用所述n個(gè)m3u8文件中存儲(chǔ)的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽,獲取到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放??蛇x的,在所述n個(gè)m3u8文件中存儲(chǔ)有所述n個(gè)m3u8文件中包含的每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽時(shí),所述方法還包括:利用所述n個(gè)m3u8文件中包含的每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽,得到所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件,其中,每個(gè)ts文件對(duì)應(yīng)的dat文件中存儲(chǔ)該ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;解析所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件,得到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放??蛇x的,所述根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀,具體包括:根據(jù)所述目標(biāo)時(shí)間戳,從所述目標(biāo)時(shí)間戳所屬的ts文件的所有關(guān)鍵幀中查找到最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀;根據(jù)所述最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀、所述目標(biāo)時(shí)間戳和每個(gè)關(guān)鍵幀的文件偏移量,查找到與所述目標(biāo)時(shí)間戳最接近的視頻幀作為與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀。本申請(qǐng)第三方面提供了一種服務(wù)器,包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:將視頻流分成多個(gè)ts文件,獲取每個(gè)ts文件中的所有關(guān)鍵幀,并記錄每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;根據(jù)所述多個(gè)ts文件的分片序列,生成用于描述所述分片序列的n個(gè)m3u8文件,并將每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中,其中,n為不小于1的整數(shù)。可選的,所述程序被處理器執(zhí)行時(shí)在記錄每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量之后,還實(shí)現(xiàn)以下步驟:根據(jù)記錄的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,生成每個(gè)ts文件對(duì)應(yīng)的dat文件;將每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中。本申請(qǐng)第四方面提供了一種終端,其特征在于,包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:解析獲取到的視頻文件,得到所述視頻文件對(duì)應(yīng)的n個(gè)m3u8文件和所述n個(gè)m3u8文件包含的多個(gè)ts文件及每個(gè)ts文件的顯示時(shí)間戳,其中,n為不小于1的整數(shù);利用跳播到目標(biāo)位置的目標(biāo)時(shí)間戳和每個(gè)ts文件的顯示時(shí)間戳,從所述多個(gè)ts文件中查找到所述目標(biāo)時(shí)間戳所屬的ts文件;利用所述n個(gè)m3u8文件中存儲(chǔ)的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽,獲取到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放??蛇x的,所述程序被處理器執(zhí)行時(shí)在所述n個(gè)m3u8文件中存儲(chǔ)有所述n個(gè)m3u8文件中包含的每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽時(shí),還實(shí)現(xiàn)以下步驟:利用所述n個(gè)m3u8文件中包含的每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽,得到所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件,其中,每個(gè)ts文件對(duì)應(yīng)的dat文件中存儲(chǔ)該ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;解析所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件,得到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放??蛇x的,所述程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn)以下步驟:根據(jù)所述目標(biāo)時(shí)間戳,從所述目標(biāo)時(shí)間戳所屬的ts文件的所有關(guān)鍵幀中查找到最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀;根據(jù)所述最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀、所述目標(biāo)時(shí)間戳和每個(gè)關(guān)鍵幀的文件偏移量,查找到與所述目標(biāo)時(shí)間戳最接近的視頻幀作為與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀。本發(fā)明的有益效果如下:基于上述技術(shù)方案,本發(fā)明實(shí)施例中將視頻流分成的多個(gè)ts文件封裝成n個(gè)m3u8文件,并將每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中,以使得在解析所述n個(gè)m3u8文件時(shí),可以根據(jù)所述n個(gè)m3u8文件中的標(biāo)簽,準(zhǔn)確并快速的查找到每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,而根據(jù)查找到的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量能夠準(zhǔn)確的定位到跳播到目標(biāo)位置然后進(jìn)行播放,從而實(shí)現(xiàn)了在確保跳播速度的基礎(chǔ)上使得跳播到目標(biāo)位置的準(zhǔn)確度也隨之提高的效果。附圖說(shuō)明圖1為本發(fā)明實(shí)施例中生成視頻文件的方法的第一種流程圖;圖2為本發(fā)明實(shí)施例中生成視頻文件的方法的第二種流程圖;圖3為本發(fā)明實(shí)施例中播放視頻文件的方法的第一種流程圖;圖4為本發(fā)明實(shí)施例中播放視頻文件的方法的第二種流程圖。具體實(shí)施方式本發(fā)明提供一種生成和播放視頻文件的方法、服務(wù)器及終端,能夠在確保跳播速度的基礎(chǔ)上使得跳播到目標(biāo)位置的準(zhǔn)確度也隨之提高。下面結(jié)合附圖對(duì)本發(fā)明優(yōu)選的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。實(shí)施例一:如圖1所示,本發(fā)明第一方面提供了一種生成視頻文件的方法,包括:s101、將視頻流分成多個(gè)ts文件,獲取每個(gè)ts文件中的所有關(guān)鍵幀,并記錄每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;s102、根據(jù)所述多個(gè)ts文件的分片序列,生成用于描述所述分片序列的n個(gè)m3u8文件,并將每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中,其中,n為不小于1的整數(shù)。本申請(qǐng)實(shí)施例中服務(wù)器端作為生成視頻文件的方法的執(zhí)行主體,用于根據(jù)用戶(hù)的操作指令,獲取到相應(yīng)的視頻流,然后對(duì)獲取到的視頻流執(zhí)行步驟s101和s102。其中,在步驟s101中,服務(wù)器端獲取到視頻流之后,將所述視頻流分成多個(gè)ts文件;而在將所述視頻流分成多個(gè)ts文件時(shí),根據(jù)ts文件對(duì)應(yīng)的編碼規(guī)則,會(huì)自動(dòng)將每個(gè)ts文件中一部分視頻幀作為關(guān)鍵幀,如此,可以通過(guò)查找的方式獲取到每個(gè)ts文件中的所有關(guān)鍵幀,并記錄每個(gè)關(guān)鍵幀的pts和文件偏移量,所述多個(gè)ts文件組成所述視頻流,以防止所述視頻流出現(xiàn)丟失數(shù)據(jù)的問(wèn)題。例如,在每個(gè)ts文件已h264進(jìn)行編碼時(shí),每個(gè)ts文件中的所有idr幀為關(guān)鍵幀。本申請(qǐng)實(shí)施例中,文件偏移量就是指從指定位置向前或向后移動(dòng)的字節(jié)數(shù),通過(guò)每個(gè)關(guān)鍵幀的文件偏移量可以確定該關(guān)鍵幀在ts文件中的位置;進(jìn)一步的,每個(gè)ts文件中均攜帶有該ts文件的pts和解碼時(shí)間戳(decodingtimestamp,簡(jiǎn)稱(chēng)dts),如此,根據(jù)每個(gè)ts文件自身攜帶的pts和dts和其包含的每個(gè)關(guān)鍵幀的pts和文件偏移量,可以準(zhǔn)確度定位出每個(gè)ts文件中每個(gè)視頻幀的pts和文件偏移量。例如,以3.ts文件為例,若3.ts的初始pts是20s和結(jié)束pts是30s,其中,3.ts中均有3個(gè)關(guān)鍵幀,第一個(gè)關(guān)鍵幀的pts為23s和文件偏移量為75,第二個(gè)關(guān)鍵幀的pts為26s和文件偏移量為150,第三個(gè)關(guān)鍵幀的pts為29s和文件偏移量為225。具體的,在將所述視頻流分成多個(gè)ts文件時(shí),檢測(cè)所述視頻流是否還能分成新的ts文件,直至檢測(cè)到所述視頻流不能分成新的ts文件時(shí),將所述視頻流已生成的所有ts文件作為所述多個(gè)ts文件。例如,以某個(gè)視頻流a為例,在將視頻流a分成ts文件時(shí),實(shí)時(shí)檢測(cè)或間接預(yù)設(shè)時(shí)間檢測(cè)視頻流a是否還能分成新的ts文件,直至檢測(cè)到視頻流a分成1.ts、2.ts、3.ts、4.ts、5.ts、6.ts、7.ts和8.ts時(shí)已不能分成新的ts文件,則可以確定視頻流a分成的多個(gè)ts文件為1.ts、2.ts、3.ts、4.ts、5.ts、6.ts、7.ts和8.ts。接下來(lái)執(zhí)行步驟s102,在將所述視頻流分成多個(gè)ts文件時(shí),會(huì)確定并記錄所述多個(gè)ts文件的分片序列,然后根據(jù)記錄的所述多個(gè)ts文件的分片序列,生成用于描述所述分片序列的n個(gè)m3u8文件,由于n為不小于1的整數(shù),即用于描述所述分片序列的m3u8文件可以為一個(gè)或多個(gè)。具體來(lái)講,在生成用于描述所述分片序列的n個(gè)m3u8文件之后,可以將每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中,以使得根據(jù)任意一個(gè)m3u8文件中的標(biāo)簽,即可查找到每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量,進(jìn)而可以準(zhǔn)確并快速的查找到每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;以及,在獲取到跳播到目標(biāo)位置的pts,可以利用目標(biāo)位置的pts所在ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量,查找到與所述目標(biāo)位置的pts對(duì)應(yīng)的視頻幀并進(jìn)行播放,從而實(shí)現(xiàn)了在確保跳播速度的基礎(chǔ)上使得跳播到目標(biāo)位置的準(zhǔn)確度也隨之提高的效果。具體的,每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽可以用于指示每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量的存儲(chǔ)位置,以使得根據(jù)所述標(biāo)簽即可查找到每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量的存儲(chǔ)位置,然后從查找到的存儲(chǔ)位置讀取出每個(gè)ts文件的每個(gè)關(guān)鍵幀的pts和文件偏移量,其中,在每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量的存儲(chǔ)位置均相同時(shí),每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽相同;在每個(gè)ts文件中所有關(guān)鍵幀的pts和文件偏移量的存儲(chǔ)位置有多個(gè)時(shí),每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽得數(shù)量與存儲(chǔ)位置的數(shù)量相同;例如1.ts中有一部分關(guān)鍵幀的pts和文件偏移量的存儲(chǔ)位置是http://media.example.com/1.0.ts,另一部分關(guān)鍵幀的pts和文件偏移量的存儲(chǔ)位置是http://media.example.com/1.1.ts,則可以確定1.ts中一部分關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽為1.0,另一幅關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽為1.1。具體的,在存儲(chǔ)每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量時(shí),可以分開(kāi)存儲(chǔ)每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量;也可以將每個(gè)ts文件中所有關(guān)鍵幀的pts和文件偏移量打包成一個(gè)文件進(jìn)行存儲(chǔ);還可以每個(gè)m3u8文件中的所有ts文件包含的所有關(guān)鍵幀的pts和文件偏移量打包成一個(gè)文件進(jìn)行存儲(chǔ),然后通過(guò)索引標(biāo)識(shí)來(lái)查找到每個(gè)ts文件包含的所有關(guān)鍵幀的pts和文件偏移量,本申請(qǐng)不作具體限制。例如,1.ts中每個(gè)關(guān)鍵幀的pts和文件偏移量的存儲(chǔ)位置均可以是http://media.example.com/1.ts;且1.ts中每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽可以為用于指示http://media.example.com/1.ts的標(biāo)簽,即1.ts中每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽可以為kryframe-table標(biāo)簽;同理,3.ts中每個(gè)關(guān)鍵幀的pts和文件偏移量的存儲(chǔ)位置均可以是http://media.example.com/3.ts。本申請(qǐng)實(shí)施例中,例如,以某個(gè)視頻流a為例,視頻流a分成的多個(gè)ts文件的分片序列依次為1.ts、2.ts、3.ts、4.ts、5.ts、6.ts、7.ts和8.ts,然后生成用于描述上述8個(gè)ts文件的分片序列的n個(gè)m3u8文件,若n個(gè)m3u8文件包括第一m3u8文件用用m1和第二m3u8文件用m2表示,并將上述8個(gè)ts文件中每個(gè)ts文件中的每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽添加到m1和m2中。在本申請(qǐng)另一實(shí)施例中,在記錄每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量之后,如圖2所示,所述方法還包括:s201、根據(jù)記錄的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,生成每個(gè)ts文件對(duì)應(yīng)的dat文件;s202、將每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中。其中,在步驟s201中,將每個(gè)ts文件中的所有關(guān)鍵幀的顯示時(shí)間戳和文件偏移量生成一個(gè)dat文件,使得每個(gè)ts文件對(duì)應(yīng)的dat文件中存儲(chǔ)有該ts文件中所有關(guān)鍵幀的顯示時(shí)間戳和文件偏移量。具體的,在生成每個(gè)ts文件對(duì)應(yīng)的dat文件之后,還需要存儲(chǔ)每個(gè)ts文件對(duì)應(yīng)的dat文件。例如,1.ts對(duì)應(yīng)的1.dat文件中存儲(chǔ)有1.ts中所有關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,1.dat文件中的存儲(chǔ)位置例如可以是http://media.example.com/1.dat。接下來(lái)執(zhí)行步驟s202,在生成每個(gè)ts文件對(duì)應(yīng)的dat文件之后,對(duì)每個(gè)ts文件對(duì)應(yīng)的dat文件分配標(biāo)簽,并將每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中。具體來(lái)講,在將每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中時(shí),將每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽添加到每個(gè)m3u8文件中。例如,將1.ts、2.ts、3.ts、4.ts、5.ts、6.ts、7.ts和8.ts中每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽添加到m1和m2中。具體的,每個(gè)ts文件對(duì)應(yīng)的dat文件中每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量組成一個(gè)二元組。例如,以3.ts文件為例,若3.ts的初始pts是20s和結(jié)束pts是30s,其中,3.ts中均有3個(gè)關(guān)鍵幀,第一個(gè)關(guān)鍵幀的pts為23s和文件偏移量為75,則可以確定第一個(gè)關(guān)鍵幀的二元組為(23,75);第二個(gè)關(guān)鍵幀的pts為26s和文件偏移量為150,則可以確定第二個(gè)關(guān)鍵幀的二元組為(26,150);第三個(gè)關(guān)鍵幀的pts為29s和文件偏移量為225,則可以確定第三個(gè)關(guān)鍵幀的二元組為(29,225)。在另一實(shí)施例中,在生成每個(gè)ts文件對(duì)應(yīng)的dat文件之后,還可以根據(jù)ts文件的分片序列,確定每個(gè)ts文件對(duì)應(yīng)的dat文件的序列,每個(gè)ts文件對(duì)應(yīng)的dat文件的序列與該ts文件的分片序列相對(duì)應(yīng);再根據(jù)每個(gè)ts文件對(duì)應(yīng)的dat文件的序列,生成每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽,然后將每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中。例如,視頻流a分成的多個(gè)ts文件的分片序列依次為1.ts、2.ts、3.ts、4.ts、5.ts、6.ts、7.ts和8.ts,則可以ts文件的分片序列,確定出1.ts對(duì)應(yīng)的dat文件序列為1具體用1.dat表示,同理,2.ts對(duì)應(yīng)2.dat,3.ts對(duì)應(yīng)3.dat,4.ts對(duì)應(yīng)4.dat,5.ts對(duì)應(yīng)5.dat,6.ts對(duì)應(yīng)6.dat,7.ts對(duì)應(yīng)7.dat和8.ts對(duì)應(yīng)8.dat;再根據(jù)每個(gè)dat文件的序列,生成dat文件的標(biāo)簽依次為table1、table2、table3、table4、table5、table6、table7和table8,然后將上述所述dat文件的標(biāo)簽均添加到m1和m2中。本發(fā)明實(shí)施例中視頻流分成的多個(gè)ts文件封裝成n個(gè)m3u8文件,并將每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中,以使得在解析所述n個(gè)m3u8文件時(shí),可以根據(jù)所述n個(gè)m3u8文件中的標(biāo)簽,準(zhǔn)確并快速的查找到每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,而根據(jù)查找到的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量能夠準(zhǔn)確的定位到跳播到目標(biāo)位置然后進(jìn)行播放,從而實(shí)現(xiàn)了在確保跳播速度的基礎(chǔ)上使得跳播到目標(biāo)位置的準(zhǔn)確度也隨之提高的效果。實(shí)施例二:基于與第一方面提供的方法相應(yīng)的技術(shù)構(gòu)思,本發(fā)明第二方面提供了一種播放視頻文件的方法,如圖3所示,包括:s301、解析獲取到的視頻文件,得到所述視頻文件對(duì)應(yīng)的n個(gè)m3u8文件和所述n個(gè)m3u8文件包含的多個(gè)ts文件及每個(gè)ts文件的顯示時(shí)間戳,其中,n為不小于1的整數(shù);s302、利用跳播到目標(biāo)位置的目標(biāo)時(shí)間戳和每個(gè)ts文件的顯示時(shí)間戳,從所述多個(gè)ts文件中查找到所述目標(biāo)時(shí)間戳所屬的ts文件;s303、利用所述n個(gè)m3u8文件中存儲(chǔ)的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽,獲取到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;s304、根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放。本申請(qǐng)實(shí)施例中播放端作為播放視頻文件的方法的執(zhí)行主體,用于根據(jù)用戶(hù)的播放指令,從服務(wù)器端獲取到相應(yīng)的視頻文件,然后對(duì)獲取到的視頻文件執(zhí)行步驟s301至s304。其中,在步驟s301中,播放端獲取到視頻文件之后,解析所述視頻文件,得到所述視頻文件對(duì)應(yīng)的n個(gè)m3u8文件,再通過(guò)解析所述n個(gè)m3u8文件,即可得到所述n個(gè)m3u8文件和其包含的多個(gè)ts文件及每個(gè)ts文件的顯示時(shí)間戳。接下來(lái)執(zhí)行步驟s302,首先獲取跳播到所述目標(biāo)位置的目標(biāo)時(shí)間戳,然后根據(jù)每個(gè)ts文件的顯示時(shí)間戳,從所述多個(gè)ts文件中查找到所述目標(biāo)時(shí)間戳所屬的ts文件,根據(jù)每個(gè)ts文件均包含有初始時(shí)間戳和結(jié)束時(shí)間戳,可以查找到所述目標(biāo)時(shí)間戳位于某個(gè)ts文件的初始時(shí)間戳和結(jié)束時(shí)間戳之間,則確定該ts文件為所述目標(biāo)時(shí)間戳所屬的ts文件。例如,若所述目標(biāo)時(shí)間戳為25s,根據(jù)1.ts、2.ts、3.ts、4.ts、5.ts、6.ts、7.ts和8.ts中每個(gè)ts文件的pts,若1.ts、2.ts和3.ts對(duì)應(yīng)的pts均為10s,則可以確定到3.ts的初始pts是20s和結(jié)束pts是30s,由于20<25<30,則可以確定所述目標(biāo)時(shí)間戳所屬的ts文件為3.ts。接下來(lái)執(zhí)行步驟s303,根據(jù)所述n個(gè)m3u8文件中存儲(chǔ)的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽,如此,可以獲取到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽,然后通過(guò)所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽,查找到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量的目標(biāo)存儲(chǔ)位置,然后從查找到的所述目標(biāo)存儲(chǔ)位置讀取所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量。當(dāng)然,也可以根據(jù)所述n個(gè)m3u8文件中存儲(chǔ)的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽,查找到所述n個(gè)m3u8文件中存儲(chǔ)的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量的存儲(chǔ)位置,然后從查找到每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量的存儲(chǔ)位置中查找到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量的目標(biāo)存儲(chǔ)位置,然后從查找到的所述目標(biāo)存儲(chǔ)位置讀取所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量。例如,同樣以視頻流a為例,通過(guò)所述目標(biāo)時(shí)間戳為24s查找到所屬的ts文件為3.ts,則可以從m1和/或m2中查找到3.ts中的每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽,然后根據(jù)查找到的3.ts中的每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽指示的存儲(chǔ)位置為http://media.example.com/3.ts,則從http://media.example.com/3.ts中讀取3.ts中的每個(gè)關(guān)鍵幀的pts和文件偏移量。接下來(lái)執(zhí)行步驟s304,可以根據(jù)所述目標(biāo)時(shí)間戳,從所述目標(biāo)時(shí)間戳所屬的ts文件的所有關(guān)鍵幀中查找到最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀;根據(jù)所述最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀、所述目標(biāo)時(shí)間戳和每個(gè)關(guān)鍵幀的文件偏移量,查找到與所述目標(biāo)時(shí)間戳最接近的視頻幀作為與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀,然后進(jìn)行播放。例如,同樣以視頻流a為例,通過(guò)所述目標(biāo)時(shí)間戳為24s查找到所屬的ts文件為3.ts,根據(jù)m1和/或m2中存儲(chǔ)的3.ts中的每個(gè)關(guān)鍵幀的pts和文件偏移量對(duì)應(yīng)的標(biāo)簽,查找到標(biāo)簽指示的存儲(chǔ)位置http://media.example.com/3.ts中讀取3.ts中的每個(gè)關(guān)鍵幀的pts和文件偏移量;即獲取到3.ts中第一個(gè)關(guān)鍵幀(23,75);第二個(gè)關(guān)鍵幀(26,150);第三個(gè)關(guān)鍵幀(29,225),從三個(gè)關(guān)鍵幀查找到最近24s的關(guān)鍵幀為第一個(gè)關(guān)鍵幀,根據(jù)上述三個(gè)關(guān)鍵幀的pts和文件偏移量,可以確定3.ts中每秒播放25幀,24與23相隔1s,則可以查找到與24s最接近的視頻幀的pts和文件偏離量為(24,100),則將pts和文件偏離量為(24,100)的視頻幀作為與24s對(duì)應(yīng)的視頻幀,以該pts和文件偏離量為(24,100)的視頻幀為起始點(diǎn)進(jìn)行播放。如此,通過(guò)在m3u8文件中添加每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量的標(biāo)簽,查找到所述目標(biāo)時(shí)間戳所屬ts文件中每個(gè)關(guān)鍵幀的pts和文件偏移量;再?gòu)乃瞿繕?biāo)時(shí)間戳所屬ts文件中每個(gè)關(guān)鍵幀的pts和文件偏移量中查找到與所述目標(biāo)時(shí)間戳最接近的視頻幀作為與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放;其查找到與所述目標(biāo)時(shí)間戳最接近的視頻幀的步驟簡(jiǎn)單,能夠有效確保快速查找到與所述目標(biāo)時(shí)間戳最接近的視頻幀,而且與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀是根據(jù)所述最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀、所述目標(biāo)時(shí)間戳和每個(gè)關(guān)鍵幀的文件偏移量查找到的,能夠大幅提高查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀的精確度,從而實(shí)現(xiàn)了在確保跳播速度的基礎(chǔ)上使得跳播到目標(biāo)位置的準(zhǔn)確度也隨之提高的效果。當(dāng)然,若不需確保跳播的精度而需要更快速的跳播,也可以在查找到最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀作為與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀,然后進(jìn)行播放。在本申請(qǐng)的另一實(shí)施例中,在所述n個(gè)m3u8文件中存儲(chǔ)有所述n個(gè)m3u8文件中包含的每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽時(shí),如圖4所示,所述方法還包括:s401、利用所述n個(gè)m3u8文件中包含的每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽,得到所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件,其中,每個(gè)ts文件對(duì)應(yīng)的dat文件中存儲(chǔ)該ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;具體的,由于通過(guò)步驟s302已查找到了所述目標(biāo)時(shí)間戳所屬的ts文件,則可以從所述n個(gè)m3u8文件中包含的每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽中查找到所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽;然后再根據(jù)查找到所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽,查找到所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件的存儲(chǔ)位置,然后從查找到的存儲(chǔ)位置讀取所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件。例如,同樣以視頻流a為例,通過(guò)所述目標(biāo)時(shí)間戳為24s查找到其所屬的ts文件為3.ts,可以根據(jù)m1和/或m2中存儲(chǔ)的標(biāo)簽中查找到3.ts對(duì)應(yīng)的標(biāo)簽即table3,再根據(jù)table3查找到的3.dat的存儲(chǔ)位置為http://media.example.com/3.dat,則從http://media.example.com/3.dat中讀取3.dat。s402、解析所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件,得到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;具體的,由于每個(gè)ts文件對(duì)應(yīng)的dat文件中存儲(chǔ)有該ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,如此,可以解析所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件,得到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量。例如,同樣以視頻流a為例,通過(guò)所述目標(biāo)時(shí)間戳為24s查找到所屬的ts文件為3.ts,并http://media.example.com/3.dat中讀取3.dat之后,解析3.dat,得到3.ts中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,即得到3.ts中第一個(gè)關(guān)鍵幀(23,75);第二個(gè)關(guān)鍵幀(26,150)和第三個(gè)關(guān)鍵幀(29,225)。s403、根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放。具體的,步驟s403的具體實(shí)施方式具體可以參考s304的實(shí)施方式,為了說(shuō)明書(shū)的簡(jiǎn)潔,在此就不再贅述了。本發(fā)明實(shí)施例中,由于其對(duì)應(yīng)的視頻文件對(duì)應(yīng)的n個(gè)m3u8文件和所述n個(gè)m3u8文件包含的多個(gè)ts文件及每個(gè)ts文件的顯示時(shí)間戳,如此,可以根據(jù)跳播的目標(biāo)時(shí)間戳,快速查找到目標(biāo)時(shí)間戳所屬ts文件中每個(gè)關(guān)鍵幀的pts和文件偏移量,然后根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放,如此,其查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻的步驟簡(jiǎn)單,能夠有效確??焖俨檎业脚c所述目標(biāo)時(shí)間戳最接近的視頻幀,而且根據(jù)所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量查到的與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀的準(zhǔn)確度得以大幅度提高,從而實(shí)現(xiàn)了在確保跳播速度的基礎(chǔ)上使得跳播到目標(biāo)位置的準(zhǔn)確度也隨之提高的效果。實(shí)施例三:基于與第一方面相同的技術(shù)構(gòu)思,本發(fā)明第三方面提供了一種服務(wù)器,包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:將視頻流分成多個(gè)ts文件,獲取每個(gè)ts文件中的所有關(guān)鍵幀,并記錄每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;根據(jù)所述多個(gè)ts文件的分片序列,生成用于描述所述分片序列的n個(gè)m3u8文件,并將每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中,其中,n為不小于1的整數(shù)。較佳的,所述程序被處理器執(zhí)行時(shí)在記錄每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量之后,還實(shí)現(xiàn)以下步驟:根據(jù)記錄的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,生成每個(gè)ts文件對(duì)應(yīng)的dat文件;將每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽添加到所述n個(gè)m3u8文件中。較佳的,所述程序被處理器執(zhí)行時(shí)每個(gè)ts文件對(duì)應(yīng)的dat文件中每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量組成一個(gè)二元組。實(shí)施例四:基于與第二方面相同的技術(shù)構(gòu)思,本發(fā)明第四方面提供了一種終端,其特征在于,包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:解析獲取到的視頻文件,得到所述視頻文件對(duì)應(yīng)的n個(gè)m3u8文件和所述n個(gè)m3u8文件包含的多個(gè)ts文件及每個(gè)ts文件的顯示時(shí)間戳,其中,n為不小于1的整數(shù);利用跳播到目標(biāo)位置的目標(biāo)時(shí)間戳和每個(gè)ts文件的顯示時(shí)間戳,從所述多個(gè)ts文件中查找到所述目標(biāo)時(shí)間戳所屬的ts文件;利用所述n個(gè)m3u8文件中存儲(chǔ)的每個(gè)ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量對(duì)應(yīng)的標(biāo)簽,獲取到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放。較佳的,所述程序被處理器執(zhí)行時(shí)在所述n個(gè)m3u8文件中存儲(chǔ)有所述n個(gè)m3u8文件中包含的每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽時(shí),還實(shí)現(xiàn)以下步驟:利用所述n個(gè)m3u8文件中包含的每個(gè)ts文件對(duì)應(yīng)的dat文件對(duì)應(yīng)的標(biāo)簽,得到所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件,其中,每個(gè)ts文件對(duì)應(yīng)的dat文件中存儲(chǔ)該ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;解析所述目標(biāo)時(shí)間戳所屬的ts文件對(duì)應(yīng)的dat文件,得到所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量;根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放。較佳的,所述程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn)以下步驟:根據(jù)所述目標(biāo)時(shí)間戳,從所述目標(biāo)時(shí)間戳所屬的ts文件的所有關(guān)鍵幀中查找到最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀;根據(jù)所述最接近所述目標(biāo)時(shí)間戳的關(guān)鍵幀、所述目標(biāo)時(shí)間戳和每個(gè)關(guān)鍵幀的文件偏移量,查找到與所述目標(biāo)時(shí)間戳最接近的視頻幀作為與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀。本發(fā)明實(shí)施例中,由于其對(duì)應(yīng)的視頻文件對(duì)應(yīng)的n個(gè)m3u8文件和所述n個(gè)m3u8文件包含的多個(gè)ts文件及每個(gè)ts文件的顯示時(shí)間戳,如此,可以根據(jù)跳播的目標(biāo)時(shí)間戳,快速查找到目標(biāo)時(shí)間戳所屬ts文件中每個(gè)關(guān)鍵幀的pts和文件偏移量,然后根據(jù)所述目標(biāo)時(shí)間戳和所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量,從所述目標(biāo)時(shí)間戳所屬的ts文件中查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀并進(jìn)行播放,如此,其查找到與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻的步驟簡(jiǎn)單,能夠有效確保快速查找到與所述目標(biāo)時(shí)間戳最接近的視頻幀,而且根據(jù)所述目標(biāo)時(shí)間戳所屬的ts文件中的每個(gè)關(guān)鍵幀的顯示時(shí)間戳和文件偏移量查到的與所述目標(biāo)時(shí)間戳對(duì)應(yīng)的視頻幀的準(zhǔn)確度得以大幅度提高,從而實(shí)現(xiàn)了在確保跳播速度的基礎(chǔ)上使得跳播到目標(biāo)位置的準(zhǔn)確度也隨之提高的效果。本說(shuō)明書(shū)中公開(kāi)的所有特征,或公開(kāi)的所有方法或過(guò)程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。本說(shuō)明書(shū)(包括任何附加權(quán)利要求、摘要和附圖)中公開(kāi)的任一特征,除非特別敘述,均可被其他等效或具有類(lèi)似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類(lèi)似特征中的一個(gè)例子而已。本發(fā)明并不局限于前述的具體實(shí)施方式。本發(fā)明擴(kuò)展到任何在本說(shuō)明書(shū)中披露的新特征或任何新的組合,以及披露的任一新的方法或過(guò)程的步驟或任何新的組合。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1