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

視頻處理方法及裝置與流程

文檔序號:12810212閱讀:394來源:國知局
視頻處理方法及裝置與流程

本申請涉及多媒體技術(shù)領(lǐng)域,尤其涉及視頻處理方法及裝置。



背景技術(shù):

視頻(video)泛指將一系列靜態(tài)影像以電信號的方式加以捕捉、紀(jì)錄、處理、儲存、傳送與重現(xiàn)的各種技術(shù)。連續(xù)的圖像變化每秒超過24幀(frame)畫面以上時,根據(jù)視覺暫留原理,人眼無法辨別單幅的靜態(tài)畫面;看上去是平滑連續(xù)的視覺效果,這樣連續(xù)的畫面叫做視頻。視頻技術(shù)最早是為了電視系統(tǒng)而發(fā)展,但現(xiàn)在已經(jīng)發(fā)展為各種不同的格式以便消費者將視頻記錄下來。網(wǎng)絡(luò)技術(shù)的發(fā)展也促使視頻的紀(jì)錄片段以流媒體的形式存在于因特網(wǎng)之上并可被電腦或智能移動終端接收與播放。



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

本申請實施例提供視頻處理方法和裝置以提高視頻播放的效率,減少資源的消耗。

本申請一實施例提供一種視頻處理方法,包括:

從視頻客戶端接收包括多個視頻的標(biāo)識信息的視頻播放請求;

根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件,其中,每一視頻的第一播放索引文件包括:所述視頻所包括的播放文件的地址;

根據(jù)所述多個視頻的第一播放索引文件生成至少一個第二播放索引文件,并將生成的所述第二播放索引文件發(fā)送給所述視頻客戶端,以使所述視頻客戶端根據(jù)所述第二播放索引文件包括的播放文件的地址獲取所述播放文件并進行播放;所述至少一個第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址。

在本申請一實施例中,所述視頻的標(biāo)識信息包括:所述視頻的視頻標(biāo)識符id;

根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件包括:

根據(jù)預(yù)存的視頻id和播放索引文件之間的對應(yīng)關(guān)系,根據(jù)所述多個視頻的視頻id獲取其各自對應(yīng)的所述第一播放索引文件。

在本申請一實施例中,所述視頻播放請求進一步包括:指示以拼接方式播放所述多個視頻的信息;

當(dāng)確定所述視頻播放請求包括所述指示以拼接方式播放所述多個視頻的信息時,執(zhí)行所述根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件的處理。

在本申請一實施例中,所述播放文件的地址包括:片頭文件的地址,片尾文件的地址和劇集文件的地址;

根據(jù)所述多個視頻的第一播放索引文件生成至少一個第二播放索引文件包括:

從所述多個視頻各自的第一播放索引文件中獲取每一視頻的劇集文件的地址;

生成包含所述多個視頻的劇集文件的地址的所述第二播放索引文件。

在本申請一實施例中,所述視頻播放請求進一步包括:視頻播放順序指令,

根據(jù)所述多個視頻的第一播放索引文件生成至少一個第二播放索引文件包括:

按照所述視頻播放順序指令設(shè)置所述至少一個第二播放索引文件中所述視頻的播放文件的地址的順序。

在本申請一實施例中,該方法進一步包括:將其中任一個第二播放索引文件分割成多個播放索引子文件,并在最后一個播放索引子文件中設(shè)置索引文件結(jié)束標(biāo)識符;所述多個播放索引子文件包括:所述被分割的第二播放索引文件中包括的播放文件的地址;

將生成的所述第二播放索引文件發(fā)送給所述視頻客戶端包括:

發(fā)送一個播放索引子文件給所述視頻客戶端,在接收到所述視頻客戶端因未讀取到所述索引文件結(jié)束標(biāo)識符而發(fā)送的后續(xù)播放索引子文件獲取請求時,將后一個播放索引子文件發(fā)送給所述視頻客戶端,直到將所有的播放索引子文件已發(fā)送給所述視頻客戶端。

在本申請一實施例中,根據(jù)所述多個視頻的第一播放索引文件生成多個第二播放索引文件,并將生成的所述第二播放索引文件發(fā)送給所述視頻客戶端包括:

反復(fù)執(zhí)行從所述多個視頻的第一播放索引文件包括的播放文件的地址中讀取其中一部分播放文件的地址,生成包括所述讀取的播放文件的地址的第二播放索引文件并發(fā)送給所述視頻客戶端的操作,直到所述多個視頻的第一播放索引文件包括的播放文件的地址均已被讀取。

本申請實施例提供一種視頻處理方法,包括:

響應(yīng)于用戶對播放界面上多個視頻的選擇,生成包括所述多個視頻的標(biāo)識信息的視頻播放請求;

將所述視頻播放請求發(fā)送給視頻處理服務(wù)器;其中,所述視頻處理服務(wù)器根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件,根據(jù)所述多個視頻的第一播放索引文件生成至少一個第二播放索引文件,每一視頻的第一播放索引文件包括:所述視頻所包括的播放文件的地址,所述至少一個第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址;

從所述視頻處理服務(wù)器接收所述至少一個第二播放索引文件;

根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放。

在本申請一實施例中,所述視頻播放請求進一步包括:指示以拼接方式播放所述多個視頻的信息,以使所述視頻處理服務(wù)器獲取并根據(jù)所述多個視頻的第一播放索引文件生成所述至少一個第二播放索引文件。

在本申請一實施例中,根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放包括:

順序讀取所述第二播放索引文件中每個視頻的播放文件的地址;

根據(jù)所述每個視頻的播放文件的地址依次緩存并連續(xù)播放所述播放文件。

在本申請一實施例中,所述視頻處理服務(wù)器將所述任一個第二播放索引文件分割成多個播放索引子文件,并在最后一個播放索引子文件中設(shè)置索引文件結(jié)束標(biāo)識符;

從所述視頻處理服務(wù)器接收所述至少一個第二播放索引文件,根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放包括:

從所述視頻處理服務(wù)器接收一個播放索引子文件,根據(jù)所述接收到的播放索引子文件中包括的播放文件的地址依次獲取播放文件并進行播放,在沒有讀取到所述索引文件結(jié)束標(biāo)識符時,向所述視頻處理服務(wù)器發(fā)送后續(xù)播放索引子文件獲取請求以請求獲取后續(xù)的播放索引子文件,并在讀取到所述索引文件結(jié)束標(biāo)識符并播放完獲取到的所有播放文件后結(jié)束本流程。

在本申請一實施例中,從所述視頻處理服務(wù)器接收所述多個第二播放索引文件,根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放包括:其中,所述多個第二播放索引文件中的最后一個包括:索引文件結(jié)束標(biāo)識符;

反復(fù)執(zhí)行從所述視頻處理服務(wù)器獲取第二播放索引文件,所述獲取到的第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址中的部分播放文件的地址,并根據(jù)所述部分播放文件的地址獲取對應(yīng)的播放文件并進行播放的操作,直到讀取到所述索引文件結(jié)束標(biāo)識符,并在播放完獲取的所有播放文件后結(jié)束本流程。

本申請實施例提供一種視頻處理服務(wù)器,包括:

接收模塊,用于從視頻客戶端接收包括多個視頻的標(biāo)識信息的視頻播放請求;

播放索引文件獲取模塊,用于根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件,其中,每一視頻的第一播放索引文件包括:所述視頻所包括的播放文件的地址;

播放索引文件生成模塊,用于根據(jù)所述多個視頻的第一播放索引文件生成至少一個第二播放索引文件,所述至少一個第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址;

