一種獲取切片文件和生成子m3u8文件的方法、節(jié)點(diǎn)及服務(wù)器的制造方法
【專利說明】一種獲取切片文件和生成子m3u8文件的方法、節(jié)點(diǎn)及服務(wù)
□ □
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種獲取切片文件和生成子m3u8文件的方法、節(jié)點(diǎn)及服務(wù)器。
【背景技術(shù)】
[0002]流媒體網(wǎng)絡(luò)傳輸(HLS,HTTP Live Streaming)協(xié)議是基于超文本傳輸協(xié)議的流媒體傳輸協(xié)議,HLS協(xié)議的特點(diǎn)是將視頻文件進(jìn)行切片存儲(chǔ),并生成媒體數(shù)據(jù)的索引m3u8文件以及媒體數(shù)據(jù)的切片文件。其中m3u8文件用于將視頻文件以播放列表的形式組織在一起以供多媒體播放器下載播放。m3u8文件包括主m3u8文件以及子m3u8文件,子m3u8文件用于描述切片文件的文件名稱等文件信息,而主m3u8文件則用于描述子m3u8文件的統(tǒng)一資源定位符(URL,Uniform Resource Locator)。切片文件可保存在對(duì)等(P2P,Peer toPeer)網(wǎng)絡(luò)節(jié)點(diǎn)或者內(nèi)容分發(fā)網(wǎng)絡(luò)(Q)N,Content Delivery Network)中,而m3u8文件則存儲(chǔ)在CDN服務(wù)器中。P2P網(wǎng)絡(luò)是一種新的通信模式,每個(gè)節(jié)點(diǎn)之間可以直接通信、共享資源以及協(xié)同工作。CDN第一種新型網(wǎng)絡(luò)內(nèi)容服務(wù)體系,其基于內(nèi)容訪問與應(yīng)用的效率要求等為各個(gè)節(jié)點(diǎn)提供內(nèi)容的分發(fā)。
[0003]現(xiàn)有技術(shù)中客戶端先向⑶N服務(wù)器獲取視頻文件的主m3u8文件,然后根據(jù)主m3u8文件向CDN服務(wù)器獲取到指定的子m3u8文件后,得到視頻文件的切片文件的文件名稱,再向P2P網(wǎng)絡(luò)的索引服務(wù)器獲取包括該切片文件的P2P節(jié)點(diǎn)的列表。若該切片文件的節(jié)點(diǎn)的列表不包括任何P2P節(jié)點(diǎn)的信息,則客戶端向CDN服務(wù)器下載切片文件,若該切片文件的節(jié)點(diǎn)的列表包括了至少一個(gè)P2P節(jié)點(diǎn)的信息,說明這些P2P節(jié)點(diǎn)包含該切片文件,則客戶端向P2P節(jié)點(diǎn)下載該切片文件。
[0004]然而,由于一個(gè)視頻文件通常被切分為多個(gè)切片文件,因此當(dāng)客戶端需要下載該視頻文件時(shí),需要依次向索引服務(wù)器獲取包括各個(gè)切片文件的P2P節(jié)點(diǎn)的列表,其向索引服務(wù)器發(fā)出的請(qǐng)求過于頻繁,從而延長(zhǎng)了請(qǐng)求下載視頻文件的時(shí)間,降低了下載視頻文件速度。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種獲取切片文件的方法、節(jié)點(diǎn)及服務(wù)器,可節(jié)省請(qǐng)求下載視頻文件的時(shí)間,提高了下載視頻文件速度。
[0006]本發(fā)明第一方面提供一種獲取切片文件的方法,包括:
[0007]接收視頻文件的點(diǎn)播請(qǐng)求;
[0008]根據(jù)所述點(diǎn)播請(qǐng)求向⑶N服務(wù)器獲取所述視頻文件的主m3u8文件,所述主m3u8文件包括不同碼率的子m3u8文件的文件信息,每個(gè)子m3u8文件包括所述視頻文件的切片文件的標(biāo)識(shí)信息;
[0009]根據(jù)選取的碼率確定對(duì)應(yīng)的子m3u8文件;
[0010]根據(jù)確定的子m3u8文件的文件信息向所述CDN服務(wù)器獲取所述確定的子m3u8文件;
[0011]若所述確定的子m3u8文件還包括存儲(chǔ)所述切片文件的客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,則根據(jù)所述切片文件的標(biāo)識(shí)信息向所述客戶端節(jié)點(diǎn)獲取所述切片文件。
[0012]結(jié)合本發(fā)明第一方面的實(shí)現(xiàn)方式,在本發(fā)明第一方面的第一種可能的實(shí)現(xiàn)方式中,所述若所述確定的子m3u8文件還包括存儲(chǔ)所述切片文件的客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,貝Ij根據(jù)所述切片文件的標(biāo)識(shí)信息向所述客戶端節(jié)點(diǎn)獲取所述切片文件,具體包括:
[0013]若所述確定的子m3u8文件還包括存儲(chǔ)所述切片文件的至少一個(gè)客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,則根據(jù)所述切片文件的標(biāo)識(shí)信息向各個(gè)客戶端節(jié)點(diǎn)分別獲取所述切片文件;
[0014]或者,
[0015]若所述確定的子m3u8文件還包括存儲(chǔ)所述切片文件的至少一個(gè)客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,其中每個(gè)客戶端節(jié)點(diǎn)還存儲(chǔ)所述切片文件的子切片文件,則根據(jù)所述切片文件的標(biāo)識(shí)信息向各個(gè)客戶端節(jié)點(diǎn)獲取所述切片文件的子切片文件。
[0016]結(jié)合本發(fā)明第一方面的實(shí)現(xiàn)方式,在本發(fā)明第一方面的第二種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0017]若所述確定的子m3u8文件沒有包括所述存儲(chǔ)所述切片文件的客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,則根據(jù)所述切片文件的標(biāo)識(shí)信息向所述CDN服務(wù)器獲取所述切片文件。
[0018]本發(fā)明第二方面提供一種生成子m3u8文件的方法,包括:
[0019]⑶N服務(wù)器根據(jù)客戶端發(fā)送的請(qǐng)求,向所述客戶端發(fā)送視頻文件的主m3u8文件,所述主m3u8文件包括不同碼率的子m3u8文件的文件信息,每個(gè)子m3u8文件包括所述視頻文件的切片文件的標(biāo)識(shí)信息;
[0020]所述CDN服務(wù)器接收所述客戶端根據(jù)選取的碼率對(duì)應(yīng)的所述子m3u8文件的文件信息發(fā)送的請(qǐng)求;
[0021]若所述CDN服務(wù)器查找到存儲(chǔ)所述視頻文件的切片文件的客戶端節(jié)點(diǎn),則所述CDN服務(wù)器根據(jù)所述客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息以及所述切片文件的標(biāo)識(shí)信息生成所述子m3u8文件;
[0022]所述⑶N服務(wù)器向所述客戶端發(fā)送生成的子m3u8文件,以使所述客戶端根據(jù)所述切片文件的標(biāo)識(shí)信息向所述客戶端節(jié)點(diǎn)獲取所述切片文件。
[0023]結(jié)合本發(fā)明第二方面的實(shí)現(xiàn)方式,在本發(fā)明第二方面的第一種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0024]若所述CDN服務(wù)器沒有查找到存儲(chǔ)所述視頻文件的切片文件的客戶端節(jié)點(diǎn),則所述CDN服務(wù)器根據(jù)所述切片文件的標(biāo)識(shí)信息生成所述子m3u8文件;
[0025]所述CDN服務(wù)器向所述客戶端發(fā)送生成的子m3u8文件,以使所述客戶端根據(jù)所述切片文件的標(biāo)識(shí)信息向所述CDN服務(wù)器獲取所述切片文件。
[0026]本發(fā)明第三方面提供一種節(jié)點(diǎn),包括:
[0027]第一獲取模塊,用于接收視頻文件的點(diǎn)播請(qǐng)求,根據(jù)所述請(qǐng)求向CDN服務(wù)器獲取所述視頻文件的主m3u8文件,所述主m3u8文件包括不同碼率的子m3u8文件的文件信息,每個(gè)子m3u8文件包括所述視頻文件的切片文件的標(biāo)識(shí)信息;
[0028]確定模塊,用于根據(jù)選取的碼率確定對(duì)應(yīng)的子m3u8文件;
[0029]第二獲取模塊,用于根據(jù)所述確定模塊確定的子m3u8文件的文件信息向所述CDN服務(wù)器獲取所述確定的子m3u8文件;
[0030]第三獲取模塊,用于若所述確定模塊確定的子m3u8文件還包括存儲(chǔ)所述切片文件的客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,則所述客戶端節(jié)點(diǎn)根據(jù)所述切片文件的標(biāo)識(shí)信息向所述客戶端節(jié)點(diǎn)獲取所述切片文件。
[0031]結(jié)合本發(fā)明第三方面的實(shí)現(xiàn)方式,在本發(fā)明第三方面的第一種可能的實(shí)現(xiàn)方式中,所述第三獲取模塊具體用于:
[0032]若所述確定模塊確定的子m3u8文件還包括存儲(chǔ)所述切片文件的至少一個(gè)客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,則所述第三獲取模塊根據(jù)所述切片文件的標(biāo)識(shí)信息向各個(gè)客戶端節(jié)點(diǎn)分別獲取所述切片文件;
[0033]或者,
[0034]若所述確定模塊確定的子m3u8文件還包括存儲(chǔ)所述切片文件的至少一個(gè)客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,其中每個(gè)客戶端節(jié)點(diǎn)還存儲(chǔ)所述切片文件的子切片文件,則所述第三獲取模塊根據(jù)所述切片文件的標(biāo)識(shí)信息向各個(gè)客戶端節(jié)點(diǎn)獲取所述切片文件的子切片文件。
[0035]結(jié)合本發(fā)明第三方面的實(shí)現(xiàn)方式,在本發(fā)明第三方面的第二種可能的實(shí)現(xiàn)方式中,所述第三獲取模塊還用于若所述確定模塊確定的子m3u8文件沒有包括所述存儲(chǔ)所述切片文件的客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,則所述第三獲取模塊根據(jù)所述切片文件的標(biāo)識(shí)信息向所述CDN服務(wù)器獲取所述切片文件。
[0036]本發(fā)明第四方面提供一種服務(wù)器,包括:
[0037]第一發(fā)送模塊,用于根據(jù)客戶端發(fā)送的請(qǐng)求,向所述客戶端發(fā)送視頻文件的主m3u8文件,所述主m3u8文件包括不同碼率的子m3u8文件的文件信息,每個(gè)子m3u8文件包括所述視頻文件的切片文件的標(biāo)識(shí)信息;
[0038]接收模塊,用于接收所述客戶端根據(jù)選取的碼率對(duì)應(yīng)的所述子m3u8文件的文件信息發(fā)送的請(qǐng)求;
[0039]生成模塊,用于若根據(jù)所述接收模塊接收的請(qǐng)求查找到存儲(chǔ)所述視頻文件的切片文件的客戶端節(jié)點(diǎn),則根據(jù)所述客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息以及所述切片文件的標(biāo)識(shí)信息生成所述子m3u8文件;
[0040]第二發(fā)送模塊,用于向所述客戶端發(fā)送所述生成模塊生成的子m3u8文件,以使所述客戶端根據(jù)所述切片文件的標(biāo)識(shí)信息向所述客戶端節(jié)點(diǎn)獲取所述切片文件。
[0041]結(jié)合本發(fā)明第四方面的實(shí)現(xiàn)方式,在本發(fā)明第四方面的第一種可能的實(shí)現(xiàn)方式中,所述生成模塊,還用于若沒有查找到存儲(chǔ)所述視頻文件的切片文件的客戶端節(jié)點(diǎn),則根據(jù)所述切片文件的標(biāo)識(shí)信息生成所述子m3u8文件;
[0042]所述第二發(fā)送模塊,還用于向所述客戶端發(fā)送所述生成模塊生成的子m3u8文件,以使所述客戶端根據(jù)所述切片文件的標(biāo)識(shí)信息向所述服務(wù)器獲取所述切片文件。
[0043]采用本發(fā)明,接收視頻文件的點(diǎn)播請(qǐng)求,根據(jù)點(diǎn)播請(qǐng)求向CDN服務(wù)器獲取視頻文件的主m3u8文件,主m3u8文件包括不同碼率的子m3u8文件的文件信息,每個(gè)子m3u8文件包括視頻文件的切片文件的標(biāo)識(shí)信息;根據(jù)選取的碼率確定對(duì)應(yīng)的子m3u8文件,根據(jù)確定的子m3u8文件的文件信息向CDN服務(wù)器獲取確定的子m3u8文件,若確定的子m3u8文件還包括存儲(chǔ)切片文件的客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息,則根據(jù)切片文件的標(biāo)識(shí)信息向客戶端節(jié)點(diǎn)獲取切片文件,可在客戶端獲取到子m3u8文件時(shí)即可得知存儲(chǔ)切片文件的客戶端節(jié)點(diǎn),再直接向存儲(chǔ)切片文件的客戶端節(jié)點(diǎn)獲取切片文件,從而減少客戶端向索引服務(wù)器請(qǐng)求獲取存儲(chǔ)切片文件的客戶端節(jié)點(diǎn)的標(biāo)識(shí)信息的流程,節(jié)省請(qǐng)求下載視頻文件的時(shí)間,提高了下載視頻文件速度。
【附圖