面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,包括:客戶端發(fā)出時(shí)移請求以獲取切片索引文件;時(shí)移服務(wù)端由時(shí)移時(shí)間點(diǎn)得到時(shí)移狀態(tài)標(biāo)記;客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出切片索引文件獲取請求;時(shí)移服務(wù)端對切片索引文件獲取請求進(jìn)行處理,以得到該次時(shí)移請求的切片序列;時(shí)移服務(wù)端通過切片序列,生成相應(yīng)的直播切片索引文件,并返回給客戶端;客戶端從索引文件中取得具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放,并重復(fù)發(fā)出相同的切片索引文件獲取請求。實(shí)施上述方法的系統(tǒng),包括時(shí)移服務(wù)端與客戶端。本發(fā)明的客戶端簡單并易于實(shí)現(xiàn),無需計(jì)算需要獲取的時(shí)移索引范圍,無需保留并合并各次獲取時(shí)移索引。
【專利說明】面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻傳輸【技術(shù)領(lǐng)域】,尤其涉及一種面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法及系統(tǒng)。
【背景技術(shù)】
[0002]近年來,互聯(lián)網(wǎng)視頻業(yè)務(wù)在國內(nèi)外均處于一個(gè)蓬勃發(fā)展的時(shí)期,而互聯(lián)網(wǎng)視頻服務(wù)中廣泛采用了分片傳輸模式,以便于搭建或利用已有的CDN服務(wù)。具體的,包括適用于 ios 終端的 HTTP Live Streaming(HLS)協(xié)議、適用于 flash player 的 HTTP DynamicStreaming (HDS)協(xié)議,有可能作為下一代國際標(biāo)準(zhǔn)的 Dynamic Adaptive Streaming overHTTP (DASH)協(xié)議,此外還有一些基于flv切片格式的私有協(xié)議,等等。
[0003]HLS是蘋果公司提出的流媒體網(wǎng)絡(luò)傳輸協(xié)議,工作原理是把整個(gè)流分成一個(gè)個(gè)小的基于HTTP的文件來下載,每次只下載一些。當(dāng)媒體流正在播放時(shí),客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,允許流媒體會話適應(yīng)不同的數(shù)據(jù)速率。在開始一個(gè)流媒體會話時(shí),客戶端會下載一個(gè)包含元數(shù)據(jù)的extended M3U(m3u8)文件,即切片索引文件,用于尋找可用的媒體切片。
[0004]HDS是Adobe公司的傳統(tǒng)流媒體解決方案RTMP+FLV的結(jié)合,在互聯(lián)網(wǎng)視頻行業(yè)得到了廣泛的應(yīng)用。它包含了多個(gè)部件來完成內(nèi)容的準(zhǔn)備工作,并通過HTTP將內(nèi)容傳送給終端的Flash Player。內(nèi)容準(zhǔn)備模塊包括了面向VOD和面向Live直播的模塊,VOD打包模塊將媒體文件分片,并以F4F的格式存儲,Live直播打包模塊將直播流實(shí)時(shí)地寫入到F4F文件當(dāng)中。同時(shí)均會產(chǎn)生媒體對應(yīng)的F4M格式的索引文件,索引文件中包含了編碼、分辨率以及碼率等參數(shù)信息。
[0005]DASH也稱為MPEG-DASH,類似于HLS、HDS等協(xié)議,DASH也將視頻內(nèi)容切片為多個(gè)視頻小片段,每個(gè)片段包含一小段視頻內(nèi)容。DASH是第一個(gè)基于HTTP的自適應(yīng)碼率的國際標(biāo)準(zhǔn)。
[0006]綜合而言,此類協(xié)議的基本特點(diǎn)為:
[0007]均采用了索引文件加實(shí)際視頻切片的模式。
[0008]區(qū)分為點(diǎn)播、直播不同的服務(wù)形式:
[0009]采用分片傳輸模式來提供點(diǎn)播視頻服務(wù)時(shí),通??蛻舳藢⒁淮涡垣@得包含所有視頻切片索引信息的索引文件,進(jìn)而再依據(jù)播放內(nèi)容動(dòng)態(tài)獲取視頻切片內(nèi)容。HLS、HDS協(xié)議均是如此。
[0010]采用分片傳輸模式來提供直播視頻服務(wù)時(shí),通常客戶端將定期刷新下載包含當(dāng)前若干視頻切片索引信息的索引文件,進(jìn)而依據(jù)索引文件的內(nèi)容,以及當(dāng)前需要播放的內(nèi)容,決定是否獲取以及獲取哪些視頻切片內(nèi)容。如HLS協(xié)議時(shí),客戶端不停的下載更新m3u8索弓I文件,從中獲得新產(chǎn)生的切片URL后,再下載相應(yīng)切片文件并進(jìn)行播放。
[0011]通常直播、點(diǎn)播服務(wù)時(shí),索引文件的格式略有不同,客戶端以此區(qū)分服務(wù)的形式,如HLS協(xié)議時(shí),點(diǎn)播服務(wù)的m3u8尾部一般會有如下標(biāo)記“#EXT_X_ENDLIST”,而直播服務(wù)的m3u8則一般沒有這個(gè)標(biāo)記。如HDS協(xié)議時(shí),貝U索引f4m文件則通過“〈streamType〉”為recorded或live來區(qū)分點(diǎn)播還是直播。
[0012]隨著視頻直播業(yè)務(wù)的開展,直播時(shí)移的需求也越來越強(qiáng)烈。直播時(shí)移的功能,是指用戶在觀看直播時(shí),可通過拖動(dòng)播放器進(jìn)度條等形式,定位到當(dāng)前直播點(diǎn)之前的某個(gè)時(shí)間點(diǎn)進(jìn)行觀看,視頻直播時(shí)視頻數(shù)據(jù)是永遠(yuǎn)存在的,沒有結(jié)尾,所以直播時(shí)移觀看過程也同樣是可一直持續(xù)的,如同用戶從那個(gè)時(shí)間點(diǎn)開始收看直播一樣。
[0013]在傳統(tǒng)的流媒體【技術(shù)領(lǐng)域】,客戶端和服務(wù)器之間通常采用rtsp、rtmp、flv-http等面向連接的傳輸和交互協(xié)議,通過這些協(xié)議實(shí)現(xiàn)時(shí)移的基本方法是:
[0014]I)在客戶端和服務(wù)器建立連接后,即開始接收流數(shù)據(jù),在直播的過程中,該連接不會中斷。
[0015]2)在客戶端要求訪問時(shí)移數(shù)據(jù)時(shí),通過已建立的連接,將希望跳轉(zhuǎn)到的時(shí)間值傳遞給服務(wù)端,服務(wù)端定位到該時(shí)間值繼續(xù)發(fā)送流數(shù)據(jù)。
[0016]3)客戶端收到流數(shù)據(jù)后,從該時(shí)間點(diǎn)開始按視頻流的時(shí)間戳開始播放。此后客戶端的播放視頻內(nèi)容將始終與當(dāng)前最新的視頻內(nèi)容保持一個(gè)恒定的差值。
[0017]4)客戶端還可進(jìn)行快進(jìn)、快退、跳回當(dāng)前直播點(diǎn)等操作,服務(wù)器端接收到客戶端請求后,調(diào)整相應(yīng)的視頻數(shù)據(jù)發(fā)送策略,以達(dá)到不同的效果。
[0018]如果采用分片傳輸機(jī)制來實(shí)現(xiàn)直播時(shí)移服務(wù),特別是基于HLS、HDS等通用協(xié)議時(shí),面臨不少問題:
[0019]采用點(diǎn)播的模式來實(shí)現(xiàn)一種近似但不等價(jià)于直播時(shí)移的功能。如針對HLS協(xié)議,通過在獲取m3u8的URL中攜帶時(shí)間點(diǎn)參數(shù)的方法來訪問服務(wù)端,服務(wù)端接收到客戶端攜帶時(shí)間參數(shù)的獲取m3u8訪問請求后,回應(yīng)一個(gè)點(diǎn)播類型的m3u8文件給客戶端,文件中的最舊切片為請求時(shí)間參數(shù)對應(yīng)切片,最新切片為當(dāng)前時(shí)間對應(yīng)切片??蛻舳耸盏竭@樣的m3u8,遵循處理點(diǎn)播類型m3u8的規(guī)則,將播放從該m3u8中的最舊切片到該m3u8中的最新切片,然后結(jié)束播放,這樣將無法獲取并播放隨著時(shí)間的推移而新生成出來的切片。
[0020]也有采用專門客戶端軟件來實(shí)現(xiàn)基于分片傳輸?shù)闹辈r(shí)移,但這樣通常是基于標(biāo)準(zhǔn)的HLS、HDS等協(xié)議做適當(dāng)?shù)男薷模缭谇笆鳇c(diǎn)播模式實(shí)現(xiàn)近似直播時(shí)移服務(wù)時(shí),當(dāng)播放結(jié)束后,從結(jié)束時(shí)間點(diǎn)再啟動(dòng)一個(gè)新的菜單回看,并循環(huán)往復(fù)下去,以此模擬持續(xù)不斷地時(shí)移直播。但這種模式,標(biāo)準(zhǔn)的ios player、flash player無法直接使用,限制了直播時(shí)移應(yīng)用的推廣。
[0021]有的時(shí)移服務(wù),將較大范圍的視頻切片索引信息以直播的形式全部發(fā)送到客戶端,如整個(gè)服務(wù)端的可時(shí)移范圍,客戶端在此范圍內(nèi)可進(jìn)行拖動(dòng)操作,即時(shí)移操作,同時(shí)因?yàn)椴捎昧酥辈バ问?,所以客戶端會定期更新索引文件以獲取新的切片信息。這樣也可實(shí)現(xiàn)直播時(shí)移服務(wù),但每次獲取索引信息的數(shù)據(jù)量較大,即使采用HTTP-Gzip等壓縮算法,當(dāng)采用HLS協(xié)議時(shí),在7天時(shí)移的大尺度時(shí)移范圍下,索引文件的大小仍將達(dá)到幾百K字節(jié)。
[0022]可見,問題的關(guān)鍵在于,當(dāng)采用HLS、HDS等互聯(lián)網(wǎng)主流的分片傳輸播放協(xié)議時(shí),在點(diǎn)播模式下客戶端不會主動(dòng)更新索引文件,無法實(shí)現(xiàn)直播時(shí)移內(nèi)容的持續(xù)播放,在直播模式下,由于采用了客戶端被動(dòng)請求索引信息的模式,即客戶端每次發(fā)出的索引信息獲取的URL均是一樣的,不會依據(jù)自身的播放狀態(tài)向服務(wù)端指定獲取一個(gè)特定范圍內(nèi)的索引信息,這樣在直播時(shí)服務(wù)端僅能依據(jù)當(dāng)前直播點(diǎn)為客戶端提供最近的一段索引信息,通常HLS為最近的10個(gè)切片文件的索引信息,但時(shí)移服務(wù)時(shí),每個(gè)用戶在不同時(shí)間點(diǎn)所需要的索引信息均是不同的。
【發(fā)明內(nèi)容】
[0023]針對上述問題中存在的不足之處,本發(fā)明提供一種客戶端簡單并易于實(shí)現(xiàn),無需計(jì)算需要獲取的時(shí)移索引范圍,無需保留并合并各次獲取時(shí)移索引的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法及系統(tǒng)。
[0024]為實(shí)現(xiàn)上述目的,本發(fā)明提供一種面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,包括以下步驟:
[0025]S100、客戶端發(fā)出時(shí)移請求R以獲取切片索引文件;
[0026]S200、時(shí)移服務(wù)端接到客戶端請求后,由時(shí)移時(shí)間點(diǎn)TR得到時(shí)移狀態(tài)標(biāo)記TF,若時(shí)移時(shí)間點(diǎn)TR與時(shí)移狀態(tài)標(biāo)記TF相同,則跳轉(zhuǎn)執(zhí)行步驟S400,若二者不同,則向客戶端反饋直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF ;
[0027]S300、客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出切片索引文件獲取請求,并將時(shí)移請求R重定義為該請求;
[0028]S400、時(shí)移服務(wù)端依據(jù)時(shí)移狀態(tài)標(biāo)記TF或時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC,并依據(jù)當(dāng)前物理時(shí)間或當(dāng)前直播流時(shí)間戳,對切片索引文件獲取請求進(jìn)行處理,以得到該次時(shí)移請求R的切片序列;
[0029]S500、時(shí)移服務(wù)端通過切片序列,生成相應(yīng)的直播切片索引文件,并返回給客戶端;
[0030]S600、客戶端從索引文件中取得具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放,并重復(fù)向時(shí)移服務(wù)端發(fā)出和時(shí)移請求R相同的切片索引文件獲取請求,以不斷獲得新的切片序列、下載新的切片文件并播放。
[0031]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,在步驟SlOO中,客戶端發(fā)出時(shí)移請求R中包括直播內(nèi)容標(biāo)識CH與時(shí)移時(shí)間點(diǎn)TR,其中,直播內(nèi)容標(biāo)識CH為頻道名稱、頻道URL或頻道ID ;
[0032]時(shí)移時(shí)間點(diǎn)TR為時(shí)移點(diǎn)的物理時(shí)間TA、時(shí)移點(diǎn)的視頻流時(shí)間戳TB、或時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC中的一種。
[0033]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,在步驟S200中,
[0034]若時(shí)移時(shí)間點(diǎn)TR是時(shí)移點(diǎn)物理時(shí)間TA或時(shí)移點(diǎn)流時(shí)間戳TB,向客戶端反饋直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF,將客戶端請求進(jìn)行HTTP重定向,重定向的URL中包含直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF,包括:
[0035]情況a、若時(shí)移時(shí)間點(diǎn)TR為時(shí)移點(diǎn)物理時(shí)間TA,則時(shí)移狀態(tài)標(biāo)記TF為時(shí)移點(diǎn)的流時(shí)間戳信息和當(dāng)前物理時(shí)間信息的元組;
[0036]情況b、若時(shí)移時(shí)間點(diǎn)TR為時(shí)移點(diǎn)流時(shí)間戳TB,則時(shí)移狀態(tài)標(biāo)記TF為時(shí)移點(diǎn)的流時(shí)間戳信息和當(dāng)前物理時(shí)間信息的元組。
[0037]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,若時(shí)移時(shí)間點(diǎn)TR是時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC,則時(shí)移狀態(tài)標(biāo)記TF為時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC。
[0038]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,在步驟S300中,客戶端發(fā)出的切片索引文件獲取請求中包括直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF。
[0039]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,在步驟S400中,包括以下步驟:
[0040]S401、從切片索引文件請求中得到時(shí)移狀態(tài)標(biāo)記TF或時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC ;
[0041 ] S402、若從切片索弓I文件請求中得到時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC,則時(shí)移狀態(tài)標(biāo)記TF是TFC,且TFC為時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC ;
[0042]S403、取當(dāng)前物理時(shí)間T或當(dāng)前流時(shí)間戳S ;
[0043]S404、計(jì)算本次時(shí)移請求R對應(yīng)的流時(shí)間戳ST,包括:
[0044]若時(shí)移狀態(tài)標(biāo)記TF是TFA,則:流時(shí)間戳ST=TFAl+ (T-TFA2)
[0045]若時(shí)移狀態(tài)標(biāo)記TF是TFB,則:流時(shí)間戳ST=TFBl+ (T-TFB2)
[0046]若時(shí)移狀態(tài)標(biāo)記TF是TFC,則:流時(shí)間戳ST=S-TFC ;
[0047]S405、計(jì)算本次時(shí)移請求R對應(yīng)的切片序列。
[0048]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,在步驟S500中,包括:
[0049]情況a:當(dāng)協(xié)議為HLS協(xié)議時(shí),按照m3u8文件格式規(guī)范,時(shí)移服務(wù)基于預(yù)設(shè)的切片時(shí)間間隔D、切片序列和存儲的時(shí)移數(shù)據(jù),生成m3u8格式的切片索引文件;
[0050]情況b:當(dāng)協(xié)議為HDS協(xié)議時(shí),按照bootstrap文件格式規(guī)范,時(shí)移服務(wù)基于預(yù)設(shè)的切片時(shí)間間隔D、切片序列和存儲的時(shí)移數(shù)據(jù),生成bootstrap格式的切片索引文件。
[0051]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,在步驟S600中,還包括:客戶端向時(shí)移服務(wù)端重復(fù)發(fā)出的切片索引文件獲取請求中,包含直播內(nèi)容標(biāo)識CH和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC或直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF。
[0052]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,在步驟SlOO實(shí)施前,還包括在時(shí)移服務(wù)端中建立時(shí)移數(shù)據(jù)存儲區(qū)的步驟S10,其步驟如下:
[0053]S11、定義時(shí)移時(shí)間長度為L,則時(shí)移服務(wù)器保證存儲從時(shí)間戳(S-L)到當(dāng)前時(shí)間戳S的音、視頻數(shù)據(jù),且隨著時(shí)間戳S的推移,不斷刪除舊的時(shí)移數(shù)據(jù)和存儲新的時(shí)移數(shù)據(jù),進(jìn)行滾動(dòng)存儲;
[0054]S12、對直播視頻數(shù)據(jù)和時(shí)移視頻數(shù)據(jù),建立時(shí)間戳和切片序列的映射規(guī)則。
[0055]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,在步驟SlO中,預(yù)設(shè)的索引文件中需包含的切片個(gè)數(shù)C是常量,與時(shí)移時(shí)間長度L無關(guān)。
[0056]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,當(dāng)協(xié)議為HLS協(xié)議時(shí),預(yù)設(shè)的索引文件中需包含的切片個(gè)數(shù)C最常見的取值為C=10,比較常見取值為3<=C<=20 ;當(dāng)協(xié)議為HDS協(xié)議時(shí),C最常見的取值為C=20,比較常見取值為5〈=C〈=50。
[0057]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,當(dāng)用戶要訪問多個(gè)碼率直播構(gòu)成的自適應(yīng)碼率直播組內(nèi)容進(jìn)行時(shí)移時(shí),包括以下步驟:
[0058]SAO1、客戶端發(fā)出時(shí)移請求R時(shí),攜帶請求的直播頻道組內(nèi)容標(biāo)識CG、時(shí)移時(shí)間點(diǎn)TR ;[0059]SA02、時(shí)移服務(wù)端接到客戶端請求后,對時(shí)移時(shí)間點(diǎn)TR進(jìn)行解析,若時(shí)移時(shí)間點(diǎn)TR為是時(shí)移點(diǎn)物理時(shí)間TA或時(shí)移點(diǎn)流時(shí)間戳TB,則選擇該直播組中一路直播,得到時(shí)移狀態(tài)標(biāo)記TF,然后向客戶端反饋直播頻道組內(nèi)容標(biāo)識CG和時(shí)移狀態(tài)標(biāo)記TF ;
[0060]若時(shí)移時(shí)間點(diǎn)TR是時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC,則直接跳轉(zhuǎn)至SA04 ;
[0061]SA03、客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出請求,請求中攜帶直播頻道組內(nèi)容標(biāo)識CG和時(shí)移狀態(tài)標(biāo)記TF ;
[0062]SA04、時(shí)移服務(wù)端接到客戶端攜帶的直播頻道組內(nèi)容標(biāo)識CG和時(shí)移狀態(tài)標(biāo)記TF或直播頻道組內(nèi)容標(biāo)識CG和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC的請求后,生成組索引文件返回給客戶端;
[0063]SA05、客戶端收到組索引文件后,獲取其中包含的各路直播對應(yīng)的索引文件URL ;
[0064]SA06、客戶端對各路直播對應(yīng)的索引文件URL進(jìn)行判斷,若各路直播對應(yīng)的索引文件URL中包含多個(gè)URL,則依據(jù)自身情況選擇URL并進(jìn)行請求;
[0065]若各路直播對應(yīng)的索引文件URL中只有一個(gè)URL,則直接請求該URL ;
[0066]SA07、時(shí)移服務(wù)端接收到客戶端的包含直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF或直播內(nèi)容標(biāo)識CH和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC的索引獲取請求后,并依次執(zhí)行步驟S400和S500,形成索引文件返回給客戶端;
[0067]SA08、客戶端收到索引文件后,從索引文件中取得具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放;
[0068]SA09、跳轉(zhuǎn)至步驟SA06,以維持時(shí)移過程。
[0069]上述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其中,在時(shí)移過程中采用下述步驟以進(jìn)行快進(jìn),包括:
[0070]SBO1、客戶端發(fā)送快進(jìn)請求時(shí),URL中攜帶直播內(nèi)容標(biāo)識CH、時(shí)移時(shí)間點(diǎn)TR與播放標(biāo)識PM ;
[0071]SB02、時(shí)移服務(wù)端接收客戶端請求;
[0072]SB03、時(shí)移服務(wù)端從請求URL中,獲得播放標(biāo)識PM,并提取出快進(jìn)倍速SP ;
[0073]SB04、若播放標(biāo)識PM是快進(jìn)的請求,且當(dāng)前播放內(nèi)容已達(dá)到直播點(diǎn),則時(shí)移服務(wù)端發(fā)送重定向請求給客戶端,重定向到正常速率播放的URL,結(jié)束快進(jìn)處理過程;若當(dāng)前播放內(nèi)容未達(dá)到直播點(diǎn),則轉(zhuǎn)SB05 ;
[0074]SB05、時(shí)移服務(wù)端由時(shí)移時(shí)間點(diǎn)TR得到時(shí)移狀態(tài)標(biāo)記TFjf TF和快進(jìn)倍速SP反
饋給客戶端;
[0075]SB06、客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出新的切片索引文件獲取請求;
[0076]SB07、時(shí)移服務(wù)端取當(dāng)前物理時(shí)間T ;
[0077]SB08、時(shí)移服務(wù)端從客戶端請求中獲取時(shí)移狀態(tài)標(biāo)記TF和快進(jìn)倍速SP后,計(jì)算本次時(shí)移快進(jìn)請求對應(yīng)的流時(shí)間戳ST ;
[0078]SB09、時(shí)移服務(wù)端計(jì)算本次時(shí)移請求R對應(yīng)的切片序列:
[0079]將時(shí)間戳ST作為輸入,執(zhí)行步驟S12的映射規(guī)則,得到切片序列;
[0080]SB10、時(shí)移服務(wù)端通過切片序列,生成相應(yīng)的切片索引文件,返回給客戶端;[0081]SB11、客戶端從索引文件中取得具體的切片序列,發(fā)送實(shí)際切片文件的訪問請求;
[0082]SB12、時(shí)移服務(wù)端收到客戶端發(fā)來的切片訪問請求后,返回的切片中只包含關(guān)鍵幀,不包含其他視頻幀類型數(shù)據(jù)和音頻數(shù)據(jù),包括:
[0083]SB121、返回的切片中只包含部分關(guān)鍵幀,而忽略掉另一部分關(guān)鍵幀,以保證快進(jìn)時(shí)發(fā)送的切片數(shù)據(jù)占用帶寬不會過大;
[0084]SB122、修改返回的切片中的關(guān)鍵幀時(shí)間戳,以使時(shí)間戳的增長速度符合視頻流的快進(jìn)播放所需的增長速度;
[0085]SB13、客戶端播放收到的切片數(shù)據(jù);
[0086]SB14、客戶端重復(fù)向時(shí)移服務(wù)端發(fā)出包含直播內(nèi)容標(biāo)識CH、時(shí)移狀態(tài)標(biāo)記TF、快進(jìn)倍速SP的快進(jìn)切片索引文件獲取請求,以不斷獲得新的切片序列、下載新的切片文件并播放。
[0087]本發(fā)明還提供一種實(shí)施上述面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法的系統(tǒng),包括客戶端與時(shí)移服務(wù)端,其中,客戶端包括:
[0088]客戶端數(shù)據(jù)傳輸模塊,用于發(fā)送時(shí)移請求、向時(shí)移服務(wù)端發(fā)送切片索引文件獲取請求、以及接收時(shí)移服務(wù)端的反饋;
[0089]切片索引文件獲取模塊,用于獲取切片索引文件;
[0090]切片序列處理模塊,用于取得索引文件中具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放,并重復(fù)發(fā)出切片索引文件獲取請求,以不斷獲得新的切片序列、下載新的切片文件并播放;
[0091]時(shí)移服務(wù)端包括:
[0092]時(shí)移數(shù)據(jù)存儲區(qū),用于存儲時(shí)移數(shù)據(jù);
[0093]時(shí)移狀態(tài)標(biāo)記生成模塊,用于在時(shí)移服務(wù)端接到客戶端請求后,由時(shí)移時(shí)間點(diǎn)得到時(shí)移狀態(tài)標(biāo)記;
[0094]切片序列生成模塊,用于對切片索引文件獲取請求進(jìn)行處理,以得到該次時(shí)移請求的切片序列;
[0095]直播切片索引文件生成模塊,用于通過切片序列生成相應(yīng)的直播切片索引文件;
[0096]時(shí)移服務(wù)端數(shù)據(jù)傳輸模塊,用于接收客戶端發(fā)送的時(shí)移請求,并將時(shí)移服務(wù)端的反饋以及生成的直播切片索引文件發(fā)送給客戶端。
[0097]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
[0098]1、客戶端簡單并易于實(shí)現(xiàn),無需計(jì)算需要獲取的時(shí)移索引范圍,無需保留并合并各次獲取的時(shí)移索引;
[0099]2、適用于HLS、HDS> DASH等協(xié)議,使得ios player、flash player可直接訪問直播時(shí)移服務(wù),易于在互聯(lián)網(wǎng)無須安裝定制播放器即可實(shí)現(xiàn)直播時(shí)移服務(wù);
[0100]3、在回退到時(shí)移點(diǎn)后,可像直播服務(wù)那樣,持續(xù)播放視頻內(nèi)容,而不會像菜單時(shí)移服務(wù)那樣,在視頻播放到某個(gè)時(shí)間點(diǎn)后停止播放;
[0101]4、在提供時(shí)移服務(wù)時(shí),可實(shí)現(xiàn)快進(jìn)播放;
[0102]5、支持多個(gè)碼率直播構(gòu)成的自適應(yīng)碼率直播組的時(shí)移;
[0103]6、在大尺度時(shí)移范圍時(shí),無須下載數(shù)據(jù)量過大的索引文件,僅需下載當(dāng)前播放點(diǎn)附近的視頻片斷對應(yīng)的索引信息,提高了網(wǎng)絡(luò)傳輸效率和服務(wù)響應(yīng)時(shí)間;
[0104]7、針對多臺時(shí)移服務(wù)器構(gòu)成的分布式系統(tǒng)(如CDN系統(tǒng)),可使客戶端在訪問不同的時(shí)移服務(wù)器來獲取視頻片段索引信息時(shí),隨時(shí)間推移所獲得的索引信息之間保持連續(xù),如同一直訪問一臺服務(wù)器一樣,而不會因?yàn)樵L問服務(wù)器的改變而出現(xiàn)獲得的索引信息之間不連續(xù)的情況。
【專利附圖】
【附圖說明】
[0105]圖1為本發(fā)明方法部分的流程圖。
【具體實(shí)施方式】
[0106]如圖1所不,本發(fā)明提供一種面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,包括以下步驟:
[0107]S100、客戶端發(fā)出時(shí)移請求R以獲取切片索引文件。
[0108]具體的,在步驟SlOO中: [0109]客戶端發(fā)出時(shí)移請求R中包括直播內(nèi)容標(biāo)識CH與時(shí)移時(shí)間點(diǎn)TR,其中,直播內(nèi)容標(biāo)識CH為頻道名稱、頻道URL、頻道ID或其他直播內(nèi)容標(biāo)識信息;
[0110]時(shí)移時(shí)間點(diǎn)TR為時(shí)移點(diǎn)的物理時(shí)間TA、時(shí)移點(diǎn)的視頻流時(shí)間戳TB、時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC或其他時(shí)移時(shí)間點(diǎn)表示方式。
[0111]另外,在步驟SlOO實(shí)施前,需要執(zhí)行步驟S10,在時(shí)移服務(wù)端中建立時(shí)移數(shù)據(jù)存儲區(qū)。
[0112]具體的,包括以下步驟:
[0113]定義時(shí)移時(shí)間長度為L,則時(shí)移服務(wù)器保證存儲從時(shí)間戳(S-L)到當(dāng)前時(shí)間戳S的視音頻數(shù)據(jù),且隨著時(shí)間戳S的推移,不斷刪除舊的時(shí)移數(shù)據(jù)和存儲新的時(shí)移數(shù)據(jù),進(jìn)行滾動(dòng)存儲。
[0114]對直播視頻數(shù)據(jù)和時(shí)移視頻數(shù)據(jù),建立時(shí)間戳和切片序列的映射規(guī)則。其中,對時(shí)間戳和切片序列的具體映射方法包括以下步驟:
[0115]設(shè)定IS=直播視頻數(shù)據(jù)和時(shí)移視頻數(shù)據(jù)中的關(guān)鍵幀的時(shí)間戳集合,IS=UcpI1^-1
[0116]從IS中查找小于等于CS的元素,從滿足條件的元素中取最大值,設(shè)為ICS,其中,CS為一個(gè)任意的合法的視頻流時(shí)間戳;
[0117]計(jì)算CS對應(yīng)切片號N(CS),方法為:N(CS) =取整(F (ICS)),其中,F(xiàn)是以ICS為自變量的線性函數(shù);其中,F(xiàn)的一種定義方法為:
[0118]設(shè)定D=預(yù)設(shè)的切片時(shí)間間隔,則F(ICS) =ICS/D。
[0119]設(shè)定C=預(yù)設(shè)的索引文件中需包含的切片個(gè)數(shù),則CS對應(yīng)的切片序列的切片號集合為:{N(CS) -C+1+B,N(CS) -C+2+B,...N (CS)+B},其中:B 是取值范圍[0,C-1]的常整數(shù)。
[0120]其中,預(yù)設(shè)的索引文件中需包含的切片個(gè)數(shù)C是常量,與時(shí)移時(shí)間長度L無關(guān)。
[0121]其中,當(dāng)協(xié)議為HLS協(xié)議時(shí),預(yù)設(shè)的索引文件中需包含的切片個(gè)數(shù)C最常見的取值為C=IO,比較常見取值為3〈=C〈=20 ;當(dāng)協(xié)議為HDS協(xié)議時(shí),C最常見的取值為C=20,比較常見取值為5〈=C〈=50。
[0122]S200、時(shí)移服務(wù)端接收到客戶端請求后,由時(shí)移時(shí)間點(diǎn)TR得到時(shí)移狀態(tài)標(biāo)記TF,并將時(shí)移狀態(tài)標(biāo)記TR與時(shí)移時(shí)間點(diǎn)TF進(jìn)行比較,若時(shí)移時(shí)間點(diǎn)TR與時(shí)移狀態(tài)標(biāo)記TF相同,則跳轉(zhuǎn)執(zhí)行步驟S400,若二者不同,則向客戶端反饋直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF0
[0123]具體的,在步驟S200中,包括:
[0124]若時(shí)移時(shí)間點(diǎn)TR是時(shí)移點(diǎn)物理時(shí)間TA或時(shí)移點(diǎn)流時(shí)間戳TB,向客戶端反饋直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF,將客戶端請求進(jìn)行HTTP重定向,重定向的URL中包含直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF,包括:
[0125]情況a、若時(shí)移時(shí)間點(diǎn)TR為時(shí)移點(diǎn)物理時(shí)間TA,則時(shí)移狀態(tài)標(biāo)記TF為時(shí)移點(diǎn)的流時(shí)間戳信息和當(dāng)前物理時(shí)間信息的元組:
[0126]TF 為 TFA,由 TFAl 和 TFA2 構(gòu)成,TFA= {TFAI, TFA2},其中:
[0127]TFAl=S- (T-TA)
[0128]TFA2=T
[0129]其中,T為 當(dāng)前物理時(shí)間,S為當(dāng)前流時(shí)間戳。
[0130]情況b、若時(shí)移時(shí)間點(diǎn)TR為時(shí)移點(diǎn)流時(shí)間戳TB,則時(shí)移狀態(tài)標(biāo)記TF為時(shí)移點(diǎn)的流時(shí)間戳信息和當(dāng)前物理時(shí)間信息的元組:
[0131]TF 為 TFB,由 TFBl 和 TFB2 構(gòu)成,TFB={TFBI,TFB2},其中:
[0132]TFBl=TB
[0133]TFB2=T
[0134]其中,T為當(dāng)前物理時(shí)間。
[0135]另外,若時(shí)移時(shí)間點(diǎn)TR是時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC,則時(shí)移狀態(tài)標(biāo)記TF為時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC。
[0136]S300、客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出切片索引文件獲取請求,并將時(shí)移請求R重定義為該請求。其中,客戶端發(fā)出的切片索引文件獲取請求中包括直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF。
[0137]S400、時(shí)移服務(wù)端依據(jù)時(shí)移狀態(tài)標(biāo)記TF或時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC,并依據(jù)當(dāng)前物理時(shí)間或當(dāng)前直播流時(shí)間戳,對切片索引文件獲取請求進(jìn)行處理,以得到該次時(shí)移請求R的切片序列。
[0138]具體的,包括以下步驟:
[0139]S401、從切片索引文件請求中得到時(shí)移狀態(tài)標(biāo)記TF或時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC ;
[0140]S402、若從切片索引文件請求中得到時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC,則時(shí)移狀態(tài)標(biāo)記TF是TFC,且TFC為時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC ;
[0141]S403、取當(dāng)前物理時(shí)間T或當(dāng)前流時(shí)間戳S ;
[0142]S404、計(jì)算本次時(shí)移請求R對應(yīng)的流時(shí)間戳ST,包括:
[0143]若時(shí)移狀態(tài)標(biāo)記TF是TFA,則:流時(shí)間戳ST=TFAl+(T-TFA2)
[0144]若時(shí)移狀態(tài)標(biāo)記TF是TFB,則:流時(shí)間戳ST=TFBl+(T-TFB2)
[0145]若時(shí)移狀態(tài)標(biāo)記TF是TFC,則:流時(shí)間戳ST=S-TFC ;
[0146]S405、計(jì)算本次時(shí)移請求R對應(yīng)的切片序列:將時(shí)間戳ST作為輸入,執(zhí)行S12的映射規(guī)則,得到切片序列。[0147]S500、時(shí)移服務(wù)端通過切片序列,生成相應(yīng)的直播切片索引文件,并返回給客戶端。
[0148]在步驟S500中還包括:
[0149]情況a:當(dāng)協(xié)議為HLS協(xié)議時(shí),按照m3u8文件格式規(guī)范,時(shí)移服務(wù)基于預(yù)設(shè)的切片時(shí)間間隔D、切片序列和存儲的時(shí)移數(shù)據(jù),生成m3u8格式的切片索引文件;
[0150]情況b:當(dāng)協(xié)議為HDS協(xié)議時(shí),按照bootstrap文件格式規(guī)范,時(shí)移服務(wù)基于預(yù)設(shè)的切片時(shí)間間隔D、切片序列和存儲的時(shí)移數(shù)據(jù),生成bootstrap格式的切片索引文件。
[0151]S600、客戶端從索引文件中取得具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放,并重復(fù)向時(shí)移服務(wù)端發(fā)出和時(shí)移請求R相同的切片索引文件獲取請求,以不斷獲得新的切片序列、下載新的切片文件并播放。其中,客戶端向時(shí)移服務(wù)端重復(fù)發(fā)出的切片索引文件獲取請求中,包含直播內(nèi)容標(biāo)識CH和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC或直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF
[0152]另外,在時(shí)移服務(wù)端對當(dāng)前物理時(shí)間T或當(dāng)前流時(shí)間戳S取值時(shí),針對多臺服務(wù)器構(gòu)成的分布式直播時(shí)移系統(tǒng),當(dāng)用戶在直播時(shí)移過程中,在不同時(shí)刻需要訪問不同的時(shí)移服務(wù)器來獲取索引文件時(shí),應(yīng)對不同服務(wù)器的當(dāng)前物理時(shí)間T和當(dāng)前直播流時(shí)間戳S進(jìn)行同步。包括以下步驟:
[0153]多臺時(shí)移服務(wù)器利用NTP時(shí)間同步服務(wù)器進(jìn)行物理時(shí)間T同步;
[0154]在多臺時(shí)移服務(wù)器中,選擇一臺作為源服務(wù)器。各時(shí)移服務(wù)器需要取得物理時(shí)間T時(shí),并不取本地物理時(shí)間,而是向源服務(wù)器獲取其物理時(shí)間作為T ;
[0155]在多臺時(shí)移服務(wù)器中,選擇一臺作為源服務(wù)器。各時(shí)移服務(wù)器的當(dāng)前直播流時(shí)間戳不是在本地自行生成,而是向源服務(wù)器獲取其當(dāng)前直播流時(shí)間戳作為S。
[0156]在本發(fā)明中,當(dāng)用戶要訪問多個(gè)碼率直播構(gòu)成的自適應(yīng)碼率直播組內(nèi)容進(jìn)行時(shí)移時(shí),采用下述步驟實(shí)現(xiàn):
[0157]SAO1、客戶端發(fā)出時(shí)移請求R時(shí),攜帶請求的直播頻道組內(nèi)容標(biāo)識CG、時(shí)移時(shí)間點(diǎn)TR ;
[0158]SA02、時(shí)移服務(wù)端接到客戶端請求后,對時(shí)移時(shí)間點(diǎn)TR進(jìn)行解析,若時(shí)移時(shí)間點(diǎn)TR為是時(shí)移點(diǎn)物理時(shí)間TA或時(shí)移點(diǎn)流時(shí)間戳TB,則選擇該直播組中一路直播,得到時(shí)移狀態(tài)標(biāo)記TF,然后向客戶端反饋直播頻道組內(nèi)容標(biāo)識CG和時(shí)移狀態(tài)標(biāo)記TF ;
[0159]若時(shí)移時(shí)間點(diǎn)TR是時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC,則直接跳轉(zhuǎn)至SA04 ;
[0160]SA03、客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出請求,請求中攜帶直播頻道組內(nèi)容標(biāo)識CG和時(shí)移狀態(tài)標(biāo)記TF ;
[0161]SA04、時(shí)移服務(wù)端接收到客戶端攜帶的直播頻道組內(nèi)容標(biāo)識CG和時(shí)移狀態(tài)標(biāo)記TF或直播頻道組內(nèi)容標(biāo)識CG和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC的請求后,生成組索引文件返回給客戶端,組索引文件包含該直播組中各路直播對應(yīng)的索引文件URL,URL中包含直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF或直播內(nèi)容標(biāo)識CH和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC;
[0162]SA05、客戶·端收到組索引文件后,獲取其中包含的各路直播對應(yīng)的索引文件URL ;
[0163]SA06、客戶端對各路直播對應(yīng)的索引文件URL進(jìn)行判斷,若各路直播對應(yīng)的索引文件URL中包含多個(gè)URL,則依據(jù)自身情況選擇URL并進(jìn)行請求;
[0164]若各路直播對應(yīng)的索引文件URL中只有一個(gè)URL,則直接請求該URL ;
[0165]SA07、時(shí)移服務(wù)端接收到客戶端的包含直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF或直播內(nèi)容標(biāo)識CH和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值TC的索引獲取請求后,并依次執(zhí)行步驟S400和S500,形成索引文件返回給客戶端;
[0166]SA08、客戶端收到索引文件后,從索引文件中取得具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放;
[0167]SA09、跳轉(zhuǎn)至步驟SA06,以維持時(shí)移過程。
[0168]在本發(fā)明中,在時(shí)移過程中采用下述步驟以進(jìn)行快進(jìn),包括:
[0169]SBO1、客戶端發(fā)送快進(jìn)請求時(shí),URL中攜帶直播內(nèi)容標(biāo)識CH、時(shí)移時(shí)間點(diǎn)TR與播放標(biāo)識PM ;
[0170]其中,時(shí)移時(shí)間點(diǎn)TR:只能是時(shí)移點(diǎn)物理時(shí)間TA或時(shí)移點(diǎn)流時(shí)間戳TB ;
[0171]播放標(biāo)識PM:包含:是快進(jìn)還是正常播放、快進(jìn)倍速;
[0172]SB02、時(shí)移服務(wù)端接收客戶端請求;
[0173]SB03、時(shí)移服務(wù) 端從請求URL中,獲得播放標(biāo)識PM,并提取出快進(jìn)倍速SP ;
[0174]SB04、若播放標(biāo)識PM是快進(jìn)的請求,且當(dāng)前播放內(nèi)容已達(dá)到直播點(diǎn),則時(shí)移服務(wù)端發(fā)送重定向請求給客戶端,重定向到正常速率播放的URL,結(jié)束快進(jìn)處理過程;若當(dāng)前播放內(nèi)容未達(dá)到直播點(diǎn),則執(zhí)行步驟SB05 ;
[0175]SB05、時(shí)移服務(wù)端由時(shí)移時(shí)間點(diǎn)TR得到時(shí)移狀態(tài)標(biāo)記TFjf TF和快進(jìn)倍速SP反饋給客戶端,包括:
[0176]情況a、若時(shí)移時(shí)間點(diǎn)TR為時(shí)移點(diǎn)物理時(shí)間TA,則時(shí)移狀態(tài)標(biāo)記TF為時(shí)移點(diǎn)的流時(shí)間戳信息和當(dāng)前物理時(shí)間信息的元組:
[0177]TF 為 TFA,由 TFAl 和 TFA2 構(gòu)成,TFA= {TFA1,TFA2},其中:
[0178]TFAl=S- (T-TA)
[0179]TFA2=T
[0180]其中,T為當(dāng)前物理時(shí)間,S為當(dāng)前流時(shí)間戳;
[0181]情況b、若時(shí)移時(shí)間點(diǎn)TR為時(shí)移點(diǎn)流時(shí)間戳TB,則時(shí)移狀態(tài)標(biāo)記TF為時(shí)移點(diǎn)的流時(shí)間戳信息和當(dāng)前物理時(shí)間信息的元組:
[0182]TF 為 TFB,由 TFBl 和 TFB2 構(gòu)成,TFB={TFBI,TFB2},其中:
[0183]TFBl=TB
[0184]TFB2=T
[0185]其中,T為當(dāng)前物理時(shí)間;
[0186]SB06、客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出新的切片索引文件獲取請求;
[0187]SB07、時(shí)移服務(wù)端取當(dāng)前物理時(shí)間T ;
[0188]SB08、時(shí)移服務(wù)端從客戶端請求中獲取時(shí)移狀態(tài)標(biāo)記TF和快進(jìn)倍速SP后,計(jì)算本次時(shí)移快進(jìn)請求對應(yīng)的流時(shí)間戳ST:
[0189]若TF 是 TFAJlJ: ST=TFAl+(T-TFA2) *SP ;
[0190]若TF 是 TFBJlJ: ST=TFB I + (T-TFB2) *SP ;[0191]SB09、時(shí)移服務(wù)端計(jì)算本次時(shí)移請求R對應(yīng)的切片序列:
[0192]將時(shí)間戳ST作為輸入,執(zhí)行步驟S12的映射規(guī)則,得到切片序列;
[0193]SB10、時(shí)移服務(wù)端通過切片序列,生成相應(yīng)的切片索引文件,返回給客戶端;
[0194]SB11、客戶端從索引文件中取得具體的切片序列,發(fā)送實(shí)際切片文件的訪問請求;
[0195]SB12、時(shí)移服務(wù)端收到客戶端發(fā)來的切片訪問請求后,返回的切片中只包含關(guān)鍵幀,不包含其他視頻幀類型數(shù)據(jù)和音頻數(shù)據(jù),包括:
[0196]SB121、返回的切片中只包含部分關(guān)鍵幀,而忽略掉另一部分關(guān)鍵幀,以保證快進(jìn)時(shí)發(fā)送的切片數(shù)據(jù)占用帶寬不會過大??爝M(jìn)倍速SP越大,忽略的關(guān)鍵幀比例越高;
[0197]SB122、修改返回的切片中的關(guān)鍵幀時(shí)間戳,以使時(shí)間戳的增長速度符合視頻流的快進(jìn)播放所需的增長速度。
[0198]設(shè)切片中的一個(gè)任意關(guān)鍵幀的時(shí)間戳是SI,則修改后的時(shí)間戳SIT計(jì)算方法為:
[0199]如TF 是 TFAJlJ:SIT= (S1-TFA1)/SP
[0200]如TF 是 TFB,貝丨J:SIT= (S1-TFBl)/SP ;
[0201]SB13、客戶端播放收到的切片數(shù)據(jù);
[0202]SB14、客戶端重復(fù)向時(shí)移服務(wù)端發(fā)出包含直播內(nèi)容標(biāo)識CH、時(shí)移狀態(tài)標(biāo)記TF、快進(jìn)倍速SP的快進(jìn)切片索引文件獲取請求,以不斷獲得新的切片序列、下載新的切片文件并播放。
[0203]在本發(fā)明中,針對HDS協(xié)議客戶端采用如下具體實(shí)現(xiàn)方法,包括以下步驟:
[0204]SC01、編寫html頁面,其中包含Adobe FlashPlayer播放控件;
[0205]SC02、定義時(shí)移時(shí)間長度L,則頁面中設(shè)計(jì)播放進(jìn)度條。其中,進(jìn)度條的結(jié)束時(shí)間是當(dāng)前物理時(shí)間T,開始時(shí)間是T-L,進(jìn)度條的時(shí)間區(qū)間為:[T-L,T]。隨著物理時(shí)間T的推移,進(jìn)度條的開始時(shí)間和結(jié)束時(shí)間也不斷推移。
[0206]SC03、初始訪問頁面,客戶端 發(fā)送不攜帶時(shí)移參數(shù)的直播請求,播放當(dāng)前直播的內(nèi)容;
[0207]SC04、用戶拖動(dòng)進(jìn)度條后,計(jì)算拖動(dòng)到的目標(biāo)時(shí)間TP。
[0208]P=拖動(dòng)目標(biāo)位置在整個(gè)進(jìn)度條中的比例(0-1)
[0209]TP= (T-L) +L*P ;
[0210]SC05、以目標(biāo)時(shí)間TP為時(shí)移時(shí)間參數(shù),啟動(dòng)播放器發(fā)送請求到時(shí)移服務(wù)器。
[0211]類似如下URL:
[0212]http://domainname: port/index.f4m?begintimeabs=<TP>
[0213]其中:
[0214]doma inname:時(shí)移服務(wù)器域名
[0215]port:時(shí)移服務(wù)器端口
[0216]index.f4m:請求的直播描述文件,f4m格式為HDS協(xié)議的標(biāo)準(zhǔn)描述文件格式。
[0217]begintimeabs:請求時(shí)移到的絕對時(shí)間
[0218]SC06, FlashPlayer自動(dòng)完成后續(xù)操作,獲取時(shí)移內(nèi)容并進(jìn)行播放,流程和flashplayer訪問一個(gè)標(biāo)準(zhǔn)HDS直播的流程相同。如下:
[0219]a)接收時(shí)移服務(wù)端的302重定向請求,訪問重定向后的URL。類似如下:[0220]http://domainname: port/index.f4m?begintimeabs=<TP>&tsflag=<TF>
[0221]其中,
[0222]tsflag:時(shí)移服務(wù)器基于客戶端本次訪問信息生成的時(shí)移狀態(tài)標(biāo)記。
[0223]b)接收服務(wù)器發(fā)送的真實(shí)f4m文件,從中提取bootstrap索引文件的URL。
[0224]UBT=bootstrap索引文件的URL, bootstrap為HDS協(xié)議的標(biāo)準(zhǔn)索引文件。
[0225]c)不停刷新訪問UBT,從中提權(quán)相應(yīng)fmp4切片文件序列。
[0226]d)從服務(wù)端下載對應(yīng)fmp4切片文件,并進(jìn)行播放。
[0227]本發(fā)明還提供一種面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移系統(tǒng),包括客戶端與時(shí)移服務(wù)端,其中,客戶端包括:
[0228]客戶端數(shù)據(jù)傳輸模塊,用于發(fā)送時(shí)移請求、向時(shí)移服務(wù)端發(fā)送切片索引文件獲取請求、以及接收時(shí)移服務(wù)端的反饋。
[0229]切片索引文件獲取模塊,用于獲取切片索引文件。
[0230]切片序列處理模塊,用于取得索引文件中具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放,并重復(fù)發(fā)出切 片索引文件獲取請求,以不斷獲得新的切片序列、下載新的切片文件并播放。
[0231]時(shí)移服務(wù)端包括:
[0232]時(shí)移數(shù)據(jù)存儲區(qū),用于存儲時(shí)移數(shù)據(jù)。
[0233]時(shí)移狀態(tài)標(biāo)記生成模塊,用于在時(shí)移服務(wù)端接到客戶端請求后,由時(shí)移時(shí)間點(diǎn)得到時(shí)移狀態(tài)標(biāo)記。其中,若時(shí)移狀態(tài)標(biāo)記TF為時(shí)移時(shí)間點(diǎn)TR,則跳轉(zhuǎn)執(zhí)行切片序列生成模塊,否則向客戶端反饋直播內(nèi)容標(biāo)識CH和時(shí)移狀態(tài)標(biāo)記TF。
[0234]切片序列生成模塊,用于對切片索引文件獲取請求進(jìn)行處理,以得到該次時(shí)移請求的切片序列。其中,時(shí)移服務(wù)端依據(jù)時(shí)移狀態(tài)標(biāo)記TF或當(dāng)前直播時(shí)間的偏移值TC,并依據(jù)當(dāng)前物理時(shí)間或當(dāng)前直播流時(shí)間戳,對切片索引文件獲取請求進(jìn)行處理,以得到該次時(shí)移請求的切片序列。
[0235]直播切片索引文件生成模塊,用于通過切片序列生成相應(yīng)的直播切片索引文件。其中,當(dāng)協(xié)議為HLS協(xié)議時(shí),按照m3u8文件格式規(guī)范,時(shí)移服務(wù)基于預(yù)設(shè)的切片時(shí)間間隔D、切片序列和存儲的時(shí)移數(shù)據(jù),生成m3u8格式的切片索引文件;
[0236]當(dāng)協(xié)議為HDS協(xié)議時(shí),按照bootstrap文件格式規(guī)范,時(shí)移服務(wù)基于預(yù)設(shè)的切片時(shí)間間隔D、切片序列和存儲的時(shí)移數(shù)據(jù),生成bootstrap格式的切片索引文件。
[0237]時(shí)移服務(wù)端數(shù)據(jù)傳輸模塊,用于接收客戶端發(fā)送的時(shí)移請求,并將時(shí)移服務(wù)端的反饋以及生成的直播切片索引文件發(fā)送給客戶端。
[0238]惟以上所述者,僅為本發(fā)明的較佳實(shí)施例而已,舉凡熟悉此項(xiàng)技藝的專業(yè)人士。在了解本發(fā)明的技術(shù)手段之后,自然能依據(jù)實(shí)際的需要,在本發(fā)明的教導(dǎo)下加以變化。因此凡依本發(fā)明申請專利范圍所作的同等變化與修飾,曾應(yīng)仍屬本發(fā)明專利涵蓋的范圍內(nèi)。
【權(quán)利要求】
1.一種面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,包括以下步驟: S100、客戶端發(fā)出時(shí)移請求(R),以獲取切片索引文件; S200、時(shí)移服務(wù)端接到客戶端請求后,由時(shí)移時(shí)間點(diǎn)(TR)得到時(shí)移狀態(tài)標(biāo)記(TF),若時(shí)移時(shí)間點(diǎn)(TR)與時(shí)移狀態(tài)標(biāo)記(TF)相同,則跳轉(zhuǎn)執(zhí)行步驟S400,若二者不同,則向客戶端反饋直播內(nèi)容標(biāo)識(CH)和時(shí)移狀態(tài)標(biāo)記(TF); S300、客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出切片索引文件獲取請求,并將時(shí)移請求(R)重定義為該請求; 5400、時(shí)移服務(wù)端依據(jù)時(shí)移狀態(tài)標(biāo)記(TF)或時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC),并依據(jù)當(dāng)前物理時(shí)間或當(dāng)前直播流時(shí)間戳,對切片索引文件獲取請求進(jìn)行處理,以得到該次時(shí)移請求(R)的切片序列; S500、時(shí)移服務(wù)端通過切片序列,生成相應(yīng)的直播切片索引文件,并返回給客戶端; S600、客戶端從索引文件中取得具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放,并重復(fù)向時(shí)移服務(wù)端發(fā)出和時(shí)移請求(R)相同的切片索引文件獲取請求,以不斷獲得新的切片序列、下載新的切片文件并播放。
2.根據(jù)權(quán)利要求1所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在步驟SlOO中,客戶端發(fā)出時(shí)移請求(R)中包括直播內(nèi)容標(biāo)識(CH)與時(shí)移時(shí)間點(diǎn)(TR),其中,直播內(nèi)容標(biāo)識(CH)包括頻道名稱、頻道URL或頻道ID ; 時(shí)移時(shí)間點(diǎn)(TR)為時(shí)移點(diǎn) 的物理時(shí)間(TA)、時(shí)移點(diǎn)的視頻流時(shí)間戳(TB)、或時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC)中的一種。
3.根據(jù)權(quán)利要求1所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在步驟S200中, 若時(shí)移時(shí)間點(diǎn)(TR)是時(shí)移點(diǎn)物理時(shí)間(TA)或時(shí)移點(diǎn)流時(shí)間戳(TB),向客戶端反饋直播內(nèi)容標(biāo)識(CH)和時(shí)移狀態(tài)標(biāo)記(TF),將客戶端請求進(jìn)行HTTP重定向,重定向的URL中包含直播內(nèi)容標(biāo)識(CH)和時(shí)移狀態(tài)標(biāo)記(TF),包括: 情況a、若時(shí)移時(shí)間點(diǎn)(TR)為時(shí)移點(diǎn)物理時(shí)間(TA),則時(shí)移狀態(tài)標(biāo)記(TF)為時(shí)移點(diǎn)的流時(shí)間戳信息和當(dāng)前物理時(shí)間信息的元組; 情況b、若時(shí)移時(shí)間點(diǎn)(TR)為時(shí)移點(diǎn)流時(shí)間戳(TB ),則時(shí)移狀態(tài)標(biāo)記(TF)為時(shí)移點(diǎn)的流時(shí)間戳信息和當(dāng)前物理時(shí)間信息的元組。
4.根據(jù)權(quán)利要求1所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在步驟S200中,若時(shí)移時(shí)間點(diǎn)(TR)是時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC),則時(shí)移狀態(tài)標(biāo)記(TF)為時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC)。
5.根據(jù)權(quán)利要求1所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在步驟S300中,客戶端發(fā)出的切片索引文件獲取請求中包括直播內(nèi)容標(biāo)識(CH)和時(shí)移狀態(tài)標(biāo)記(TF )。
6.根據(jù)權(quán)利要求1所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在步驟S400中,包括以下步驟: S401、從切片索引文件請求中得到時(shí)移狀態(tài)標(biāo)記(TF)或時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC); S402、若從切片索引文件請求中得到時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC),則時(shí)移狀態(tài)標(biāo)記(TF)是TFC,且TFC為時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC); .5403、取當(dāng)前物理時(shí)間(T)或當(dāng)前流時(shí)間戳(S); .5404、計(jì)算本次時(shí)移請求(R)對應(yīng)的流時(shí)間戳(ST),包括: 若時(shí)移狀態(tài)標(biāo)記(TF)是TFAJlJ:流時(shí)間戳(ST) =TFAl+(T-TFA2) 若時(shí)移狀態(tài)標(biāo)記(TF)是TFBJlJ:流時(shí)間戳(ST) =TFBl+(T-TFB2) 若時(shí)移狀態(tài)標(biāo)記(TF)是TFCJlJ:流時(shí)間戳(ST) =S-TFC ; .5405、計(jì)算本次時(shí)移請求(R)對應(yīng)的切片序列。
7.根據(jù)權(quán)利要求1所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在步驟S500中,包括: 情況a:當(dāng)協(xié)議為HLS協(xié)議時(shí),按照m3u8文件格式規(guī)范,時(shí)移服務(wù)基于預(yù)設(shè)的切片時(shí)間間隔(D)、切片序列和存儲的時(shí)移數(shù)據(jù),生成m3u8格式的切片索引文件; 情況b:當(dāng)協(xié)議為HDS協(xié)議時(shí),按照bootstrap文件格式規(guī)范,時(shí)移服務(wù)基于預(yù)設(shè)的切片時(shí)間間隔(D)、切片序列和存儲的時(shí)移數(shù)據(jù),生成bootstrap格式的切片索引文件。
8.根據(jù)權(quán)利要求1所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在步驟S600中,還包括:客戶端向時(shí)移服務(wù)端重復(fù)發(fā)出的切片索引文件獲取請求中,包含直播內(nèi)容標(biāo)識(CH)和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC)或直播內(nèi)容標(biāo)識(CH)和時(shí)移狀態(tài)標(biāo)記(TF)。
9.根據(jù)權(quán)利要求1至8中任一所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在步驟S lOO實(shí)施前,還包括在時(shí)移服務(wù)端中建立時(shí)移數(shù)據(jù)存儲區(qū)的步驟S10,其步驟如下: .511、定義時(shí)移時(shí)間長度為(L),則時(shí)移服務(wù)器保證存儲從時(shí)間戳(S-L)到當(dāng)前時(shí)間戳(S)的音、視頻數(shù)據(jù),且隨著時(shí)間戳(S)的推移,不斷刪除舊的時(shí)移數(shù)據(jù)和存儲新的時(shí)移數(shù)據(jù),進(jìn)行滾動(dòng)存儲; . 512、對直播視頻數(shù)據(jù)和時(shí)移視頻數(shù)據(jù),建立時(shí)間戳和切片序列的映射規(guī)則。.
10.根據(jù)權(quán)利要求9所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在步驟SlO中,預(yù)設(shè)的索引文件中需包含的切片個(gè)數(shù)(C)是常量,與時(shí)移時(shí)間長度(L)無關(guān)。
11.根據(jù)權(quán)利要求10所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于:當(dāng)協(xié)議為HLS協(xié)議時(shí),預(yù)設(shè)的索引文件中需包含的切片個(gè)數(shù)(C)最常見的取值為(C)=IO,比較常見取值為3〈= (C)<=20 ;當(dāng)協(xié)議為HDS協(xié)議時(shí),(C)最常見的取值為(C)=20,比較常見取值為5〈= (C)〈=50。
12.根據(jù)權(quán)利要求9所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,當(dāng)用戶要訪問多個(gè)碼率直播構(gòu)成的自適應(yīng)碼率直播組內(nèi)容進(jìn)行時(shí)移時(shí),包括以下步驟: SAO1、客戶端發(fā)出時(shí)移請求(R)時(shí),攜帶請求的直播頻道組內(nèi)容標(biāo)識(CG)、時(shí)移時(shí)間點(diǎn)(TR); SA02、時(shí)移服務(wù)端接到客戶端請求后,對時(shí)移時(shí)間點(diǎn)(TR)進(jìn)行解析,若時(shí)移時(shí)間點(diǎn)(TR)是時(shí)移點(diǎn)物理時(shí)間(TA)或時(shí)移點(diǎn)流時(shí)間戳(TB),則選擇該直播組中一路直播,得到時(shí)移狀態(tài)標(biāo)記(TF),然后向客戶端反饋直播頻道組內(nèi)容標(biāo)識(CG)和時(shí)移狀態(tài)標(biāo)記(TF);若時(shí)移時(shí)間點(diǎn)(TR)是時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC),則直接跳轉(zhuǎn)至SA04 ;SA03、客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出請求,請求中攜帶直播頻道組內(nèi)容標(biāo)識(CG)和時(shí)移狀態(tài)標(biāo)記(TF); SA04、時(shí)移服務(wù)端接到客戶端攜帶的直播頻道組內(nèi)容標(biāo)識(CG)和時(shí)移狀態(tài)標(biāo)記(TF)或直播頻道組內(nèi)容標(biāo)識(CG)和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC)的請求后,生成組索引文件返回給客戶端; SA05、客戶端收到組索引文件后,獲取其中包含的各路直播對應(yīng)的索引文件URL ; SA06、客戶端對各路直播對應(yīng)的索引文件URL進(jìn)行判斷,若各路直播對應(yīng)的索引文件URL中包含多個(gè)URL,則依據(jù)自身情況選擇URL并進(jìn)行請求; 若各路直播對應(yīng)的索引文件URL中只有一個(gè)URL,則直接請求該URL ; SA07、時(shí)移服務(wù)端接收到客戶端的包含直播內(nèi)容標(biāo)識(CH)和時(shí)移狀態(tài)標(biāo)記(TF)或直播內(nèi)容標(biāo)識(CH)和時(shí)移點(diǎn)相對于當(dāng)前直播時(shí)間的偏移值(TC)的索引獲取請求后,并依次執(zhí)行步驟S400和S500,形成索引文件返回給客戶端; SA08、客戶端收到索引文件后,從索引文件中取得具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放; SA09、跳轉(zhuǎn)至步驟SA06,以維持時(shí)移過程。
13.根據(jù)權(quán)利要求9所述的面向互聯(lián)網(wǎng)的基于分片傳輸?shù)拇蟪叨戎辈r(shí)移方法,其特征在于,在時(shí)移過程中采用下述步驟以進(jìn)行快進(jìn),包括: SBO1、客戶端發(fā)送快進(jìn)請求時(shí),URL中攜帶直播內(nèi)容標(biāo)識(CH)、時(shí)移時(shí)間點(diǎn)(TR)與播放標(biāo)識(PM); SB02、時(shí)移服務(wù)端接收客戶端請求; SB03、時(shí)移服務(wù)端從請求URL中,獲得播放標(biāo)識(PM),并提取出快進(jìn)倍速(SP); SB04、若播放標(biāo)識(PM)是快進(jìn)的請求,且當(dāng)前播放內(nèi)容已達(dá)到直播點(diǎn),則時(shí)移服務(wù)端發(fā)送重定向請求給客戶端,重定向到正常速率播放的URL,結(jié)束快進(jìn)處理過程;若當(dāng)前播放內(nèi)容未達(dá)到直播點(diǎn),則執(zhí)行步驟SB05 ; SB05、時(shí)移服務(wù)端由時(shí)移時(shí)間點(diǎn)(TR)得到時(shí)移狀態(tài)標(biāo)記(TF),將(TF)和快進(jìn)倍速(SP)反饋給客戶端; SB06、客戶端接收到時(shí)移服務(wù)端的反饋后,向時(shí)移服務(wù)端發(fā)出新的切片索引文件獲取請求; SB07、時(shí)移服務(wù)端取當(dāng)前物理時(shí)間(T); SB08、時(shí)移服務(wù)端從客戶端請求中獲取時(shí)移狀態(tài)標(biāo)記(TF)和快進(jìn)倍速(SP)后,計(jì)算本次時(shí)移快進(jìn)請求對應(yīng)的流時(shí)間戳(ST); SB09、時(shí)移服務(wù)端計(jì)算本次時(shí)移請求(R)對應(yīng)的切片序列: 將時(shí)間戳(ST)作為輸入,執(zhí)行步驟S12的映射規(guī)則,以得到切片序列; SB10、時(shí)移服務(wù)端通過切片序列,生成相應(yīng)的切片索引文件,返回給客戶端; SB11、客戶端從索引文件中取得具體的切片序列,發(fā)送實(shí)際切片文件的訪問請求; SB12、時(shí)移服務(wù)端收到客戶端發(fā)來的切片訪問請求后,返回的切片中只包含關(guān)鍵幀,不包含其他視頻幀類型數(shù)據(jù)和音頻數(shù)據(jù),包括: SB121、返回的切片中只包含部分關(guān)鍵幀,而忽略掉另一部分關(guān)鍵幀,以保證快進(jìn)時(shí)發(fā)送的切片數(shù)據(jù)占用帶寬不會過大; SB122、修改返回的切片中的關(guān)鍵幀時(shí)間戳,以使時(shí)間戳的增長速度符合視頻流的快進(jìn)播放所需的增長速度; SB13、客戶端播放收到的切片數(shù)據(jù); SB14、客戶端重復(fù)向時(shí)移服務(wù)端發(fā)出包含直播內(nèi)容標(biāo)識(CH)、時(shí)移狀態(tài)標(biāo)記(TF)、快進(jìn)倍速(SP)的快進(jìn)切片索引文件獲取請求,以不斷獲得新的切片序列、下載新的切片文件并播放。
14.一種實(shí)施上述權(quán)利要求9中所述方法的系統(tǒng),其特征在于,包括客戶端與時(shí)移服務(wù)端,其中,客戶端包括: 客戶端數(shù)據(jù)傳輸模塊,用于發(fā)送時(shí)移請求、向時(shí)移服務(wù)端發(fā)送切片索引文件獲取請求、以及接收時(shí)移服務(wù)端的反饋; 切片索引文件獲取模塊,用于獲取切片索引文件; 切片序列處理模塊,用于取得索引文件中具體的切片序列,進(jìn)行實(shí)際切片文件的下載和播放,并重復(fù)發(fā)出切片索引文件獲取請求,以不斷獲得新的切片序列、下載新的切片文件并播放; 時(shí)移服務(wù)端包括: 時(shí)移數(shù)據(jù)存儲區(qū),用于存儲時(shí)移數(shù)據(jù); 時(shí)移狀態(tài)標(biāo)記生成模塊,用于在時(shí)移服務(wù)端接到客戶端請求后,由時(shí)移時(shí)間點(diǎn)得到時(shí)移狀態(tài)標(biāo)記; 切片序列生成模塊,用于對切片索引文件獲取請求進(jìn)行處理,以得到該次時(shí)移請求的切片序列; 直播切片索引文件生成模塊,用于通過切片序列生成相應(yīng)的直播切片索引文件; 時(shí)移服務(wù)端數(shù)據(jù)傳輸模塊,用于接收客戶端發(fā)送的時(shí)移請求,并將時(shí)移服務(wù)端的反饋以及生成的直播切片索引文件發(fā)送給客戶端。
【文檔編號】H04N21/23GK103581693SQ201310559939
【公開日】2014年2月12日 申請日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
【發(fā)明者】李偉華, 李毅, 要文濤 申請人:北京清源新創(chuàng)科技有限公司