發(fā)送模塊,用于將生成的所述第二播放索引文件發(fā)送給所述視頻客戶端,以使所述視頻客戶端根據(jù)所述第二播放索引文件包括的播放文件的地址獲取所述播放文件并進行播放。

在本申請一實施例中,所述視頻的標(biāo)識信息包括:所述視頻的視頻標(biāo)識符id;

所述播放索引文件獲取模塊,進一步用于根據(jù)預(yù)存的視頻id和播放索引文件之間的對應(yīng)關(guān)系,根據(jù)所述多個視頻的視頻id獲取其各自對應(yīng)的所述第一播放索引文件。

在本申請一實施例中,所述視頻播放請求進一步包括:指示以拼接方式播放所述多個視頻的信息;

所述播放索引文件獲取模塊,進一步用于當(dāng)確定所述視頻播放請求包括所述指示以拼接方式播放所述多個視頻的信息時,執(zhí)行所述根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件的處理。

在本申請一實施例中,所述播放文件的地址包括:片頭文件的地址,片尾文件的地址和劇集文件的地址;

所述播放索引文件生成模塊,進一步用于從所述多個視頻各自的第一播放索引文件中獲取每一視頻的劇集文件的地址,生成包含所述多個視頻的劇集文件的地址的所述第二播放索引文件。

在本申請一實施例中,所述視頻播放請求進一步包括:視頻播放順序指令;

所述播放索引文件生成模塊,進一步用于按照所述視頻播放順序指令設(shè)置所述至少一個第二播放索引文件中所述視頻的播放文件的地址的順序。

在本申請一實施例中,該服務(wù)器進一步包括:

分割模塊,用于將所述任一個第二播放索引文件分割成多個播放索引子文件,并在最后一個播放索引子文件中設(shè)置索引文件結(jié)束標(biāo)識符;所述多個播放索引子文件包括:所述被分割的第二播放索引文件中包括的播放文件的地址;

所述發(fā)送模塊,進一步用于發(fā)送一個播放索引子文件給所述視頻客戶端,在接收到所述視頻客戶端因未讀取到所述索引文件結(jié)束標(biāo)識符而發(fā)送的后續(xù)播放索引子文件獲取請求時,將后一個播放索引子文件發(fā)送給所述視頻客戶端,直到將所有的播放索引子文件發(fā)送給所述視頻客戶端。

在本申請一實施例中,所述播放索引文件生成模塊,進一步用于反復(fù)執(zhí)行從所述多個視頻的第一播放索引文件包括的播放文件的地址中讀取其中一部分播放文件的地址,生成包括所述讀取的播放文件的地址的第二播放索引文件,并通過所述發(fā)送模塊發(fā)送給所述視頻客戶端的操作;直到所述多個視頻的第一播放索引文件包括的播放文件的地址均已被讀取。

本申請實施例提供一種視頻客戶端,包括:

視頻播放請求生成模塊,用于響應(yīng)于用戶對播放界面上多個視頻的選擇,生成包括所述多個視頻的標(biāo)識信息的視頻播放請求;

發(fā)送模塊,用于將所述視頻播放請求發(fā)送給視頻處理服務(wù)器;其中,所述視頻處理服務(wù)器根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件,根據(jù)所述多個視頻的第一播放索引文件生成至少一個第二播放索引文件,每一視頻的第一播放索引文件包括:所述視頻所包括的播放文件的地址,所述至少一個第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址;

播放索引文件接收模塊,用于從所述視頻處理服務(wù)器接收所述至少一個第二播放索引文件;

視頻獲取及播放模塊,用于根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放。

在本申請一實施例中,所述視頻播放請求進一步包括:指示以拼接方式播放所述多個視頻的信息,以使所述視頻處理服務(wù)器獲取并根據(jù)所述多個視頻的第一播放索引文件生成所述至少一個第二播放索引文件。

在本申請一實施例中,所述視頻獲取及播放模塊,進一步用于順序讀取所述第二播放索引文件中每個視頻的播放文件的地址,根據(jù)所述每個視頻的播放文件的地址依次緩存并連續(xù)播放所述播放文件。

在本申請一實施例中,所述視頻處理服務(wù)器將所述任一個第二播放索引文件分割成多個播放索引子文件,并在最后一個播放索引子文件中設(shè)置索引文件結(jié)束標(biāo)識符;

所述播放索引文件接收模塊,進一步用于從所述視頻處理服務(wù)器接收一個播放索引子文件,指令所述視頻獲取及播放模塊根據(jù)所述接收到的播放索引子文件中包括的播放文件的地址依次獲取播放文件并進行播放,在沒有讀取到所述索引文件結(jié)束標(biāo)識符時,向所述視頻處理服務(wù)器發(fā)送后續(xù)播放索引子文件獲取請求以請求獲取后續(xù)的播放索引子文件,并在讀取到所述索引文件結(jié)束標(biāo)識符,停止向所述視頻處理服務(wù)器發(fā)送所述后續(xù)播放索引子文件獲取請求。

在本申請一實施例中,所述多個第二播放索引文件中的最后一個包括:索引文件結(jié)束標(biāo)識符;

所述播放索引文件接收模塊,進一步用于反復(fù)執(zhí)行從所述視頻處理服務(wù)器獲取第二播放索引文件,所述獲取到的第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址中的部分播放文件的地址,指令所述視頻獲取及播放模塊根據(jù)所述部分播放文件的地址獲取對應(yīng)的播放文件并進行播放,直到讀取到所述索引文件結(jié)束標(biāo)識符。

在本申請實施例中,在收到的一個視頻播放請求中攜帶多個視頻的標(biāo)識信息,根據(jù)多個視頻的標(biāo)識信息獲取多個視頻各自的第一播放索引文件,每一視頻的第一播放索引文件包括該視頻所包括的播放文件的地址。生成至少一個包括多個視頻中每個視頻的所有或部分播放文件的地址的第二播放索引文件,將該生成的第二播放索引文件發(fā)送給該視頻客戶端,以使該視頻客戶端根據(jù)所述第二播放索引文件包括的播放文件的地址獲取所述播放文件并進行播放。根據(jù)本申請的技術(shù)方案,可以通過視頻客戶端發(fā)送的一次視頻播放請求獲取多個視頻的標(biāo)識信息,生成包含這多個視頻的播放文件的地址的第二播放索引文件并發(fā)送給視頻客戶端,以使視頻客戶端根據(jù)該第二播放索引文件中包括的播放文件的地址順序獲取并進行播放,因此可以減少視頻客戶端為獲取多個視頻的對應(yīng)的播放文件的地址而與服務(wù)器側(cè)進行的交互次數(shù),提高視頻播放的效率,減少因交互而造成的資源的消耗。

附圖說明

為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本申請各實施例涉及的一種實施環(huán)境的結(jié)構(gòu)示意圖;

圖2為本申請實施例的一種視頻處理方法的流程示意圖;

圖3為本申請實施例的一種視頻處理方法的流程示意圖;

圖4為本申請實施例提供的一種視頻處理方法的流程示意圖;

圖5為用戶對視頻客戶端的播放界面上的多個視頻進行選擇的示意圖;

圖6為本申請實施例提供的一種視頻處理服務(wù)器的結(jié)構(gòu)示意圖;

圖7為本申請實施例提供的一種視頻客戶端的結(jié)構(gòu)示意圖;

圖8為本申請實施例提供的一種視頻處理服務(wù)器的結(jié)構(gòu)示意圖;

