欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種流媒體存儲、播放方法及相應(yīng)系統(tǒng)的制作方法

文檔序號:7651377閱讀:194來源:國知局
專利名稱:一種流媒體存儲、播放方法及相應(yīng)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多媒體領(lǐng)域,特別是一種流媒體存儲、播放方法及相應(yīng)系統(tǒng)。
背景技術(shù)
傳統(tǒng)的流媒體服務(wù)是基于RTSP (Real Time Streaming Protocol,實時流傳輸協(xié)議)/RTP (Real-time Transport Protocol,實時傳輸協(xié)議)的。但是由于RTSP/RTP在穿越防火墻存在問題等缺點,近兩年發(fā)展出基于HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)來提供流媒體服務(wù),即HTTP Streaming (流)業(yè)務(wù)。在MPEG (Moving PicturesExperts Group,動態(tài)圖像專家組)標準組織中稱之為DASH (Dynamic Adaptive Streamingover HTTP,基于超文本傳輸協(xié)議的動態(tài)自適應(yīng)流)。近年來,廣播業(yè)務(wù)和移動業(yè)務(wù)開始漸 漸融合,不同的多媒體內(nèi)容和業(yè)務(wù)在不同的網(wǎng)絡(luò)上傳輸。用于廣播的MPEG2-TS (MPEG2傳輸流)在互聯(lián)網(wǎng)上應(yīng)用也較為廣泛。同樣,MPEG2-TS也應(yīng)用在DASH業(yè)務(wù)上。由于HTTP協(xié)議本質(zhì)上屬于文本傳輸協(xié)議,并不適合實時的流媒體傳輸。為了便于實現(xiàn)直播回放(針對時移業(yè)務(wù))和邊下載邊看的功能,通常將節(jié)目內(nèi)容在物理或邏輯上分成很多的小分段,如圖I所述。媒體表示描述(MPD,Media Presentation Description,或稱節(jié)目索引表)該節(jié)目索引表包含媒體分段的索引等信息,每次下載媒體文件的一個或多個分段進行播放,然后對已下載的數(shù)據(jù)進行解碼播放。但對于快進快退功能,通常的做法是根據(jù)MPD下載相應(yīng)的分段,然后再到分段文件中找到相應(yīng)的幀進行播放。這樣客戶端將會下載很多多余的數(shù)據(jù),嚴重影響播放的流暢性及占用網(wǎng)絡(luò)帶寬。在目前的技術(shù)中,常用的做法是定義分段索引原子,在做特技模式的時候,例如在快進的時候,客戶端根據(jù)分段索引里記錄的關(guān)鍵幀的地址信息去訪問關(guān)鍵幀,從而達到快進的效果。但是這種方法存在一個致命的缺陷就是快進倍數(shù)與實際不符,尤其是在關(guān)鍵幀比較稀疏的情況下,快進效果與期望效果會有比較大的差距。歐洲電信標準協(xié)會101154附錄D中定義了一種新的DVB Tierframework (Digital Video Broadcasting Tier framework,數(shù)字視頻廣播級別框架)。在視頻編碼的時候?qū)⒏鱾€數(shù)據(jù)幀根據(jù)依賴情況分成多個tier (級別),tier高的數(shù)據(jù)幀依賴tier低的數(shù)據(jù)巾貞。但在DVB Tier的框架下,如何根據(jù)tier架構(gòu)進行與特技模式相關(guān)的播放還沒有定義。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種流媒體存儲、播放方法及相應(yīng)系統(tǒng),基于DVBTier實現(xiàn)流媒體的存儲和播放,使用戶在進行與特技模式相關(guān)的播放時可以獲得與期望一致的效果。為解決上述技術(shù)問題,本發(fā)明提供了一種流媒體存儲方法,包括流媒體服務(wù)器在保存媒體內(nèi)容時,對所述媒體內(nèi)容進行分段,每個分段包括一個或多個子分段,所述流媒體服務(wù)器為每個子分段生成子分段索引原子,并保存所述子分段索引原子,所述子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息。進一步地,所述子分段索引原子中所述采樣個數(shù)信息,用于表示當前子分段中各級別被索引的采樣數(shù)據(jù)幀的個數(shù);所述采樣偏移信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲起始地址相對于所述當前子分段首地址的偏移;所述采樣長度信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲長度;所述采樣時間信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀相對于所述當前子分段中首個采樣數(shù)據(jù)幀的時間偏移。進一步地,所述子分段索引原子中還包括位數(shù)標識信息,其用于表示采樣偏移信息和采樣長度信息當前的所需的位數(shù)。為解決上述技術(shù)問題,本發(fā)明還提供了一種流媒體播放方法,包括在以下場景中的任意一種中時,終端根據(jù)從流媒體服務(wù)器下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀,并播放下載的數(shù)據(jù)幀從正常播放模式進入特技模式的場景、從特技模式進入正常播放模式的場景、進入時移定位點播模式的場景;所述子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息。進一步地,所述終端在從正常播放模式進入特技模式中時,所述終端根據(jù)從流媒體服務(wù)器下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀的步驟包括終端接收到進入特技模式的命令后,確定起始數(shù)據(jù)幀;所述終端根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息向所述流媒體服務(wù)器請求下載所述起始數(shù)據(jù)幀所在的子分段所屬分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子;所述終端確定當前特技模式下所述子分段中待播放數(shù)據(jù)幀的最高級別,遍歷所述子分段索引原子,查找在所述起始數(shù)據(jù)幀之后的,且級別小于所述最高級別的被索引的采樣數(shù)據(jù)幀,按照查找到的被索引的采樣數(shù)據(jù)幀的采樣時間信息順序下載所述查找到的被索引的采樣數(shù)據(jù)幀。進一步地,所述起始數(shù)據(jù)幀為當前數(shù)據(jù)幀之后的且級別最低的首個數(shù)據(jù)幀。進一步地,所述終端在從特技模式進入正常播放模式中時,所述終端根據(jù)從流媒體服務(wù)器下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀的步驟包括所述終端接收到退出特技模式的命令后,在子分段索引原子中查找當前數(shù)據(jù)幀之后的級別最低的被索引的采樣數(shù)據(jù)幀,根據(jù)所述子分段索引原子中記錄的所述被索引的采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向流媒體服務(wù)器請求下載該數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。進一步地,所述終端在進入時移定位點播模式的場景中時,所述終端根據(jù)從流媒體服務(wù)器下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀的步驟包括終端接收到進入時移定位點播模式的命令后,根據(jù)時移點播時間確定該時間對應(yīng)的子分段,根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息向所述流媒體服務(wù)器請求下載所述分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子;
遍歷所述子分段索引原子,查找所述時移點播時間之后的且級別最低的被索引的采樣數(shù)據(jù)幀,根據(jù)所述子分段索引原子中記錄的該采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向所述流媒體服務(wù)器請求下載該采樣數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。為解決上述技術(shù)問題,本發(fā)明還提供了一種流媒體存儲系統(tǒng),包括分段裝置以及子分段索引原子生成裝置,其中所述分段裝置,用于在保存媒體內(nèi)容時,對所述媒體內(nèi)容進行分段,每個分段包括一個或多個子分段;所述子分段索引原子生成裝置,用于為每個子分段生成子分段索引原子,并保存所述子分段索引原子,所述子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度"[目息以及米樣時間彳目息,其中所述采樣個數(shù)信息,用于表示當前子分段中各級別被索引的采樣數(shù)據(jù)幀的個數(shù); 所述采樣偏移信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲起始地址相對于所述當前子分段首地址的偏移;所述采樣長度信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲長度;所述采樣時間信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀相對于所述當前子分段中首個采樣數(shù)據(jù)幀的時間偏移。進一步地,所述子分段索引原子中還包括位數(shù)標識信息,其用于表示采樣偏移信息和采樣長度信息當前的所需的位數(shù)。為解決上述技術(shù)問題,本發(fā)明還提供了一種流媒體播放系統(tǒng),位于終端側(cè),包括下載裝置和播放裝置,其中所述下載裝置,用于從流媒體服務(wù)器下載子分段索引原子,以及用于所述終端處于以下場景中的任意一種中時,根據(jù)下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀從正常播放模式進入特技模式的場景、從特技模式進入正常播放模式的場景、進入時移定位點播模式的場景;所述子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息;所述播放裝置,用于并播放下載的數(shù)據(jù)幀。進一步地,所述下載裝置包括確定起始數(shù)據(jù)幀模塊、第一子分段索引原子獲取模塊以及下載數(shù)據(jù)幀模塊,其中所述確定起始數(shù)據(jù)幀模塊,用于在所述終端處于從正常播放模式進入特技模式的場景時,在接收到進入特技模式的命令后,確定起始數(shù)據(jù)幀;所述第一子分段索引原子獲取模塊,用于根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息向流媒體服務(wù)器請求下載所述起始數(shù)據(jù)幀所在的子分段所屬分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子;所述下載數(shù)據(jù)幀模塊,用于確定當前特技模式下所述子分段中待播放數(shù)據(jù)幀的最高級別,遍歷所述子分段索引原子,查找在所述起始數(shù)據(jù)幀之后的,且級別小于所述最高級別的被索引的采樣數(shù)據(jù)幀,以及用于按照查找到的被索引的采樣數(shù)據(jù)幀的采樣時間信息順序下載所述查找到的被索引的采樣數(shù)據(jù)幀。進一步地,所述起始數(shù)據(jù)幀為當前數(shù)據(jù)幀之后的且級別最低的首個數(shù)據(jù)幀。
進一步地,所述下載裝置包括查找模塊、第一下載模塊,其中所述查找模塊,用于在所述終端處于從特技模式進入正常播放模式的場景時,在接收到退出特技模式的命令后,在子分段索引原子中查找當前數(shù)據(jù)幀之后的級別最低的被索引的采樣數(shù)據(jù)幀;所述第一下載模塊,用于根據(jù)所述子分段索引原子中記錄的所述被索引的采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向流媒體服務(wù)器請求下載該查找到的被索引的采樣數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。進一步地,所述下載裝置包括第二子分段索引原子獲取模塊、第二下載模塊,其中所述第二子分段索引原子獲取模塊,用于在所述終端處于時移定位點播模式的場景中時,在接收到進入時移定位點播模式的命令后,根據(jù)時移點播時間確定該時間對應(yīng)的 子分段,根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息向所述流媒體服務(wù)器請求下載所述分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子;第二下載模塊,用于遍歷所述子分段索引原子,查找所述時移點播時間之后的且級別最低的被索引的采樣數(shù)據(jù)幀,根據(jù)所述子分段索引原子中記錄的該采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向所述流媒體服務(wù)器請求下載該采樣數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。采用本發(fā)明實施例所述方法,對于DASH場景下TS(傳輸流)文件的快進、快退等操作,無需下載文件的整個分段,而僅下載需要播放的數(shù)據(jù)幀,即能夠快速定位到需要播放的數(shù)據(jù)幀起始和結(jié)束位置,既節(jié)省了網(wǎng)絡(luò)流量,又大大減小用戶播放過程中的等待時間,同時也不影響各種特技模式之間,以及正常模式與特技模式之間的平滑切換,大大提升了用戶的體驗。


