專利名稱:一種在線播放中快速跳轉(zhuǎn)的方法、終端及服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線網(wǎng)絡(luò)領(lǐng)域,特別是涉及一種在線播放中快速跳轉(zhuǎn)的方法、終端及跳轉(zhuǎn)服務(wù)器。
背景技術(shù):
流媒體在線播放系統(tǒng)是通過網(wǎng)絡(luò)進(jìn)行實時下載播放的系統(tǒng)。隨著社會生活的網(wǎng)絡(luò)化水平的不斷提高,流媒體已經(jīng)成為人們?nèi)粘I?、娛樂中不可或缺的手段。在流媒體播放過程中,人們最常使用的功能之一是快進(jìn)快退,即快速跳過已經(jīng)欣賞過的或不感興趣的部分,或者快速回放精彩部分。基于PC的處理能力和網(wǎng)絡(luò)帶寬,在PC環(huán)境下很容易實現(xiàn)快速跳轉(zhuǎn)。
但是在無線網(wǎng)絡(luò)環(huán)境中(例如移動終端)受到移動終端處理能力和無線網(wǎng)絡(luò)下載速度的限制,目前無法實現(xiàn)在線播放中的快速跳轉(zhuǎn)。為了精確計算出所跳過的部分在流媒體信息中的確切位置,需要移動終端經(jīng)過大量的計算和多次與服務(wù)器進(jìn)行交互才能完成,若網(wǎng)絡(luò)狀態(tài)不好(這在無線網(wǎng)絡(luò)環(huán)境中是常見的現(xiàn)象),還需要多次的緩存等待。這使得“快速”跳轉(zhuǎn)不再快速,而是一個漫長的等待過程。
總之,目前在移動終端上無法實現(xiàn)在線播放中的快速跳轉(zhuǎn),給用戶帶來了不好的用戶體驗;同時在進(jìn)行在線播放中的跳轉(zhuǎn)時,需要與服務(wù)器進(jìn)行多次交互,浪費了網(wǎng)絡(luò)側(cè)資源。
發(fā)明內(nèi)容
本發(fā)明提供一種在線播放中快速跳轉(zhuǎn)的方法、終端及跳轉(zhuǎn)服務(wù)器,用以解決目前在無線網(wǎng)絡(luò)環(huán)境下無法實現(xiàn)在線播放中的快速跳轉(zhuǎn),以及跳轉(zhuǎn)時浪費了網(wǎng)絡(luò)側(cè)資源的問題。
本發(fā)明方法包括步驟A、終端側(cè)收到流媒體后,從中獲取網(wǎng)絡(luò)側(cè)將該流媒體以單位時長等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量,并開始播放;B、當(dāng)用戶確認(rèn)跳轉(zhuǎn)時,以跳轉(zhuǎn)到的時間點與所述流媒體總時長的比例定位到對應(yīng)的時間段;C、從所述定位到的時間段包含的流媒體片段的起始位置重新開始播放。
步驟A中終端側(cè)從所述流媒體的頭域中獲取網(wǎng)絡(luò)側(cè)以單位時長將該流媒體等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量。
步驟A中終端側(cè)還從所述流媒體中獲取所述流媒體的版本信息,當(dāng)終端側(cè)的媒體播放器支持該版本,則開始播放。
所述步驟A中,終端側(cè)將獲取的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量保存于跳轉(zhuǎn)列表中。
所述跳轉(zhuǎn)列表中各個表項的內(nèi)容對應(yīng)的數(shù)據(jù)量之和,滿足所述頭域的容量上限。
所述步驟B包括下列步驟B1、獲取跳轉(zhuǎn)到的時間點與所述流媒體總時長的比例;B2、以所述比例與所述流媒體的時間段數(shù)量相乘并向上取整,得到跳轉(zhuǎn)到的時間點歸屬的時間段;B3、定位到所述歸屬時間段的下一時間段。
所述步驟C包括下列步驟查詢所述跳轉(zhuǎn)表,以計算出所述定位到的時間段包含的流媒體片段的起始位置,并查找所述起始位置之后的流媒體是否在終端側(cè)的緩存中,若在,則直接播放;否則,終端側(cè)以所述起始位置向服務(wù)器側(cè)請求下載,并在滿足播放要求時,重新開始播放。
本發(fā)明的終端,具有在線播放流媒體的功能,包括頭域解析模塊,用于解析收到的流媒體的頭域,并從中獲取該流媒體的時間段數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量;跳轉(zhuǎn)列表生成模塊,用于根據(jù)所述頭域解析模塊獲取的信息,生成跳轉(zhuǎn)列表并保存;定位模塊,用于根據(jù)用戶確認(rèn)的跳轉(zhuǎn)時間點與所述流媒體總時長的比例,以及所述跳轉(zhuǎn)列表中的信息定位到對應(yīng)的時間段,以使本終端的播放器從定位到的時間段包含的流媒體片段重新開始播放。
所述終端還包括查找模塊,用于根據(jù)所述定位模塊定位到的時間段查找對應(yīng)的流媒體片段當(dāng)前是否在本終端的緩存中。
本發(fā)明的跳轉(zhuǎn)服務(wù)器,包括單位時長確定模塊,用于根據(jù)流媒體的總時長,以及流媒體頭域的上限確定單位時長;等分模塊,用于根據(jù)所述單位時長確定模塊確定的單位時長將所述流媒體等分,并輸出等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量;頭域生成模塊,用于將所述等分模塊輸出的信息打包到該流媒體的頭域中。
本發(fā)明有益效果如下本發(fā)明方法通過在網(wǎng)絡(luò)側(cè)以單位時長對流媒體進(jìn)行等分,并將等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量添加到該流媒體的頭域中;當(dāng)終端側(cè)收到流媒體的頭域時,可從中獲取該流媒體被等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量,之后可建立跳轉(zhuǎn)列表;當(dāng)用戶確認(rèn)跳轉(zhuǎn)時,終端側(cè)可根據(jù)跳轉(zhuǎn)到的時間點與所述流媒體總時長的比例,以及所述跳轉(zhuǎn)列表中的信息定位到對應(yīng)的時間段;進(jìn)一步可查找所述定位到的時間段對應(yīng)的流媒體片段是否已被緩存到終端側(cè),若是,則直接播放,無需用戶等待,從而實現(xiàn)在線播放中的快速跳轉(zhuǎn);否則,以所述所述定位到的時間段對應(yīng)的流媒體片段向媒體服務(wù)器請求下載,由于所述請求下載的流媒體片段已在終端側(cè)被確定,所以可大大減少與媒體服務(wù)器的交互次數(shù),節(jié)約了網(wǎng)絡(luò)資源,進(jìn)而縮短了用戶的等待時間,實現(xiàn)在線播放中的快速跳轉(zhuǎn)。
為了支撐本發(fā)明方法,本發(fā)明還提供了一種終端,包括頭域解析模塊,用于解析收到的流媒體的頭域,并從中獲取該流媒體的時間段數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量;跳轉(zhuǎn)列表生成模塊,用于根據(jù)所述頭域解析模塊獲取的信息,生成跳轉(zhuǎn)列表并保存;定位模塊,用于根據(jù)用戶確認(rèn)的跳轉(zhuǎn)時間點與所述流媒體總時長的比例,以及所述跳轉(zhuǎn)列表中的信息定位到對應(yīng)的時間段,以使本終端的播放器從定位到的時間段包含的流媒體片段重新開始播放。進(jìn)一步還包括查找模塊,用于根據(jù)所述定位模塊定位到的時間段查找對應(yīng)的流媒體片段當(dāng)前是否在本終端的緩存中。
為了支撐本發(fā)明方法,本發(fā)明還提供了一種跳轉(zhuǎn)服務(wù)器,包括單位時長確定模塊,用于根據(jù)流媒體的總時長,以及流媒體頭域的上限確定單位時長;等分模塊,用于根據(jù)所述單位時長確定模塊確定的單位時長將所述流媒體等分,以及保存并輸出等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量;頭域生成模塊,用于將所述等分模塊輸出的信息打包到該流媒體的頭域中。
圖1為本發(fā)明終端的結(jié)構(gòu)示意圖;圖2為本發(fā)明跳轉(zhuǎn)服務(wù)器的結(jié)構(gòu)示意圖;圖3為本發(fā)明方法步驟流程圖。
具體實施例方式
為了在移動終端上實現(xiàn)在線播放中的快速跳轉(zhuǎn),進(jìn)而在跳轉(zhuǎn)時節(jié)約網(wǎng)絡(luò)側(cè)資源,本發(fā)明提供了一種終端,具有在線播放流媒體的功能,參見圖1所示,其包括依次串聯(lián)的頭域解析模塊、跳轉(zhuǎn)列表生成模塊和定位模塊;進(jìn)一步還可包括與所述定位模塊相連的查找模塊。
所述頭域解析模塊,用于解析收到的流媒體的頭域,并從中獲取該流媒體的時間段數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量。
所述跳轉(zhuǎn)列表生成模塊,用于根據(jù)所述頭域解析模塊獲取的信息,生成跳轉(zhuǎn)列表并保存。所述跳轉(zhuǎn)列表中存在若干表項,分別記錄了時間段數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量。
所述定位模塊,用于根據(jù)用戶確認(rèn)的跳轉(zhuǎn)時間點與所述流媒體總時長的比例,以及所述跳轉(zhuǎn)列表中的信息定位到對應(yīng)的時間段,以使本終端的播放器從定位到的時間段包含的流媒體片段重新開始播放。
所述查找模塊,用于根據(jù)所述定位模塊定位到的時間段查找對應(yīng)的流媒體片段當(dāng)前是否在本終端的緩存中。
對應(yīng)上述終端,本發(fā)明提供了一種跳轉(zhuǎn)服務(wù)器,用于生成跳轉(zhuǎn)所需的信息,參見圖2所示,其包括依次串聯(lián)的單位時長確定模塊、等分模塊和頭域生成模塊。
所述單位時長確定模塊,用于根據(jù)流媒體的總時長,以及流媒體頭域的上限確定單位時長。
所述等分模塊,用于根據(jù)所述單位時長確定模塊確定的單位時長將所述流媒體等分,以及保存并輸出等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量。
所述頭域生成模塊,用于將所述等分模塊輸出的信息打包到該流媒體的頭域中。
應(yīng)用上述終端及跳轉(zhuǎn)服務(wù)器,本發(fā)明提供了一種在線播放中快速跳轉(zhuǎn)的方法,參見圖3所示,包括下列步驟
S1、用戶確認(rèn)在線播放流媒體。
S2、終端側(cè)收到流媒體的頭域,完成解析。
S3、用戶確認(rèn)跳轉(zhuǎn)。
S4、定位時間段。
S5、從定位到的時間段包含的流媒體片段重新開始播放。
以下通過兩個實例具體描述本發(fā)明方法。
方法實例一定位時間段后,判斷終端側(cè)的緩存中是否存有對應(yīng)的流媒體片段。
S101、用戶確認(rèn)在線播放流媒體。
媒體服務(wù)器在錄入新的流媒體之前,先通過本發(fā)明的跳轉(zhuǎn)服務(wù)器中的單位時長確定模塊,根據(jù)該流媒體的總時長,以及流媒體頭域的上限確定單位時長。
例如時間段的個數(shù)及每個時間段包含的數(shù)據(jù)量均用4個字節(jié)表示。這樣根據(jù)目前頭域的上限,最大允許的表項個數(shù)為4G個,即可將所述流媒體等分為大約4G個時間段。從原理上,用戶可以跳轉(zhuǎn)到媒體數(shù)據(jù)的任何一部分(任何一幀),即以每一幀當(dāng)作一個時間段,并對應(yīng)一個表項,但是這會使得頭域過大。以一部一小時的影片計算,如果該影片7幀/秒,則頭域約為60*60*7*4/1024=99K。雖然原理上可以跳轉(zhuǎn)到每一幀,但在實際應(yīng)用上并沒有太大的意義,用戶通常不會在意以幀為單位的跳轉(zhuǎn)誤差。因此,根據(jù)所述流媒體的總時長及流媒體頭域的上限決定單位時長,一般的取值范圍在1秒到24秒之間。流媒體的總時長越長,則每個時間段的時長就越長。
在所述單位時長確定模塊確定了所述新錄入的流媒體的單位時長后,通過等分模塊將該流媒體以所述單位時長等分,并輸出等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量到頭域生成模塊(例如所述流媒體總時長為18秒;時間段的數(shù)量為3;頭域20K、第一時間段包含數(shù)據(jù)量為20K、第二時間段包含數(shù)據(jù)量為40K、第三時間段包含數(shù)據(jù)量為30K)。所述頭域生成模塊將所述等分模塊輸出的信息打包到該流媒體的頭域中,但不限于打包到該流媒體的頭域中。
之后,由媒體服務(wù)器錄入該流媒體。至此完成了新的流媒體的錄入,等待終端側(cè)的選播。
用戶使用移動終端通過GPRS等無線協(xié)議登錄到所述媒體服務(wù)器,并選播流媒體。
S102、終端側(cè)收到流媒體的頭域,完成解析。
根據(jù)現(xiàn)有流媒體播放流程,所述媒體服務(wù)器會將用戶選播的流媒體的頭域最先下發(fā)到移動終端(在所述頭域下發(fā)到移動終端之前,不允許用戶進(jìn)行跳轉(zhuǎn))。終端側(cè)收到流媒體的頭域后,通過其內(nèi)置的頭域解析模塊從所述頭域中獲取該流媒體的版本信息及其他自定義信息,若終端側(cè)的媒體播放器支持所述版本,則按照現(xiàn)有流程,在下載了足夠的數(shù)據(jù)時開始播放;與此同時,所述頭域解析模塊繼續(xù)從所述頭域中獲取該流媒體被等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量。
解析完成后,終端側(cè)的跳轉(zhuǎn)列表生成模塊根據(jù)所述頭域解析模塊獲取的信息,生成跳轉(zhuǎn)列表并保存。所述跳轉(zhuǎn)列表參見表一
表一S103、用戶確認(rèn)跳轉(zhuǎn)。
當(dāng)用戶欲進(jìn)行跳轉(zhuǎn)操作時,首先停止所述終端側(cè)的媒體播放器對所述流媒體的播放,此時所述媒體播放器將顯示當(dāng)前的播放進(jìn)度,即顯示當(dāng)前播放的時間點與該流媒體總時長的比例(例如11%)。
之后,用戶根據(jù)自己的意愿調(diào)節(jié)所述播放進(jìn)度(例如調(diào)節(jié)到27%),并確認(rèn)。
S104、定位時間段。
終端側(cè)的定位模塊先獲取用戶確定的跳轉(zhuǎn)時間點與所述流媒體總時長的比例(27%);以所述比例與所述流媒體的時間段數(shù)量相乘并向上取整,得到跳轉(zhuǎn)到的時間點歸屬的時間段,即27%*3=0.81并向上取整為1;定位到所述歸屬時間段的下一時間段,即第二時間段。
S105、從定位到的時間段包含的流媒體片段重新開始播放。
終端側(cè)的查找模塊根據(jù)所述定位模塊定位到的第二時間段,對應(yīng)查找第二時間段包含的流媒體片段當(dāng)前是否已保存在了終端側(cè)的緩存中。即對照上述跳轉(zhuǎn)列表,將頭域的數(shù)據(jù)量20K+第一時間段包含數(shù)據(jù)量為20K=40K,得到第二時間段對應(yīng)數(shù)據(jù)量的起始位置;若所述查找模塊查找到當(dāng)前緩存的數(shù)據(jù)包括“40K”之后的數(shù)據(jù),則直接重新開始播放;否則,終端側(cè)在向媒體服務(wù)器發(fā)送的請求消息中攜帶第二時間段的信息(包括第二時間段對應(yīng)數(shù)據(jù)量的起始位置),用于告知媒體服務(wù)器對應(yīng)下發(fā)的流媒體片段的起始位置,并在滿足播放要求時,重新開始播放。
方法實例二定位時間段后,直接向媒體服務(wù)器請求下載對應(yīng)的流媒體片段。
S201、用戶確認(rèn)在線播放流媒體。(與步驟S101相同)S202、終端側(cè)收到流媒體的頭域,完成解析。(與步驟S102相同)S203、用戶確認(rèn)跳轉(zhuǎn)。(與步驟S103相同)S204、定位時間段。(與步驟S104相同)S205、從定位到的時間段包含的流媒體片段重新開始播放。
終端側(cè)直接向媒體服務(wù)器發(fā)送攜帶有第二時間段信息的請求消息(包括第二時間段對應(yīng)數(shù)據(jù)量的起始位置),用于告知媒體服務(wù)器對應(yīng)下發(fā)的流媒體片段的起始位置。若終端側(cè)的緩存中當(dāng)前已經(jīng)保存了第二時間段包含的流媒體片段,則會以收到的數(shù)據(jù)覆蓋所述流媒體片段,并在滿足播放要求時,重新開始播放。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種在線播放中快速跳轉(zhuǎn)的方法,其特征在于,包括下列步驟A、終端側(cè)收到流媒體后,從中獲取網(wǎng)絡(luò)側(cè)將該流媒體以單位時長等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量,并開始播放;B、當(dāng)用戶確認(rèn)跳轉(zhuǎn)時,以跳轉(zhuǎn)到的時間點與所述流媒體總時長的比例定位到對應(yīng)的時間段;C、從所述定位到的時間段包含的流媒體片段的起始位置重新開始播放。
2.如權(quán)利要求1所述的方法,其特征在于,步驟A中終端側(cè)從所述流媒體的頭域中獲取網(wǎng)絡(luò)側(cè)以單位時長將該流媒體等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量。
3.如權(quán)利要求2所述的方法,其特征在于,步驟A中終端側(cè)還從所述流媒體中獲取所述流媒體的版本信息,當(dāng)終端側(cè)的媒體播放器支持該版本,則開始播放。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟A中,終端側(cè)將獲取的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量保存于跳轉(zhuǎn)列表中。
5.如權(quán)利要求4所述的方法,其特征在于,所述跳轉(zhuǎn)列表中各個表項的內(nèi)容對應(yīng)的數(shù)據(jù)量之和,滿足所述頭域的容量上限。
6.如權(quán)利要求1至5任一項所述的方法,其特征在于,所述步驟B包括下列步驟B1、獲取跳轉(zhuǎn)到的時間點與所述流媒體總時長的比例;B2、以所述比例與所述流媒體的時間段數(shù)量相乘并向上取整,得到需要跳轉(zhuǎn)到的時間點歸屬的時間段;B3、定位到所述歸屬時間段的下一時間段。
7.如權(quán)利要求6所述的方法,其特征在于,所述步驟C包括下列步驟C1、查詢所述跳轉(zhuǎn)表,計算出所述定位到的時間段包含的流媒體片段的起始位置;C2、查找所述起始位置之后的流媒體是否在終端側(cè)的緩存中,若在,則直接播放;否則,終端側(cè)以所述起始位置向服務(wù)器側(cè)請求下載,并在滿足播放要求時,重新開始播放。
8.一種終端,具有在線播放流媒體的功能,其特征在于,所述終端還包括頭域解析模塊,用于解析收到的流媒體的頭域,并從中獲取該流媒體的時間段數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量;跳轉(zhuǎn)列表生成模塊,用于根據(jù)所述頭域解析模塊獲取的信息,生成跳轉(zhuǎn)列表并保存;定位模塊,用于根據(jù)用戶確認(rèn)的跳轉(zhuǎn)時間點與所述流媒體總時長的比例,以及所述跳轉(zhuǎn)列表中的信息定位到對應(yīng)的時間段,以使本終端的播放器從定位到的時間段包含的流媒體片段重新開始播放。
9.如權(quán)利要求8所述的終端,其特征在于,所述終端還包括查找模塊,用于根據(jù)所述定位模塊定位到的時間段查找對應(yīng)的流媒體片段當(dāng)前是否在本終端的緩存中。
10.一種跳轉(zhuǎn)服務(wù)器,其特征在于,所述服務(wù)器包括單位時長確定模塊,用于根據(jù)流媒體的總時長,以及流媒體頭域的上限確定單位時長;等分模塊,用于根據(jù)所述單位時長確定模塊確定的單位時長將所述流媒體等分,并輸出等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量;頭域生成模塊,用于將所述等分模塊輸出的信息打包到該流媒體的頭域中。
全文摘要
本發(fā)明公開了一種在線播放中快速跳轉(zhuǎn)的方法、終端及服務(wù)器,用以解決目前在無線網(wǎng)絡(luò)環(huán)境下無法實現(xiàn)在線播放中的快速跳轉(zhuǎn),以及跳轉(zhuǎn)時浪費了網(wǎng)絡(luò)側(cè)資源的問題。本發(fā)明方法包括步驟A.終端側(cè)收到流媒體后,從中獲取網(wǎng)絡(luò)側(cè)將該流媒體以單位時長等分的時間段的數(shù)量,以及頭域和各個時間段分別包含的流媒體片段的數(shù)據(jù)量,并開始播放;B.當(dāng)用戶確認(rèn)跳轉(zhuǎn)時,以跳轉(zhuǎn)到的時間點與所述流媒體總時長的比例定位到對應(yīng)的時間段;C.從所述定位到的時間段包含的流媒體片段的起始位置重新開始播放。
文檔編號H04N7/173GK1997152SQ200610000229
公開日2007年7月11日 申請日期2006年1月6日 優(yōu)先權(quán)日2006年1月6日
發(fā)明者陳小平, 李奇, 田邊 申請人:騰訊科技(深圳)有限公司