圖9為本申請實施例提供的一種視頻客戶端的結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。

在本申請一實施例中,在終端設(shè)備,例如電視、手機、pc、pad等響應(yīng)用戶請求播放視頻的過程中,終端設(shè)備接收用戶對第一視頻的點擊請求,生成攜帶該第一視頻標(biāo)識符(id)的第一視頻請求,將該第一視頻請求發(fā)送給視頻處理服務(wù)器。該視頻處理服務(wù)器從該第一視頻請求中獲取該第一視頻id,根據(jù)第一視頻id查找到對應(yīng)的第一視頻播放索引文件,并將該第一視頻播放索引文件發(fā)送給該終端設(shè)備。在接收到該第一視頻播放索引文件后,該終端設(shè)備根據(jù)該第一視頻播放索引文件中的第一視頻播放文件的地址獲取第一視頻播放文件,運行播放器,執(zhí)行播放進程,并播放該第一視頻播放文件,在播放完該第一視頻播放文件后,該視頻播放器結(jié)束對第一視頻文件的播放,并結(jié)束該播放進程。當(dāng)用戶在觀看完該終端播放的該第一視頻播放文件后,在終端設(shè)備展示的播放界面點擊第二視頻,該終端設(shè)備響應(yīng)于用戶對該第二視頻的點擊請求生成攜帶該第二視頻id的第二視頻請求,將該第二視頻請求發(fā)送給該視頻處理服務(wù)器。該視頻處理服務(wù)器從該第二視頻請求中獲取該第二視頻id,根據(jù)該第二視頻id查找到對應(yīng)的第二視頻播放索引文件,并將該第二視頻播放索引文件發(fā)送給該終端設(shè)備。在接收到該第二視頻播放索引文件后,運行該播放器,啟動播放進程,根據(jù)該第二視頻播放索引文件中的第二視頻播放文件的地址獲取并播放該第二視頻播放文件,在播放完該第二視頻播放文件后,關(guān)閉該播放進程,并關(guān)閉該視頻播放器。

由上述視頻播放過程可見,如果用戶需要觀看多個視頻,終端設(shè)備需要多次響應(yīng)用戶的點擊請求,并多次與視頻處理服務(wù)器進行交互以從視頻處理服務(wù)器獲取對應(yīng)的視頻播放索引文件,以便根據(jù)獲取到的視頻播放索引文件獲取對應(yīng)的視頻播放文件。因此,在上述播放過程中,終端設(shè)備與視頻處理服務(wù)器之間的多次交互會占用大量的系統(tǒng)資源與系統(tǒng)時間,造成資源的消耗,降低視頻的播放效率。

圖1為本申請各實施例涉及的一種實施環(huán)境的結(jié)構(gòu)示意圖。如圖1所示,該實施環(huán)境包括:終端設(shè)備101、視頻處理服務(wù)器102和視頻提供服務(wù)器103。

該終端設(shè)備101可以為pc、筆記本電腦、手機、平板電腦或智能電視等。

該視頻處理服務(wù)器102可以是一臺服務(wù)器,或者由若干臺服務(wù)器組成的服務(wù)器集群,或者是一個云計算服務(wù)中心。

該視頻提供服務(wù)器103可以是一臺服務(wù)器,或者由若干臺服務(wù)器組成的服務(wù)器集群,或者是一個云計算服務(wù)中心。在本申請一實施例中,該視頻處理服務(wù)器102和視頻提供服務(wù)器103可以為獨立的服務(wù)器,也可以是同一服務(wù)器。

該終端設(shè)備101可以運行視頻客戶端,通過運行的視頻客戶端與視頻處理服務(wù)器102進行交互,獲取包含多個視頻中每個視頻的所有或部分播放文件的地址的播放索引文件,根據(jù)播放文件的地址從該視頻提供服務(wù)器103獲取播放文件并在該視頻客戶端中進行播放。

為了提高視頻播放的效率,減少資源的消耗,本申請實施例提供一種視頻處理方法。如圖2所示,圖2為本申請實施例的一種視頻處理方法的流程示意圖。如圖2所示,該方法包括如下步驟。

步驟201,從視頻客戶端接收包括多個視頻的標(biāo)識信息的視頻播放請求。

步驟202,根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件。其中,每一視頻的第一播放索引文件包括:所述視頻所包括的播放文件的地址。

步驟203,根據(jù)所述多個視頻的第一播放索引文件生成一個或多個第二播放索引文件,并將生成的第二播放索引文件發(fā)送給所述視頻客戶端。

在本步驟中,所述一個或多個第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址。所述視頻客戶端根據(jù)所述一個或多個第二播放索引文件包括的播放文件的地址獲取所述播放文件并進行播放。

在本申請實施例中,在收到的一個視頻播放請求中攜帶多個視頻的標(biāo)識信息,根據(jù)多個視頻的標(biāo)識信息獲取多個視頻各自的第一播放索引文件,每一視頻的第一播放索引文件包括該視頻所包括的播放文件的地址。生成一個或多個包括多個視頻中每個視頻的所有或部分播放文件的地址的第二播放索引文件,將該生成的第二播放索引文件發(fā)送給該視頻客戶端,以使該視頻客戶端根據(jù)所述第二播放索引文件包括的播放文件的地址獲取所述播放文件并進行播放。根據(jù)本申請的技術(shù)方案,可以通過視頻客戶端發(fā)送的一次視頻播放請求獲取多個視頻的標(biāo)識信息,生成包含這多個視頻的播放文件的地址的第二播放索引文件并發(fā)送給視頻客戶端,以使視頻客戶端根據(jù)該第二播放索引文件中包括的播放文件的地址順序獲取并進行播放,因此可以減少視頻客戶端為獲取多個視頻的對應(yīng)的播放文件的地址而與服務(wù)器側(cè)進行的交互次數(shù),提高視頻播放的效率,減少因交互而造成的資源的消耗。

在圖2所示的實施例中,該視頻的標(biāo)識信息可以為所述視頻的視頻標(biāo)識符(id)。在收到該多個視頻的視頻id后,根據(jù)預(yù)存的視頻id和播放索引文件之間的對應(yīng)關(guān)系,根據(jù)所述多個視頻的視頻id獲取其各自對應(yīng)的所述第一播放索引文件。

在本申請一實施例中,可以是在判定一個視頻播放請求中包括多個視頻的標(biāo)識信息時確定視頻客戶端以拼接方式播放所述多個視頻,也可以是在從該視頻播放請求獲取到指示以拼接方式播放所述多個視頻的信息時,確定該視頻客戶端以拼接方式播放所述多個視頻。在確定以拼接方式播放所述多個視頻的信息時,根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件。