圖I為tier框架下快進的取幀示意圖;圖2為本發(fā)明實施例中使用本發(fā)明定義的ssix原子實現(xiàn)快進的流程圖;圖3為本發(fā)明實施例使用本發(fā)明定義的ssix原子實現(xiàn)快進轉(zhuǎn)正常播放的流程圖;圖4為本發(fā)明實施例使用本發(fā)明定義的ssix原子實現(xiàn)時移定位播放的流程圖。
具體實施例方式為了解決上述技術(shù)問題,本發(fā)明定義了子分段索引原子,包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息,其中I)采樣個數(shù)信息,用于表示當前子分段中各級別被索引的采樣數(shù)據(jù)幀的個數(shù);2)采樣偏移信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲起始地址相對于當前子分段首地址的偏移;3)采樣長度信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲長度;4)采樣時間信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀相對于當前子分段中首個采樣數(shù)據(jù)幀的時間偏移。
通過提供采樣個數(shù)信息,流媒體服務(wù)器可以為每幀設(shè)置索引也可以每隔幾幀索引一幀,實施較為靈活,特別是在幾幀一索引時,可以減少開銷,例如一個24fps、144分鐘的電影,一個完整的特技模式索引(即所有幀的索引)開銷為1.6Mbytes,如果每4幀索引一幀,將減少406Kb的開銷。除了上述四個信息外,該子分段索引原子中還可以包括位數(shù)標識信息,該標識信息用于表示采樣偏移信息和采樣長度信息當前的所需的位數(shù)。該位數(shù)標識信息可以方便地控制采樣偏移和采樣長度所占用的比特數(shù)(16位或32位),可以進一步減少網(wǎng)絡(luò)帶寬。
通常,流媒體服務(wù)器在保存媒體內(nèi)容時,對所述媒體內(nèi)容進行分段,每個分段包括一個或多個子分段,所述流媒體服務(wù)器為每個子分段生成子分段索引原子,并保存該子分段索引原子,該子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息。優(yōu)選地,該子分段索引原子中還可包括位數(shù)標識信息。上述媒體內(nèi)容是由內(nèi)容提供商提供給流媒體服務(wù)器的。流媒體服務(wù)器生成并保存媒體內(nèi)容的子分段索引原子后,在以下場景中的任意一種中時,終端根據(jù)從流媒體服務(wù)器下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀,并播放下載的數(shù)據(jù)幀從正常播放模式進入特技模式的場景、從特技模式進入正常播放模式的場景、進入時移定位點播模式的場景。 終端從正常播放模式進入特技模式中時,具體包括Al,終端接收到進入特技模式的命令(如快進或快退)后,確定起始數(shù)據(jù)幀;A2,終端根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息(例如URL信息)向所述流媒體服務(wù)器請求下載所述起始數(shù)據(jù)幀所在子分段所屬分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子;起始數(shù)據(jù)幀優(yōu)選為當前數(shù)據(jù)幀之后的且級別最低的首個數(shù)據(jù)幀,因為級別最低的數(shù)據(jù)幀不依賴任何其他的數(shù)據(jù)幀。A3,所述終端確定當前特技模式下所述子分段中待播放數(shù)據(jù)幀的最高級別,遍歷所述子分段索引原子,查找在所述起始數(shù)據(jù)幀之后的,且級別小于所述最高級別的被索引的采樣數(shù)據(jù)幀,按照查找到的被索引的采樣數(shù)據(jù)幀的采樣時間信息順序下載所述查找到的被索引的采樣數(shù)據(jù)幀。確定待播放數(shù)據(jù)幀的最高級別時,是根據(jù)當前特技模式的參數(shù)來確定的,具體地,根據(jù)快進或快退的倍數(shù)確定子分段中待播放幀的最高級別。 終端從特技模式進入正常播放模式中時,具體包括所述終端接收到退出特技模式的命令后,在子分段索引原子中查找當前數(shù)據(jù)幀之后的級別最低的被索引的采樣數(shù)據(jù)幀,根據(jù)所述子分段索引原子中記錄的所述被索引的采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向流媒體服務(wù)器請求下載該數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。當前數(shù)據(jù)幀是指收到退出特技模式命令時播放的數(shù)據(jù)幀。上述子分段索引原子是所述終端在特技模式時下載的。優(yōu)選地,終端在查找過程中還可以繼續(xù)當前的特技模式播放,即保持快進或快退狀態(tài)。
終端進入時移定位點播模式中時,具體包括
CI,終端接收到進入時移定位點播模式的命令后,根據(jù)時移點播時間確定該時間點對應(yīng)的子分段,根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息向所述流媒體服務(wù)器請求下載所述子分段所在分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子;根據(jù)時移點播時間確定該時間點對應(yīng)的分段包括計算該時移點播時間的展現(xiàn)時間(相對時間),根據(jù)MPD尋找該展現(xiàn)時間所在的子分段。C2,遍歷所述子分段索引原子,查找所述時移點播時間之后的且級別最低的被索引的采樣數(shù)據(jù)幀,根據(jù)所述子分段索引原子中記錄的該采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向所述流媒體服務(wù)器請求下載該采樣數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明進行詳細描述。 實施例I本實施例以采用MPEG2-TS作為流媒體服務(wù)器上的媒體文件存儲格式為例進行說明,流媒體服務(wù)器對媒體文件進行邏輯分段,每個媒體分段對應(yīng)一個分段索引,媒體分段和分段索引在Mro中都有URL,即能夠通過Mro訪問到每個分段及其分段索引。分段索引中包含sidx box(分段索引原子)和ssix box(子分段索引原子)。在本實施例中,ssix原子的定義如下aligned(8) class SubsegmentIndexBox extends FullB〇x('ssix', version, flags) {
unsigned int(32) subseg—count;
unsigned int(8) subseg—level_c〇unt;
for ( i = l; i <= subseg—count; i + +)
for ( j =1; j <= subseg—level—count; j++) {
unsigned int(32) accumulated—level—size;
if ( accumulated_level_size == 0 ) {
unsigned int (24) num_san^>les; unsigned int(8) bytes_in_unit;
for ( k=l; k <= num_san^)les; k++ ) { if ( bytes_in_unit == 0 ) {
unsigned int(32) sample_offset;
unsigned int(32) sample_size;
} else {
unsigned int(16) sample_offset_short; unsigned int(16) sample_size_short;
}
if ( flags & OxOl ) {
unsigned int (32) san^>le_time;
}
}
}
}
}其中,粗體部分為新增內(nèi)容,新增字段的語義解釋如下num_samples :即采樣個數(shù)信息,指出屬于級別j的被索引的采樣數(shù)據(jù)巾貞的個數(shù);bytes_in_unit :即位數(shù)標識信息,指出偏移和長度是用16位表示還是用32位表示,其值為units of bytes,本實施中,當units of bytes = 0時,表示偏移和長度用32位表不;優(yōu)選地,通過bytes_in_unit還可以擴展該sample_offset_short占用的位數(shù),可通過以units of bytes為單位進行計算得到,即采樣偏移信息占用的位數(shù)等于sample_offset_short*bytes_in_unit ;同理,采樣偏移長度信息占用的位數(shù)等于sample_size_short氺bytes_in_unit。sample_offset :用32位表示的采樣偏移信息,指出從被索引的采樣數(shù)據(jù)巾貞S[i,j,k]的存儲起始地址相對于子分段首地址的偏移;sample_size :用32位表示的采樣長度信息,指出被索引的采樣數(shù)據(jù)巾貞S[i, j, k]的存儲長度,即該采樣數(shù)據(jù)幀內(nèi)容所占的大小。sample_offset_short :用16位表示的采樣偏移信息,指出被索引的采樣數(shù)據(jù)中貞s[i,j,k]的存儲起始地址相對于子分段i首地址的偏移sample_size_short :用16位表示的采樣長度信息,指出被索引的采樣數(shù)據(jù)中貞S[i,j,k]的存儲長度;sample_time :即采樣時間信息,指出被索引的采樣數(shù)據(jù)巾貞S[i, j, k]相對于子分段j中首個采樣數(shù)據(jù)巾貞的時間偏移,該時間偏移與存儲在sidx原子中的timebase的單位一致。實施例2本實施例為從正常播放模式進入特技模式中的示例,以特技模式為快進進行說 明。如圖2所述,包括步驟201,終端接收到進入快進模式的命令,根據(jù)快進倍數(shù)確定所有待播放數(shù)據(jù)幀的最聞級別;參見圖I,可根據(jù)快進倍數(shù)確定待播放數(shù)據(jù)幀中的最高級別。步驟202,繼續(xù)正常播放直到播放到最低級別的數(shù)據(jù)幀SI,獲取該SI幀所在的子分段所屬的分段;步驟203,下載該分段對應(yīng)的分段索引,解析該索引得到子分段索引原子;步驟204,判斷該子分段中SI幀以后的所有小于最高級別的數(shù)據(jù)幀是否都下載到終端,如果是,則執(zhí)行步驟208,否則執(zhí)行步驟205 ;步驟205,根據(jù)采樣時間的先后順序獲取下一幀數(shù)據(jù)的偏移信息和長度信息;步驟206,根據(jù)獲取的偏移信息和長度信息終端向流媒體服務(wù)器請求該幀;步驟207,終端解碼并顯示該幀,返回步驟204 ;步驟208,移到下一個符合快進倍數(shù)的分段,返回步驟203。采用上述方法可以加速對數(shù)據(jù)幀的查找。上述流程僅為一種舉例,本領(lǐng)域技術(shù)人員可根據(jù)本發(fā)明構(gòu)思給出其他實現(xiàn)流程。實施例3本實施例為從特技模式進入正常播放模式中的示例,以特技模式為快進進行說明。如圖3所述,包括步驟301、接收到快進轉(zhuǎn)正常播放的命令;步驟302、獲取快進時的最后一個數(shù)據(jù)幀;步驟303、判斷該幀的級別是否為1,如果是,則跳轉(zhuǎn)到305,否則,跳轉(zhuǎn)到步驟304 ;步驟304,在子分段索引原子中獲取下一被索引的采樣數(shù)據(jù)幀的信息;步驟305,在子分段索引原子中獲取該幀的偏移信息和長度信息;步驟306,向流媒體服務(wù)器請求該幀以后(包含該幀)的該分段的所有數(shù)據(jù)幀;步驟307,終端正常播放下載下來的數(shù)據(jù)幀;步驟308,下一個分段時,下載所有的分段數(shù)據(jù);步驟309,正常播放。上述流程僅為一種舉例,本領(lǐng)域技術(shù)人員可根據(jù)本發(fā)明構(gòu)思給出其他實現(xiàn)流程。實施例4本實施例為進入時移定位點播模式中的示例。如圖4所述。本實例中的直播只有視頻流,即碼流中只有一個軌道。包括步驟401、接收到進入時移定位點播模式的命令后,獲取時移點播時間;步驟402、判斷時移點播時間是否為UTC(世界標準時間),如果是,則跳到步驟404,否則跳到步驟403 ;步驟403、將時移點播時間轉(zhuǎn)為UTC時間;步驟404,從MPD中獲取TS文件的開始UTC ;步驟405,計算出時移點播時間的展現(xiàn)時間,即時間偏移;步驟406,遍歷MPD中記錄的每個分段的起始采樣時間,計算出該播放點落在哪個分段中; 步驟407,從MPD中獲取該分段對應(yīng)的分段索引的URL,并下載該分段索引,從分段索引中獲取子分段索引原子;步驟408,遍歷子分段索引原子,找到級別為I并且播放時間大于等于時移點播時間的數(shù)據(jù)幀;步驟409,在子分段索引原子中獲取該幀的偏移信息和長度信息,下載該幀以后(包含該幀)所有的數(shù)據(jù)幀;步驟410,正常播放下載的數(shù)據(jù);步驟411,下一個分段下載整個分段數(shù)據(jù)轉(zhuǎn)為正常播放流程。上述流程僅為一種舉例,本領(lǐng)域技術(shù)人員可根據(jù)本發(fā)明構(gòu)思給出其他實現(xiàn)流程。本發(fā)明適用于本地播放、網(wǎng)上點播多媒體文件進行多分支播放等各種場景。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲于計算機可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應(yīng)地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種流媒體存儲方法,包括 流媒體服務(wù)器在保存媒體內(nèi)容時,對所述媒體內(nèi)容進行分段,每個分段包括一個或多個子分段,所述流媒體服務(wù)器為每個子分段生成子分段索引原子,并保存所述子分段索引原子,所述子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息。
2.如權(quán)利要求I所述的方法,其特征在于, 所述子分段索引原子中 所述采樣個數(shù)信息,用于表示當前子分段中各級別被索引的采樣數(shù)據(jù)幀的個數(shù); 所述采樣偏移信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲起始地址相對于所述當前子分段首地址的偏移; 所述采樣長度信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲長度;所述采樣時間信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀相對于所述當前子分段中首個采樣數(shù)據(jù)幀的時間偏移。
3.如權(quán)利要求I或2所述的方法,其特征在于, 所述子分段索引原子中還包括位數(shù)標識信息,其用于表示采樣偏移信息和采樣長度信息當前的所需的位數(shù)。
4.一種流媒體播放方法,包括 在以下場景中的任意一種中時,終端根據(jù)從流媒體服務(wù)器下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀,并播放下載的數(shù)據(jù)幀從正常播放模式進入特技模式的場景、從特技模式進入正常播放模式的場景、進入時移定位點播模式的場景;所述子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息。
5.如權(quán)利要求4所述的方法,其特征在于, 所述終端在從正常播放模式進入特技模式中時,所述終端根據(jù)從流媒體服務(wù)器下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀的步驟包括 終端接收到進入特技模式的命令后,確定起始數(shù)據(jù)幀; 所述終端根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息向所述流媒體服務(wù)器請求下載所述起始數(shù)據(jù)幀所在的子分段所屬分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子; 所述終端確定當前特技模式下所述子分段中待播放數(shù)據(jù)幀的最高級別,遍歷所述子分段索引原子,查找在所述起始數(shù)據(jù)幀之后的,且級別小于所述最高級別的被索引的采樣數(shù)據(jù)幀,按照查找到的被索引的采樣數(shù)據(jù)幀的采樣時間信息順序下載所述查找到的被索引的采樣數(shù)據(jù)幀。
6.如權(quán)利要求5所述的方法,其特征在于, 所述起始數(shù)據(jù)幀為當前數(shù)據(jù)幀之后的且級別最低的首個數(shù)據(jù)幀。
7.如權(quán)利要求4所述的方法,其特征在于, 所述終端在從特技模式進入正常播放模式中時,所述終端根據(jù)從流媒體服務(wù)器下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀的步驟包括 所述終端接收到退出特技模式的命令后,在子分段索引原子中查找當前數(shù)據(jù)幀之后的級別最低的被索引的采樣數(shù)據(jù)幀,根據(jù)所述子分段索引原子中記錄的所述被索引的采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向流媒體服務(wù)器請求下載該數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。
8.如權(quán)利要求4所述的方法,其特征在于, 所述終端在進入時移定位點播模式的場景中時,所述終端根據(jù)從流媒體服務(wù)器下載的子分段索引原子的 內(nèi)容下載數(shù)據(jù)幀的步驟包括 終端接收到進入時移定位點播模式的命令后,根據(jù)時移點播時間確定該時間對應(yīng)的子分段,根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息向所述流媒體服務(wù)器請求下載所述分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子; 遍歷所述子分段索引原子,查找所述時移點播時間之后的且級別最低的被索引的采樣數(shù)據(jù)幀,根據(jù)所述子分段索引原子中記錄的該采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向所述流媒體服務(wù)器請求下載該采樣數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。
9.一種流媒體存儲系統(tǒng),包括分段裝置以及子分段索引原子生成裝置,其中 所述分段裝置,用于在保存媒體內(nèi)容時,對所述媒體內(nèi)容進行分段,每個分段包括一個或多個子分段; 所述子分段索引原子生成裝置,用于為每個子分段生成子分段索引原子,并保存所述子分段索引原子,所述子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息,其中 所述采樣個數(shù)信息,用于表示當前子分段中各級別被索引的采樣數(shù)據(jù)幀的個數(shù); 所述采樣偏移信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲起始地址相對于所述當前子分段首地址的偏移; 所述采樣長度信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀的存儲長度;所述采樣時間信息,用于表示當前子分段中每個被索引的采樣數(shù)據(jù)幀相對于所述當前子分段中首個采樣數(shù)據(jù)幀的時間偏移。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于, 所述子分段索引原子中還包括位數(shù)標識信息,其用于表示采樣偏移信息和采樣長度信息當前的所需的位數(shù)。
11.一種流媒體播放系統(tǒng),位于終端側(cè),包括下載裝置和播放裝置,其中 所述下載裝置,用于從流媒體服務(wù)器下載子分段索引原子,以及用于所述終端處于以下場景中的任意一種中時,根據(jù)下載的子分段索引原子的內(nèi)容下載數(shù)據(jù)幀從正常播放模式進入特技模式的場景、從特技模式進入正常播放模式的場景、進入時移定位點播模式的場景;所述子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息; 所述播放裝置,用于并播放下載的數(shù)據(jù)幀。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于, 所述下載裝置包括確定起始數(shù)據(jù)幀模塊、第一子分段索引原子獲取模塊以及下載數(shù)據(jù)幀模塊,其中 所述確定起始數(shù)據(jù)幀模塊,用于在所述終端處于從正常播放模式進入特技模式的場景時,在接收到進入特技模式的命令后,確定起始數(shù)據(jù)幀; 所述第一子分段索引原子獲取模塊,用于根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息向流媒體服務(wù)器請求下載所述起始數(shù)據(jù)幀所在的子分段所屬分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子; 所述下載數(shù)據(jù)幀模塊,用于確定當前特技模式下所述子分段中待播放數(shù)據(jù)幀的最高級另IJ,遍歷所述子分段索引原子,查找在所述起始數(shù)據(jù)幀之后的,且級別小于所述最高級別的被索引的采樣數(shù)據(jù)幀,以及用于按照查找到的被索引的采樣數(shù)據(jù)幀的采樣時間信息順序下載所述查找到的被索引的采樣數(shù)據(jù)幀。
13.如權(quán)利要求11所述的系統(tǒng),其特征在于, 所述起始數(shù)據(jù)幀為當前數(shù)據(jù)幀之后的且級別最低的首個數(shù)據(jù)幀。
14.如權(quán)利要求11所述的系統(tǒng),其特征在于, 所述下載裝置包括查找模塊、第一下載模塊,其中 所述查找模塊,用于在所述終端處于從特技模式進入正常播放模式的場景時,在接收到退出特技模式的命令后,在子分段索引原子中查找當前數(shù)據(jù)幀之后的級別最低的被索引的采樣數(shù)據(jù)幀; 所述第一下載模塊,用于根據(jù)所述子分段索引原子中記錄的所述被索引的采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向流媒體服務(wù)器請求下載該查找到的被索引的采樣數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。
15.如權(quán)利要求11所述的系統(tǒng),其特征在于, 所述下載裝置包括第二子分段索引原子獲取模塊、第二下載模塊,其中 所述第二子分段索引原子獲取模塊,用于在所述終端處于時移定位點播模式的場景中時,在接收到進入時移定位點播模式的命令后,根據(jù)時移點播時間確定該時間對應(yīng)的子分段,根據(jù)預(yù)先下載的媒體表示描述(MPD)中分段索引的地址信息向所述流媒體服務(wù)器請求下載所述分段的分段索引,從所述分段索引中獲取所述子分段的子分段索引原子; 第二下載模塊,用于遍歷所述子分段索引原子,查找所述時移點播時間之后的且級別最低的被索引的采樣數(shù)據(jù)幀,根據(jù)所述子分段索引原子中記錄的該采樣數(shù)據(jù)幀的采樣偏移信息和采樣長度信息,向所述流媒體服務(wù)器請求下載該采樣數(shù)據(jù)幀及其之后的數(shù)據(jù)幀。
全文摘要
本發(fā)明公開了一種流媒體存儲、播放方法及相應(yīng)系統(tǒng),基于DVB Tier實現(xiàn)流媒體的存儲和播放,使用戶在進行與特技模式相關(guān)的播放時可以獲得與期望一致的效果。所述存儲方法包括流媒體服務(wù)器在保存媒體內(nèi)容時,對媒體內(nèi)容進行分段,每個分段包括一個或多個子分段,流媒體服務(wù)器為每個子分段生成子分段索引原子,子分段索引原子包括采樣個數(shù)信息、采樣偏移信息、采樣長度信息以及采樣時間信息。所述存儲系統(tǒng)包括分段裝置以及子分段索引原子生成裝置。采用本發(fā)明方法,能夠快速定位到需要播放的數(shù)據(jù)幀起始和結(jié)束位置,既節(jié)省了網(wǎng)絡(luò)流量,又大大減小用戶播放過程中的等待時間,提升了用戶的體驗。
文檔編號H04L29/06GK102761524SQ201110107459
公開日2012年10月31日 申請日期2011年4月27日 優(yōu)先權(quán)日2011年4月27日
發(fā)明者劉繼年, 孫健, 李竹平, 王芳, 趙宇, 陳光亮 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
茌平县| 桓仁| 堆龙德庆县| 濮阳市| 永州市| 恩施市| 峨山| 泗洪县| 上蔡县| 天津市| 富阳市| 长寿区| 托里县| 旅游| 繁峙县| 乡宁县| 顺平县| 安远县| 基隆市| 荥经县| 色达县| 兴仁县| 呼和浩特市| 浦城县| 高州市| 平凉市| 南江县| 阜平县| 黄梅县| 伊川县| 嘉善县| 元朗区| 河间市| 沙雅县| 沅江市| 绥德县| 赤峰市| 普宁市| 西乌珠穆沁旗| 三门峡市| 喀什市|