在本申請一實施例中,一個播放文件的地址可以包括:片頭文件的地址,片尾文件的地址和劇集文件的地址。在生成第二播放索引文件時,可以在生成的播放索引文件中包含每個播放文件的片頭文件的地址,片尾文件的地址以及劇集文件的地址。也可以只包含劇集文件的地址。視頻處理服務(wù)器可以根據(jù)預(yù)先配置選擇生成包含每個播放文件的片頭文件的地址,片尾文件的地址以及劇集文件的地址的第二播放索引文件,也可以選擇生成僅包含每個播放文件的劇集文件的地址的第二播放索引文件。也可以在視頻播放請求中攜帶指示獲取每個播放文件的片頭文件的地址,片尾文件的地址以及劇集文件的地址的信息也可以攜帶指示獲取每個播放文件的劇集文件的地址的信息,視頻處理服務(wù)器根據(jù)從視頻播放請求中獲取的指示信息生成第二播放索引文件。在本申請一實施例中,可以在視頻播放請求中攜帶:指示獲取部分播放文件的片頭文件的地址,片尾文件的地址以及劇集文件的地址的信息,以及指示獲取另外一部分播放文件的部分地址,例如片頭文件的地址,和/或片尾文件的地址,和/或劇集文件的地址的信息。根據(jù)本實施例中的定制包含的播放文件的地址的方式,可以實現(xiàn)不發(fā)送部分播放文件的地址,因此視頻客戶端無需播放根據(jù)這部分地址獲取的視頻,可以減少需要獲取的視頻的量,以及避免為獲取這部分視頻而消耗的系統(tǒng)資源以及網(wǎng)絡(luò)資源。

在本申請一實施例中,可以在視頻播放請求中攜帶視頻播放順序指令,這樣可以根據(jù)該視頻播放順序指令設(shè)置第二播放索引文件中視頻的播放文件的地址的順序。在本申請一實施例中,默認(rèn)是根據(jù)獲取的各視頻的視頻id依次獲取其對應(yīng)的第一播放索引文件,按照獲取到各視頻的第一播放索引文件的順序依次排列所述各第一播放索引文件包括的播放文件的地址在所述第二播放索引文件中的順序。在本實施中,該視頻客戶端可以指定視頻播放順序,這樣視頻處理服務(wù)器就可以不按照上述默認(rèn)方式而是按照該視頻播放順序指令指定的順序設(shè)置各播放文件的地址在第二播放索引文件中的順序。

在本申請一實施例中,視頻處理服務(wù)器可以生成一個第二播放索引文件并在一次傳輸中發(fā)送給視頻客戶端;也可以生成一個第二播放索引文件,并把該第二播放索引文件分割成多個播放索引子文件,并在一次或多次傳輸中將分割成的播放索引子文件發(fā)送給視頻客戶端,每個播放索引子文件包含第二播放索引文件中的一部分播放文件的地址,且分割得到的所有播放索引子文件所包括的播放文件的地址與第二播放索引文件中包括的播放文件的地址相同;也可以是生成多個第二播放索引文件,并在一次或多次傳輸中發(fā)送給該視頻客戶端,且每個第二播放索引文件包含所有視頻的第一播放索引文件中包括的播放文件的地址的一部分地址,生成的所有第二播放索引文件所包括的播放文件的地址與所有視頻的第一播放索引文件中包括的播放文件的地址相同。

當(dāng)視頻處理服務(wù)器將生成的任一個第二播放索引文件分割成多個播放索引子文件,且在最后一個播放索引子文件中設(shè)置索引文件結(jié)束標(biāo)識符時,將生成的所述第二播放索引文件發(fā)送給所述視頻客戶端包括:發(fā)送一個播放索引子文件給所述視頻客戶端,在接收到所述視頻客戶端因未讀取到所述索引文件結(jié)束標(biāo)識符而發(fā)送的后續(xù)播放索引子文件獲取請求時,將后一個播放索引子文件發(fā)送給所述視頻客戶端,直到將所有的播放索引子文件發(fā)送給所述視頻客戶端。根據(jù)該文件分割及發(fā)送方式,可以將先將一部分播放文件的地址通過播放索引子文件發(fā)送給視頻客戶端,這樣視頻客戶端可以在請求后續(xù)播放索引子文件的過程中根據(jù)已收到的播放索引子文件中的播放文件的地址并行緩存和播放視頻內(nèi)容,根據(jù)此并行的方式進行處理,可以優(yōu)化視頻的播放效率。此外,通過這種文件分割及發(fā)送方式,可以避免因一次傳輸失敗而導(dǎo)致重傳所有的播放文件的地址,避免造成浪費。

當(dāng)視頻處理服務(wù)器生成多個第二播放索引文件,且在最后一個第二播放索引文件中設(shè)置索引文件結(jié)束標(biāo)識符時,根據(jù)所述多個視頻的第一播放索引文件生成多個第二播放索引文件,并將生成的所述第二播放索引文件發(fā)送給所述視頻客戶端包括:反復(fù)執(zhí)行從所述多個視頻的第一播放索引文件包括的播放文件的地址中讀取其中一部分播放文件的地址,生成包括所述讀取的播放文件的地址的第二播放索引文件并發(fā)送給所述視頻客戶端的操作,直到所述多個視頻的第一播放索引文件包括的播放文件的地址均已被讀取。同樣,因每個第二播放索引文件包含所有播放文件的地址中的一部分地址,因此此種播放文件生成及傳輸方式的優(yōu)點與上述將播放索引文件進行分割及分次傳輸?shù)姆绞较嗤?/p>

如圖3所示,圖3為本申請實施例的一種視頻處理方法的流程示意圖。如圖3所示,該方法包括如下步驟。

步驟301,響應(yīng)于用戶對播放界面上多個視頻的選擇,生成包括所述多個視頻的標(biāo)識信息的視頻播放請求。

步驟302,將所述視頻播放請求發(fā)送給視頻處理服務(wù)器。

其中,所述視頻處理服務(wù)器根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件,根據(jù)所述多個視頻的第一播放索引文件生成一個或多個第二播放索引文件,每一視頻的第一播放索引文件包括:所述視頻所包括的播放文件的地址,所述一個或多個第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址。

步驟303,從所述視頻處理服務(wù)器接收所述一個或多個第二播放索引文件。

步驟304,根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放。

在本實施例中,響應(yīng)于用戶對多個視頻的選擇,可以生成包含這多個視頻的標(biāo)識信息的視頻播放請求并發(fā)送給視頻處理服務(wù)器,從該視頻處理服務(wù)器接收生成的包含這多個視頻中每個視頻的所有或部分播放文件的地址的第二播放索引文件,根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放。根據(jù)實施例的技術(shù)方案,可以在一個視頻播放請求中請求獲取多個視頻所包含的播放文件的地址。因此可以減少視頻客戶端為獲取多個視頻的對應(yīng)的播放文件的地址而與服務(wù)器側(cè)進行的交互次數(shù),提高視頻播放的效率,減少因交互而造成的資源的消耗。

在本申請一實施例中,所述視頻播放請求進一步包括:指示以拼接方式播放所述多個視頻的信息,以使所述視頻處理服務(wù)器獲取并根據(jù)所述多個視頻的第一播放索引文件生成所述一個或多個第二播放索引文件。

在本申請一實施例中,根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放包括:順序讀取所述第二播放索引文件中每個視頻的播放文件的地址;根據(jù)所述每個視頻的播放文件的地址依次緩存并連續(xù)播放所述播放文件。在本實施例中,通過根據(jù)視頻的播放文件的地址順序緩存播放文件并連續(xù)播放緩存到的播放文件可以避免不連續(xù)播放造成的資源浪費。例如,在不連續(xù)播放過程中,在播完一個視頻后需要關(guān)閉該播放進程,在播放一個新的視頻時需要再重新創(chuàng)建一個新的播放進程,關(guān)閉及重新創(chuàng)建播放進程需要耗費系統(tǒng)的資源和時間。

在本申請一實施例中,所述視頻處理服務(wù)器將生成的任一個第二播放索引文件分割成多個播放索引子文件,并在最后一個播放索引子文件中設(shè)置索引文件結(jié)束標(biāo)識符。從所述視頻處理服務(wù)器接收所述第二播放索引文件,根據(jù)所述第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放的方法包括:從所述視頻處理服務(wù)器接收一個播放索引子文件,根據(jù)所述接收到的播放索引子文件中包括的播放文件的地址依次獲取播放文件并進行播放,在沒有讀取到所述索引文件結(jié)束標(biāo)識符時,向所述視頻處理服務(wù)器發(fā)送后續(xù)播放索引子文件獲取請求以請求獲取后續(xù)的播放索引子文件,并在讀取到所述索引文件結(jié)束標(biāo)識符并已播放完獲取到的所有播放文件后結(jié)束本流程。

在本申請一實施例中,從所述視頻處理服務(wù)器接收所述多個第二播放索引文件,根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放包括:其中,所述多個第二播放索引文件中的最后一個包括:索引文件結(jié)束標(biāo)識符;當(dāng)從所述視頻處理服務(wù)器獲取到一個第二播放索引文件時,所述獲取到的第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址中的部分播放文件的地址,根據(jù)所述部分播放文件的地址獲取對應(yīng)的播放文件并進行播放,直到讀取到所述索引文件結(jié)束標(biāo)識符,并在已播放完獲取的所有播放文件后結(jié)束本流程。

圖4為本申請實施例提供的一種視頻處理方法的流程示意圖。如圖4所示,該方法包括如下步驟。

步驟401,視頻客戶端響應(yīng)于用戶對播放界面上兩個視頻的選擇,生成包括這兩個視頻的標(biāo)識信息的視頻播放請求。

在本實施例中,該視頻客戶端可以為運行在pc,筆記本電腦、手機、平板電腦或智能電視等終端設(shè)備上的視頻播放器。如圖5所示,圖5為用戶對視頻客戶端的播放界面上的多個視頻進行選擇的示意圖。如圖5所示,在該播放界面上,顯示7個視頻,分別是第一集至第七集的選擇按鈕。第當(dāng)一和第二視頻,即第一和第二集被選中時,在該播放界面上第一集和第二集的顯示框均以加黑加粗的虛線形式顯示出來。

在本申請一實施例中,該視頻的標(biāo)識信息可以為該視頻的視頻標(biāo)識符(id)。在本步驟中,該多個視頻的視頻id分別包括:第一集的id,即“u0375”和第二集的id,即“u0678”。

步驟402,該視頻客戶端將該視頻播放請求發(fā)送給該視頻處理服務(wù)器。

步驟403,該視頻處理服務(wù)器根據(jù)該兩個視頻的視頻id獲取這兩個視頻各自的播放索引文件。

在本步驟中,該視頻處理服務(wù)器可以根據(jù)預(yù)存的視頻id和播放索引文件之間的對應(yīng)關(guān)系,根據(jù)該多個視頻的視頻id獲取各自對應(yīng)的第一播放索引文件。在本申請一實施例中,也可以在視頻播放請求中攜帶專輯id和視頻id,那么視頻處理服務(wù)器則根據(jù)專輯id、視頻id和播放索引文件之間的對應(yīng)關(guān)系查找到對應(yīng)的播放索引文件。

在本實施例中,該視頻處理服務(wù)器根據(jù)“u0375”和“u0678”分別查找到第一集播放索引文件和第二集播放索引文件。

其中,第一集播放索引文件,即播放索引文件1如下:

#ext-x-version:3//表示該第一集播放索引文件所采用的版本號;

#ext-x-media-sequence:0//表示該第一集播放索引文件中第一個播放文件的序號;

#ext-x-targetduration:15//表示每個播放文件,即傳輸流(transportstream,ts)的最大播放時長(duration);

#ext-x-playlist-type:vod//表示該視頻的播放類型,此例中的播放類型為視頻點播(videoondemand,vod);

#extinf:12.000//表示當(dāng)前播放文件的播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.0.ts?ugc=1&ga=0&gv=0&start=0&end=12000#extinf:12.000//表示第一個播放文件ts10的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第二個播放文件ts11的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第三個播放文件ts12的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.3.ts?ugc=1&ga=0&gv=0&start=36000&end=48000//表示第四個播放文件ts13的地址;

#ext-x-endlist//表示第一集播放索引文件結(jié)束標(biāo)識符。

其中,在上述四個播放文件中,播放文件ts10為片頭文件的地址,播放文件ts11和ts12為劇集文件的地址,播放文件ts13為片尾文件的地址。

第二集播放索引文件,即播放索引文件2如下:

#ext-x-version:3//表示該第二集播放索引文件所采用的版本號;

#ext-x-media-sequence:0//表示該第二集播放索引文件中第一個播放文件的序號;

#ext-x-targetduration:15//表示每個播放文件,即傳輸流(transportstream,ts)的最大播放時長(duration);

#ext-x-playlist-type:vod//表示該視頻的播放類型,此例中的播放類型為視頻點播(videoondemand,vod);

#extinf:12.000//表示當(dāng)前播放文件的播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.0.ts?ugc=1&ga=0&gv=0&start=0&end=12000#extinf:12.000//表示第一個播放文件ts20的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第二個播放文件ts21的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第三個播放文件ts22的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.3.ts?ugc=1&ga=0&gv=0&start=36000&end=48000//表示第四個播放文件ts23的地址;

#ext-x-endlist//表示第二集播放索引文件結(jié)束標(biāo)識符。

其中,在上述四個播放文件中,播放文件ts20為片頭文件的地址,播放文件ts21和ts22為劇集文件的地址,播放文件ts23為片尾文件的地址。

在上述第一集播放索引文件和第二集播放索引文件中,均包括各個播放文件的地址,第一個播放文件的序號和播放索引文件結(jié)束標(biāo)識符,除此之外還可以進一步包括上述播放索引文件所采用的版本號,每個播放文件的最大播放時長,視頻的播放類型,當(dāng)前播放文件的播放時長等。

步驟404,該視頻處理服務(wù)器確定這兩個視頻的播放類型為拼接播放模式。

拼接播放模式是指在一次請求中請求獲取多個視頻的播放文件的地址,并以連續(xù)的方式依次獲取這多個視頻的播放文件,并進行連續(xù)播放。在本步驟中,在拼接播放模式下,以本實施例中的兩個視頻的播放為例,在視頻處理服務(wù)器側(cè),接收這兩個視頻的id,即“u0375”和“u0678”,根據(jù)u0375”和“u0678”分別查找到第一集播放索引文件和第二集播放索引文件,根據(jù)第一集播放索引文件和第二集播放索引文件生成包含第一集和第二集的播放文件的地址的一二集播放索引文件,發(fā)送給該視頻客戶端。在該視頻客戶端,首先在發(fā)起的視頻播放請求中攜帶這兩個視頻的id,即“u0375”和“u0678”,從該視頻處理服務(wù)器接收該一二集播放索引文件,根據(jù)該一二集播放索引文件中包含的第一集和第二集的播放文件的地址逐個緩存和播放第一和第二集的內(nèi)容。

在本實施例中,確定這兩個視頻的播放類型為拼接播放模式方法可以為:當(dāng)該視頻處理服務(wù)器在一個視頻播放請求中接收到兩個視頻的id,根據(jù)預(yù)先的配置判定為這兩個視頻采用拼接播放模式;也可以是當(dāng)該視頻處理服務(wù)器確定該視頻播放請求中包括指示以拼接方式播放所述兩個視頻的信息時,確定為這兩個視頻采用拼接播放模式。

步驟405,該視頻處理服務(wù)器根據(jù)這兩個視頻的播放索引文件,即第一集播放索引文件和第二集播放索文件生成一二集播放索引文件,并將該一二集播放索引文件發(fā)送給該視頻客戶端。

在本實施例中,該一二集播放索引文件可以包括第一集播放索引文件中的部分或所有播放文件的地址以及第二集播放索引文件中部分或所有播放文件的地址。

在本申請一實施例中,該視頻處理服務(wù)器可以根據(jù)預(yù)先的配置確定要生成包含第一集播放索引文件以及第二集播放索引文件中所有播放文件的地址的一二集播放索引文件,該一二集播放索引文件,即播放索引文件3如下:

#ext-x-version:3//表示該一二集播放索引文件所采用的版本號;

#ext-x-media-sequence:0//表示該一二集播放索引文件中第一個播放文件的序號;

#ext-x-targetduration:15//表示每個播放文件,即傳輸流(transportstream,ts)的最大播放時長(duration);

#ext-x-playlist-type:vod//表示該視頻的播放類型,此例中的播放類型為視頻點播(videoondemand,vod);

#extinf:12.000//表示當(dāng)前播放文件的播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.0.ts?ugc=1&ga=0&gv=0&start=0&end=12000#extinf:12.000//表示第一集第一個播放文件ts10的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第一集第二個播放文件ts11的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第一集第三個播放文件ts12的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.3.ts?ugc=1&ga=0&gv=0&start=36000&end=48000//表示第一集第四個播放文件ts13的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.0.ts?ugc=1&ga=0&gv=0&start=0&end=12000#extinf:12.000//表示第二集第一個播放文件ts20的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第二集第二個播放文件ts21的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第二集第三個播放文件ts22的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.3.ts?ugc=1&ga=0&gv=0&start=36000&end=48000//表示第二集第四個播放文件ts23的地址;

#ext-x-endlist//表示該一二集播放索引文件結(jié)束標(biāo)識符。

在本申請一實施例中,該視頻處理服務(wù)器可以根據(jù)預(yù)先的配置確定要生成包含第一集播放索引文件以及第二集播放索引文件中部分播放文件的地址的一二集播放索引文件,例如該一二集播放索引文件僅包含劇集文件的地址,即劇集文件ts11,ts12,ts21和ts22的地址,不包含片頭文件的地址ts10和ts20以及片尾文件的地址ts13和ts23。該生成的一二集播放索引文件,即播放索引文件4如下:

#ext-x-version:3//表示該一二集播放索引文件所采用的版本號;

#ext-x-media-sequence:1//表示該一二集播放索引文件中第一個播放文件的序號;

#ext-x-targetduration:15//表示每個播放文件,即傳輸流(transportstream,ts)的最大播放時長(duration);

#ext-x-playlist-type:vod//表示該視頻的播放類型,此例中的播放類型為視頻點播(videoondemand,vod);

#extinf:12.000//表示當(dāng)前播放文件的播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第一集第二個播放文件ts11的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第一集第三個播放文件ts12的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第二集第二個播放文件ts21的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第二集第三個播放文件ts22的地址及當(dāng)前播放時長;

#ext-x-endlist//表示該一二集播放索引文件結(jié)束標(biāo)識符。

在本申請一實施例中,步驟401生成的視頻播放請求還可以進一步包括:視頻播放順序指令,例如指令先播放第二集再播放第一集,那么在生成上述一二集播放索引文件的過程中,該視頻處理服務(wù)器會根據(jù)該視頻播放順序指令放置索引文件中播放文件的地址的順序。例如,如果該視頻播放順序指令指示先播放第二集再播放第一集,則該視頻處理服務(wù)器將第二集的播放文件的地址放在第一集的播放文件的地址的前面。例如,

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第二集第二個播放文件ts21的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第二集第三個播放文件ts22的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第一集第二個播放文件ts11的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第一集第三個播放文件ts12的地址及當(dāng)前播放時長。

在本申請實施例中,可以通過如下三種方式生成一個或多個一二集播放索引文件以及將該一個或多個一二集播放索引文件通過一次或多次傳輸發(fā)送給該視頻客戶端。

第一種方式:該視頻處理服務(wù)器獲取這兩個視頻的id,即“u0375”和“u0678”,分別獲取上述播放索引文件1和播放索引文件2,根據(jù)該播放索引文件1和播放索引文件2生成上述播放索引文件3或4并將該播放索引文件3或4在一次傳輸中發(fā)送給該視頻客戶端。

第二種方式:例如,該視頻處理服務(wù)器按照上述第一種方式生成播放索引文件4,并將該播放索引文件4分割成如下播放索引子文件41和播放索引子文件42。

該播放索引子文件41如下:

#ext-x-version:3//表示該一二集播放索引文件所采用的版本號;

#ext-x-media-sequence:1//表示該一二集播放索引文件中第一個播放文件的序號,即ts11;

#ext-x-targetduration:15//表示每個播放文件,即傳輸流(transportstream,ts)的最大播放時長(duration);

#ext-x-playlist-type:vod//表示該視頻的播放類型,此例中的播放類型為視頻點播(videoondemand,vod);

#extinf:12.000//表示當(dāng)前播放文件的播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第一集第二個播放文件ts11的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0375enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第一集第三個播放文件ts12的地址及當(dāng)前播放時長;

在該播放索引子文件41的結(jié)尾處不包含該一二集播放索引文件結(jié)束標(biāo)識符。

該播放索引子文件42如下:

#ext-x-version:3//表示該一二集播放索引文件所采用的版本號;

#ext-x-media-sequence:1//表示該一二集播放索引文件中第一個播放文件的序號,即ts21;

#ext-x-targetduration:15//表示每個播放文件,即傳輸流(transportstream,ts)的最大播放時長(duration);

#ext-x-playlist-type:vod//表示該視頻的播放類型,此例中的播放類型為視頻點播(videoondemand,vod);

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000#extinf:12.000//表示第二集第二個播放文件ts21的地址及當(dāng)前播放時長;

http://xxxx:xxxx/vodhls/xxx/u0678enarfl_mp4_av.0.2.ts?ugc=1&ga=0&gv=0&start=24000&end=36000#extinf:12.000//表示第二集第三個播放文件ts22的地址及當(dāng)前播放時長;

#ext-x-endlist//表示該一二集播放索引文件結(jié)束標(biāo)識符。

在該播放索引子文件42的最后包括該一二集播放索引文件結(jié)束標(biāo)識符,表示該一二集播放索引文件不再包括其他內(nèi)容。

在該方式下,該視頻處理服務(wù)器先將該播放索引子文件41發(fā)送給該視頻客戶端。當(dāng)該視頻客戶端在讀取該播放索引子文件41后沒有讀到該一二集播放索引文件結(jié)束標(biāo)識符,則向該視頻處理服務(wù)器請求后續(xù)播放索引文件。該視頻處理服務(wù)器在接收到該請求后將該播放索引子文件42發(fā)送給視頻客戶端。

第三種方式,該視頻處理服務(wù)器會生成多個一二集播放索引文件,邊生成邊發(fā)送。例如,該視頻處理服務(wù)器讀取到該視頻播放請求中包含兩個視頻id,即“u0375”和“u0678”,則獲取該第一集的id,即“u0375”,根據(jù)該第一集的id查找該該第一集包括的各播放文件的地址,即ts10,ts11,ts12和ts13,生成包含該第一集的部分或所有播放文件的地址的一二集播放索引文件1,其中,該一二集播放索引文件1不包含一二集播放索引文件結(jié)束標(biāo)識符,并將該一二集播放索引文件1發(fā)送給該視頻客戶端。該視頻處理服務(wù)器根據(jù)同樣的方法生成包含該第二集的部分或所有播放文件的地址的一二集播放索引文件2,其中,該一二集播放索引文件2包含該一二集播放索引文件結(jié)束標(biāo)識符,并將該一二集播放索引文件2發(fā)送給該視頻客戶端。

在上述任一播放索引文件或播放索引子文件中包括的播放文件的地址的格式可以不包括前面的服務(wù)器路徑,例如http://xxxx:xxxx/vodhls/xxx,即僅包含后面從視頻id開始的部分,例如,u0375enarfl_mp4_av.0.1.ts?ugc=1&ga=0&gv=0&start=12000&end=24000。該視頻客戶端在接收到不包含服務(wù)器路徑的播放文件地址后,在向視頻提供服務(wù)器請求播放文件之前,獲取預(yù)存的服務(wù)器路徑,將獲取到的服務(wù)器路徑和接收到的播放文件的地址拼接在一起,組成上述播放索引文件及播放索引子文件中示出的播放文件的地址,再根據(jù)該播放文件的地址從視頻提供服務(wù)器獲取播放文件。

步驟406,該視頻客戶端讀取該一二集播放索引文件中的播放文件的地址,并根據(jù)各播放文件的地址向視頻提供服務(wù)器發(fā)送播放文件獲取請求。

在本申請實施例中,如果播放文件由視頻處理服務(wù)器提供,則該視頻客戶端向該視頻處理服務(wù)器發(fā)送播放文件獲取請求。

步驟407,該視頻客戶端接收并播放視頻提供服務(wù)器發(fā)送的播放文件。

在步驟405中,如果視頻處理服務(wù)器根據(jù)第一種方式向該視頻客戶端發(fā)送該播放索引文件3或4,則該視頻客戶端按照該播放索引文件3或4中播放文件的地址的順序,依次從該視頻提供服務(wù)器獲取播放文件。

在上述步驟405中,如果視頻處理服務(wù)器根據(jù)第二種方式向該視頻客戶端發(fā)送播放索引子文件41和42。該視頻客戶端在接收到該播放索引子文件41后,依次讀取其中的播放文件的地址,并依次向該視頻提供服務(wù)器獲取對應(yīng)的播放文件,并緩存和播放對應(yīng)的播放文件。該視頻客戶端判斷是否在該播放索引子文件41中讀取到該一二集播放索引文件結(jié)束標(biāo)識符。如果未讀取到該一二集播放索引文件結(jié)束標(biāo)識符,則向該視頻處理服務(wù)器發(fā)送后續(xù)索引文件獲取請求,并接收該視頻處理服務(wù)器發(fā)送的播放索引子文件42,依次讀取其中的播放文件的地址,并從該視頻提供服務(wù)器獲取對應(yīng)的播放文件,緩存并連續(xù)播放獲取到的播放文件,并在該播放索引子文件42讀取到該一二集播放索引文件結(jié)束標(biāo)識符,在播放完所有的播放文件后結(jié)束本流程。

在上述步驟405中,當(dāng)該視頻處理服務(wù)器以上述第三種方式邊生成邊發(fā)送多個一二集播放索引文件時,則該視頻客戶端在接收到一二集播放索引文件1后,按照該索引文件包含的播放文件的地址依次從視頻提供服務(wù)器獲取,緩存并連續(xù)播放播放文件。在請求或未請求的情況下從該視頻處理服務(wù)器獲取后續(xù)的一二集播放索引文件,直到讀取到一二集播放索引文件結(jié)束標(biāo)識符,在播放完所有的播放文件后結(jié)束本流程。

圖6為本申請實施例提供的一種視頻處理服務(wù)器的結(jié)構(gòu)示意圖。如圖6所示,該視頻處理服務(wù)器包括:

接收模塊601,用于從視頻客戶端接收包括多個視頻的標(biāo)識信息的視頻播放請求;

播放索引文件獲取模塊602,用于根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件,其中,每一視頻的第一播放索引文件包括:所述視頻所包括的播放文件的地址;

播放索引文件生成模塊603,用于根據(jù)所述多個視頻的第一播放索引文件生成一個或多個第二播放索引文件,所述一個或多個第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址;

發(fā)送模塊604,用于將生成的所述第二播放索引文件發(fā)送給所述視頻客戶端,以使所述視頻客戶端根據(jù)所述第二播放索引文件包括的播放文件的地址獲取所述播放文件并進行播放。

在本申請一實施例中,所述視頻的標(biāo)識信息包括:所述視頻的視頻標(biāo)識符id;所述播放索引文件獲取模塊602,進一步用于根據(jù)預(yù)存的視頻id和播放索引文件之間的對應(yīng)關(guān)系,根據(jù)所述多個視頻的視頻id獲取其各自對應(yīng)的所述第一播放索引文件。

在本申請一實施例中,所述視頻播放請求進一步包括:指示以拼接方式播放所述多個視頻的信息;所述播放索引文件獲取模塊602,進一步用于當(dāng)確定所述視頻播放請求包括所述指示以拼接方式播放所述多個視頻的信息時,執(zhí)行所述根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件的處理。

在本申請一實施例中,所述播放文件的地址包括:片頭文件的地址,片尾文件的地址和劇集文件的地址;所述播放索引文件生成模塊603,進一步用于從所述多個視頻各自的第一播放索引文件中獲取每一視頻的劇集文件的地址,生成包含所述多個視頻的劇集文件的地址的所述第二播放索引文件。

在本申請一實施例中,所述視頻播放請求進一步包括:視頻播放順序指令;所述播放索引文件生成模塊603,進一步用于按照所述視頻播放順序指令設(shè)置所述一個或多個第二播放索引文件中所述視頻的播放文件的地址的順序。

在本申請一實施例中,該視頻處理服務(wù)器進一步包括:

分割模塊605,用于將所述任一個第二播放索引文件分割成多個播放索引子文件,并在最后一個播放索引子文件中設(shè)置索引文件結(jié)束標(biāo)識符;所述多個播放索引子文件包括:所述被分割的第二播放索引文件中包括的播放文件的地址;

所述發(fā)送模塊604,進一步用于發(fā)送一個播放索引子文件給所述視頻客戶端,在接收到所述視頻客戶端因未讀取到所述索引文件結(jié)束標(biāo)識符而發(fā)送的后續(xù)播放索引子文件獲取請求時,將后一個播放索引子文件發(fā)送給所述視頻客戶端,直到將所有的播放索引子文件發(fā)送給所述視頻客戶端。

在本申請一實施例中,所述播放索引文件生成模塊603,進一步用于反復(fù)執(zhí)行從所述多個視頻的第一播放索引文件包括的播放文件的地址中讀取其中一部分播放文件的地址,生成包括所述讀取的播放文件的地址的第二播放索引文件,并通過所述發(fā)送模塊604發(fā)送給所述視頻客戶端的操作;直到所述多個視頻的第一播放索引文件包括的播放文件的地址均已被讀取。

圖7為本申請實施例提供的一種視頻客戶端的結(jié)構(gòu)示意圖。如圖7所示,該視頻客戶端包括:

視頻播放請求生成模塊701,用于響應(yīng)于用戶對播放界面上多個視頻的選擇,生成包括所述多個視頻的標(biāo)識信息的視頻播放請求;

發(fā)送模塊702,用于將所述視頻播放請求發(fā)送給視頻處理服務(wù)器;其中,所述視頻處理服務(wù)器根據(jù)所述多個視頻的標(biāo)識信息獲取所述多個視頻各自的第一播放索引文件,根據(jù)所述多個視頻的第一播放索引文件生成一個或多個第二播放索引文件,每一視頻的第一播放索引文件包括:所述視頻所包括的播放文件的地址,所述一個或多個第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址;

播放索引文件接收模塊703,用于從所述視頻處理服務(wù)器接收所述一個或多個第二播放索引文件;

視頻獲取及播放模塊704,用于根據(jù)所述接收到的第二播放索引文件中每個視頻的播放文件的地址依次獲取所述播放文件并進行播放。

在本申請一實施例中,所述視頻播放請求進一步包括:指示以拼接方式播放所述多個視頻的信息,以使所述視頻處理服務(wù)器獲取并根據(jù)所述多個視頻的第一播放索引文件生成所述一個或多個第二播放索引文件。

在本申請一實施例中,所述視頻獲取及播放模塊704,進一步用于順序讀取所述第二播放索引文件中每個視頻的播放文件的地址,根據(jù)所述每個視頻的播放文件的地址依次緩存并連續(xù)播放所述播放文件。

在本申請一實施例中,所述視頻處理服務(wù)器將所述任一個第二播放索引文件分割成多個播放索引子文件,并在最后一個播放索引子文件中設(shè)置索引文件結(jié)束標(biāo)識符;所述播放索引文件接收模塊703,進一步用于從所述視頻處理服務(wù)器接收一個播放索引子文件,指令所述視頻獲取及播放模塊704根據(jù)所述接收到的播放索引子文件中包括的播放文件的地址依次獲取播放文件并進行播放,在沒有讀取到所述索引文件結(jié)束標(biāo)識符時,向所述視頻處理服務(wù)器發(fā)送后續(xù)播放索引子文件獲取請求以請求獲取后續(xù)的播放索引子文件,并在讀取到所述索引文件結(jié)束標(biāo)識符,停止向所述視頻處理服務(wù)器發(fā)送所述后續(xù)播放索引子文件獲取請求。

在本申請一實施例中,所述多個第二播放索引文件的最后一個中包括:索引文件結(jié)束標(biāo)識符;所述播放索引文件接收模塊703,進一步用于反復(fù)執(zhí)行從所述視頻處理服務(wù)器獲取一個第二播放索引文件,所述獲取到的第二播放索引文件包括:所述多個視頻中每個視頻的所有或部分播放文件的地址中的部分播放文件的地址,指令所述視頻獲取及播放模塊704根據(jù)所述部分播放文件的地址獲取對應(yīng)的播放文件并進行播放,直到讀取到所述索引文件結(jié)束標(biāo)識符。

圖8為本申請實施例提供的一種視頻處理服務(wù)器的結(jié)構(gòu)示意圖。如圖8所示,該視頻處理服務(wù)器包括:

處理器801、非易失性計算機可讀存儲器802、顯示單元803、網(wǎng)絡(luò)通信接口804。這些組件通過總線805進行通信。

本實施例中,存儲器802中存儲有多個程序模塊,包括操作系統(tǒng)806、網(wǎng)絡(luò)通信模塊807和應(yīng)用程序808。

處理器801可以讀取存儲器802中的應(yīng)用程序所包括的各種模塊(圖中未示出)來執(zhí)行該視頻處理服務(wù)器各種功能應(yīng)用以及數(shù)據(jù)處理。本實施例中的處理器801可以為一個,也可以為多個,其可以為cpu,處理單元/模塊,asic,邏輯模塊或可編程門陣列等。

應(yīng)用程序808可包括:視頻處理模塊809。該視頻處理模塊809可包括圖6所示服務(wù)器中的各個功能模塊形成的計算機可執(zhí)行指令集809-1及對應(yīng)的元數(shù)據(jù)和啟發(fā)式算法809-2。這些計算機可執(zhí)行指令集可以由所述處理器801執(zhí)行并完成圖2和圖4所示方法或圖6所示裝服務(wù)器的功能。

在本實施例中,網(wǎng)絡(luò)通信接口804與網(wǎng)絡(luò)通信模塊807相配合完成輸入信息處理設(shè)備的各種網(wǎng)絡(luò)信號的收發(fā)。

顯示單元803具有一顯示面板,例如液晶顯示屏,用于完成相關(guān)信息的輸入及顯示。

圖9為本申請實施例提供的一種視頻客戶端的結(jié)構(gòu)示意圖。該視頻客戶端包括:處理器901、非易失性計算機可讀存儲器902、顯示單元903、網(wǎng)絡(luò)通信接口904。這些組件通過總線905進行通信。

本實施例中,存儲器902中存儲有多個程序模塊,包括操作系統(tǒng)906、網(wǎng)絡(luò)通信模塊907和應(yīng)用程序908。

處理器901可以讀取存儲器902中的應(yīng)用程序所包括的各種模塊(圖中未示出)來執(zhí)行視頻客戶端的各種功能應(yīng)用以及數(shù)據(jù)處理。本實施例中的處理器901可以為一個,也可以為多個,其可以為cpu,處理單元/模塊,asic,邏輯模塊或可編程門陣列等。

其中,操作系統(tǒng)906可以為:windows操作系統(tǒng)、android操作系統(tǒng)或蘋果iphoneos操作系統(tǒng)。

應(yīng)用程序908可包括:視頻客戶端模塊909。該視頻客戶端模塊909可包括圖7所示視頻客戶端中的各個功能模塊形成的計算機可執(zhí)行指令集909-1及對應(yīng)的元數(shù)據(jù)和啟發(fā)式算法909-2。這些計算機可執(zhí)行指令集可以由所述處理器901執(zhí)行并完成圖3和圖4所示方法或圖7所示裝置的功能。

在本實施例中,網(wǎng)絡(luò)通信接口904與網(wǎng)絡(luò)通信模塊907相配合完成數(shù)據(jù)重放判斷服務(wù)器的各種網(wǎng)絡(luò)信號的收發(fā)。

顯示單元903具有一顯示面板,用于完成相關(guān)信息的輸入及顯示。

另外,在本申請各個實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。所述各實施例的功能模塊可以位于一個終端或網(wǎng)絡(luò)節(jié)點,或者也可以分布到多個終端或網(wǎng)絡(luò)節(jié)點上。

另外,本申請的每一個實施例可以通過如計算機執(zhí)行的數(shù)據(jù)處理程序來實現(xiàn)。顯然,數(shù)據(jù)處理程序構(gòu)成了本申請。此外,通常存儲在一個存儲介質(zhì)中的數(shù)據(jù)處理程序通過直接將程序讀取出存儲介質(zhì)或者通過將程序安裝或復(fù)制到數(shù)據(jù)處理設(shè)備的存儲設(shè)備(如硬盤和或內(nèi)存)中執(zhí)行。因此,這樣的存儲介質(zhì)也構(gòu)成了本申請。存儲介質(zhì)可以使用任何類型的記錄方式,例如紙張存儲介質(zhì)(如紙帶等)、磁存儲介質(zhì)(如軟盤、硬盤、閃存等)、光存儲介質(zhì)(如cd-rom等)、磁光存儲介質(zhì)(如mo等)等。

因此本申請還提供了一種存儲介質(zhì),其中存儲有數(shù)據(jù)處理程序,該數(shù)據(jù)處理程序用于執(zhí)行本申請上述方法的任何一種實施例。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。

以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1