專(zhuān)利名稱(chēng):發(fā)送、播放流媒體數(shù)據(jù)的方法和裝置及流媒體點(diǎn)播系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體通信技術(shù)領(lǐng)域,尤其涉及發(fā)送、播放流媒體數(shù)據(jù)的方法 和裝置及流媒體點(diǎn)播系統(tǒng)。
背景技術(shù):
目前,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,流媒體得到廣泛的應(yīng)用。人們可以通過(guò)網(wǎng)絡(luò)
頻道實(shí)時(shí)觀(guān)看電視直播;或者通過(guò)攝像頭,進(jìn)行遠(yuǎn)程實(shí)時(shí)監(jiān)控;或者通過(guò)網(wǎng)絡(luò) 進(jìn)行流媒體點(diǎn)播,以播放服務(wù)器端存放的碼流。在網(wǎng)絡(luò)流媒體應(yīng)用中,人們不 僅對(duì)音視頻的流暢性提出了要求,而且對(duì)現(xiàn)場(chǎng)直播或監(jiān)控的實(shí)時(shí)性提出了更高 的要求。然而由于網(wǎng)絡(luò)帶寬的有限性,致使在網(wǎng)絡(luò)上傳輸?shù)囊粢曨l會(huì)受到網(wǎng)絡(luò) 抖動(dòng)的影響,使得接收端出現(xiàn)視頻不流暢或音頻卡頓的現(xiàn)象。
為了屏蔽網(wǎng)絡(luò)抖動(dòng)對(duì)音視頻帶來(lái)不利的影響,通常在網(wǎng)絡(luò)接收端增加一個(gè) 數(shù)據(jù)緩存,但是簡(jiǎn)單的緩存會(huì)對(duì)音視頻的點(diǎn)播帶來(lái)非常大的延時(shí)。如何平衡音 視頻播放的流暢性與延時(shí)的矛盾,是一個(gè)重要問(wèn)題。
現(xiàn)有技術(shù)提供了 一種實(shí)時(shí)流媒體傳輸方法,媒體服務(wù)器在播放終端緩存區(qū) 數(shù)據(jù)量異常時(shí)改變向播放終端發(fā)送數(shù)據(jù)的速率,在播放終端緩存區(qū)數(shù)據(jù)量恢復(fù) 到正常數(shù)據(jù)量時(shí)恢復(fù)正常發(fā)送速率。根據(jù)緩存區(qū)的數(shù)據(jù)量改變媒體服務(wù)器端的 數(shù)據(jù)發(fā)送速率,保證在網(wǎng)絡(luò)不穩(wěn)定時(shí)的流媒體播放質(zhì)量。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺點(diǎn)從媒體 服務(wù)器到播放終端的最終輸出,會(huì)使得播放輸出延時(shí)比較大,難以達(dá)到實(shí)時(shí)性。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了 一種發(fā)送、播放流媒體數(shù)據(jù)的方法和裝置及流媒體點(diǎn) 播系統(tǒng),可以減小流媒體播放的延時(shí)。 一種發(fā)送流媒體數(shù)據(jù)的方法,包括獲取需要發(fā)送的流媒體數(shù)據(jù)并進(jìn)行緩存;
按照預(yù)定的發(fā)送節(jié)拍向客戶(hù)端發(fā)送緩存的流媒體數(shù)據(jù);
統(tǒng)計(jì)當(dāng)前的緩存數(shù)據(jù)量;
若緩存數(shù)據(jù)量超過(guò)第一水線(xiàn)Tl,則丟棄緩存數(shù)據(jù)中的非關(guān)鍵數(shù)據(jù)。
一種播放流媒體數(shù)據(jù)的方法,包括
接收來(lái)自服務(wù)端的流媒體數(shù)據(jù),并進(jìn)行緩存;
按照預(yù)設(shè)的播放節(jié)奏輸出緩存的流媒體數(shù)據(jù);
統(tǒng)計(jì)緩存中的流媒體數(shù)據(jù)量;
根據(jù)所述流媒體數(shù)據(jù)量對(duì)所述播放節(jié)奏進(jìn)行調(diào)整。
一種流媒體服務(wù)裝置,包括
第一存儲(chǔ)單元,用于獲取需要發(fā)送的流媒體數(shù)據(jù)并進(jìn)行存儲(chǔ);
第一統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述第一存儲(chǔ)單元中緩存的流媒體數(shù)據(jù)量;
第 一調(diào)度單元,用于當(dāng)所述第 一統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量超過(guò)第 一水
線(xiàn)T1時(shí),丟棄所述第一存儲(chǔ)單元存儲(chǔ)的流媒體數(shù)據(jù)的非關(guān)鍵數(shù)據(jù);
發(fā)送單元,用于按照預(yù)定的發(fā)送節(jié)拍向客戶(hù)端發(fā)送所述第一存儲(chǔ)單元存儲(chǔ)
的流媒體數(shù)據(jù)。
一種流i某體播放裝置,包括
第二存儲(chǔ)單元,用于存儲(chǔ)來(lái)自服務(wù)端的流媒體數(shù)據(jù);
輸出單元,用于根據(jù)預(yù)定的播放節(jié)奏輸出所述流媒體數(shù)據(jù); 第二統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述第二存儲(chǔ)單元的存儲(chǔ)的流媒體數(shù)據(jù)量; 第二調(diào)度單元,用于根據(jù)所述第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量調(diào)整所述 輸出單元的播放節(jié)奏。
一種流媒體點(diǎn)播系統(tǒng),包括
第一存儲(chǔ)單元,用于獲取需要發(fā)送的流媒體數(shù)據(jù)并進(jìn)行存儲(chǔ);
第一統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述第一存儲(chǔ)單元中緩存的流媒體數(shù)據(jù)量;
第 一調(diào)度單元,用于當(dāng)所述第 一統(tǒng)計(jì)單元統(tǒng)計(jì)的流i某體數(shù)據(jù)量超過(guò)第 一水線(xiàn)T1時(shí),丟棄所述第一存儲(chǔ)單元存儲(chǔ)的流媒體數(shù)據(jù)的非關(guān)鍵數(shù)據(jù);
發(fā)送單元,用于按照預(yù)定的發(fā)送節(jié)拍發(fā)送所述第一存儲(chǔ)單元存儲(chǔ)的流媒體
數(shù)據(jù);
第二存儲(chǔ)單元,用于存儲(chǔ)所述發(fā)送單元發(fā)送的流媒體數(shù)據(jù);
輸出單元,用于根據(jù)預(yù)定的播放節(jié)奏輸出所述流媒體數(shù)據(jù); 第二統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述第二存儲(chǔ)單元的存儲(chǔ)的流^ 某體數(shù)據(jù)量; 第二調(diào)度單元,用于根據(jù)所述第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量調(diào)整所述 播放節(jié)奏。
上述技術(shù)方案,發(fā)送端可以盡快地向客戶(hù)端發(fā)送流媒體數(shù)據(jù),發(fā)送端僅緩 存較少的數(shù)據(jù);將播放節(jié)奏的控制放在客戶(hù)端進(jìn)行,降低了網(wǎng)絡(luò)抖動(dòng)對(duì)延時(shí)的 影響,從而減小了流媒體播放的延時(shí)。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施 例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述 中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付 出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。 圖1為本發(fā)明實(shí)施例一提供的發(fā)送流媒體數(shù)據(jù)的方法流程示意圖; 圖2為本發(fā)明實(shí)施例 一 中才艮據(jù)緩存數(shù)據(jù)量調(diào)整發(fā)送數(shù)據(jù)的方法示意圖; 圖3為為本發(fā)明提實(shí)施例二提供的播放流媒體數(shù)據(jù)的方法流程示意圖; 圖4為本發(fā)明提供實(shí)施二中播放節(jié)拍與緩沖幀數(shù)的關(guān)系示意圖; 圖5為本發(fā)明提供實(shí)施二中的播放節(jié)拍與緩沖幀數(shù)的關(guān)系實(shí)例示意圖 圖6為本發(fā)明實(shí)施例中第三水線(xiàn)T3與接收節(jié)拍的關(guān)系示意圖; 圖7為本發(fā)明實(shí)施例三中播放節(jié)奏與緩存幀數(shù)的關(guān)系示意圖; 圖8為本發(fā)明實(shí)施例四提供的流媒體服務(wù)裝置的結(jié)構(gòu)示意圖; 圖9為本發(fā)明實(shí)施例四提供的又一個(gè)流媒體服務(wù)裝置的結(jié)構(gòu)示意圖; 圖10為本發(fā)明實(shí)施例五提供的流媒體播放裝置的結(jié)構(gòu)示意圖; 圖11為本發(fā)明實(shí)施例五提供的又一個(gè)流々某體播放裝置的結(jié)構(gòu)示意圖;圖12為本發(fā)明實(shí)施例五提供的再一個(gè)流媒體服務(wù)裝置的結(jié)構(gòu)示意圖; 圖13為本發(fā)明實(shí)施例六提供的一個(gè)流媒體點(diǎn)播系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清 楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是 全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造 性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例從服務(wù)端的發(fā)送數(shù)據(jù)的控制,和客戶(hù)端的播放節(jié)奏控制這兩 方面整體考慮,提供一種抗網(wǎng)絡(luò)抖動(dòng)的低延時(shí)流媒體點(diǎn)播方案。 這里對(duì)本發(fā)明實(shí)施例可能用到的術(shù)語(yǔ)進(jìn)行解釋如下 播放節(jié)奏流々某體內(nèi)容的呈現(xiàn)速度,例如視頻內(nèi)容展開(kāi)的快慢; 播放節(jié)拍播放流媒體數(shù)據(jù)的快慢,每秒鐘播放單位流媒體數(shù)據(jù),如每秒 鐘播放的視頻幀數(shù)或音頻片段,其中音頻片段為一固定長(zhǎng)度的音頻數(shù)據(jù);
發(fā)送節(jié)拍表示發(fā)送流媒體數(shù)據(jù)的快慢,例如每秒鐘發(fā)送的單位流媒體數(shù)
據(jù);
接收節(jié)拍流媒體數(shù)據(jù)是一段一段通過(guò)網(wǎng)絡(luò)傳輸過(guò)來(lái)的,接收也需要一段 一段進(jìn)行接收,接收節(jié)拍代表了接收流媒體數(shù)據(jù)的快慢,例如每秒鐘發(fā)送的單 位流媒體數(shù)據(jù);
水線(xiàn)在緩存中,對(duì)存儲(chǔ)的數(shù)據(jù)量預(yù)設(shè)的一個(gè)值,稱(chēng)這個(gè)值為水線(xiàn),低于 或高于該水線(xiàn),會(huì)進(jìn)行相應(yīng)的處理;
非關(guān)鍵數(shù)據(jù)用于網(wǎng)絡(luò)傳輸?shù)牧髅襟w數(shù)據(jù)通常是經(jīng)過(guò)壓縮的,分為關(guān)鍵數(shù) 據(jù)和非關(guān)鍵數(shù)據(jù),非關(guān)鍵數(shù)據(jù)通常經(jīng)由關(guān)鍵數(shù)據(jù)處理而來(lái),比如壓縮視頻流中, 關(guān)鍵數(shù)據(jù)就是參考幀,非關(guān)鍵數(shù)據(jù)就是非參考幀。參考幀通常不能丟棄,否則 解碼后圖像會(huì)有問(wèn)題,非關(guān)鍵數(shù)據(jù)可以丟棄;對(duì)于音頻數(shù)據(jù),也有類(lèi)似的關(guān)鍵 數(shù)據(jù)與非關(guān)鍵數(shù)據(jù)之分。
關(guān)鍵數(shù)據(jù)參考關(guān)于"非關(guān)鍵數(shù)據(jù)"的解釋?zhuān)?br>
粗調(diào)表示可以較大幅度的進(jìn)行調(diào)節(jié),對(duì)平滑控制的要求可以放寬。實(shí)施例一 發(fā)送流纟某體數(shù)據(jù)的方法
如圖1所示,包括
510、 獲取需要發(fā)送的流媒體數(shù)據(jù)并進(jìn)行緩存;
服務(wù)端接收到客戶(hù)端的點(diǎn)播請(qǐng)求后,從數(shù)據(jù)庫(kù)上獲取需要發(fā)送的流媒體數(shù) 據(jù),或者實(shí)時(shí)采集需要發(fā)送的媒體數(shù)據(jù),將采集的媒體數(shù)據(jù)進(jìn)行編碼,得到需 要發(fā)送的流纟某體數(shù)據(jù)。
511、 按照預(yù)定的發(fā)送節(jié)拍向客戶(hù)端發(fā)送流媒體數(shù)據(jù); 假設(shè)服務(wù)端采集或獲取的數(shù)據(jù)被以固定的節(jié)拍s壓縮之后送入緩存。由于
網(wǎng)絡(luò)不穩(wěn)定,因此需要對(duì)發(fā)送數(shù)據(jù)的過(guò)程進(jìn)行調(diào)度。如果網(wǎng)絡(luò)帶寬良好,網(wǎng)絡(luò) 傳輸不會(huì)被阻塞,則令發(fā)送節(jié)拍〉s,使得緩存保持無(wú)殘留數(shù)據(jù)或僅剩很少的數(shù) 據(jù)。
512、 統(tǒng)計(jì)當(dāng)前的緩存數(shù)據(jù)量;
如果網(wǎng)絡(luò)狀況不好,網(wǎng)絡(luò)傳輸阻塞,導(dǎo)致發(fā)送節(jié)拍〈s,因而緩存數(shù)據(jù)會(huì)累 積;等網(wǎng)絡(luò)狀況變好時(shí),發(fā)送節(jié)拍〉s,累積的數(shù)據(jù)就會(huì)快速發(fā)送出去。
513、 若緩存數(shù)據(jù)量超過(guò)第一水線(xiàn)T1,則丟棄緩存數(shù)據(jù)中的非關(guān)鍵數(shù)據(jù)。 如果網(wǎng)絡(luò)狀況很差,長(zhǎng)時(shí)間不恢復(fù),累積的緩存數(shù)據(jù)超過(guò)低水線(xiàn)T1后,
只向播放終端發(fā)送關(guān)鍵數(shù)據(jù),丟掉非關(guān)鍵數(shù)據(jù)。
514、 若緩存數(shù)據(jù)超過(guò)第二水線(xiàn)T2,則丟棄全部緩存數(shù)據(jù)。 如果網(wǎng)絡(luò)持續(xù)很差,導(dǎo)致存儲(chǔ)中數(shù)據(jù)超過(guò)第二水線(xiàn)T2此時(shí)可以丟掉全部
數(shù)據(jù),網(wǎng)絡(luò)恢復(fù)時(shí)等到關(guān)鍵數(shù)據(jù)到來(lái)時(shí)才繼續(xù)發(fā)送數(shù)據(jù),如圖2所示。該第二 水線(xiàn)是高水線(xiàn),即T2〉T1。步驟S14不是必須的,這樣做可以最大程度地提高 媒體點(diǎn)播的實(shí)時(shí)性,減少延時(shí)。
本發(fā)明實(shí)施例提供的發(fā)送流媒體數(shù)據(jù)的方法,在服務(wù)端可以在網(wǎng)絡(luò)狀況良 好的情況下盡快地向客戶(hù)端發(fā)送流媒體數(shù)據(jù),而不緩存數(shù)據(jù);只有在網(wǎng)絡(luò)狀況 變差的情況下服務(wù)端才需要進(jìn)行緩存數(shù)據(jù),可以減少服務(wù)端所需的緩存容量, 同時(shí)也減少了網(wǎng)絡(luò)抖動(dòng)對(duì)客戶(hù)端接收數(shù)據(jù)的影響。
實(shí)施例二、播放流媒體數(shù)據(jù)的方法 如圖3,該方法包括以下步驟
10531、 接收來(lái)自服務(wù)端的流媒體數(shù)據(jù),并進(jìn)行緩存,
532、 按照預(yù)設(shè)的播放節(jié)奏輸出緩存的流媒體數(shù)據(jù);
533、 統(tǒng)計(jì)緩存中的流媒體數(shù)據(jù)量;數(shù)據(jù)量的統(tǒng)計(jì)可以單位媒體數(shù)據(jù)表示, 對(duì)于視頻,可以幀為單位統(tǒng)計(jì),對(duì)于音頻,可以音頻片段為單位進(jìn)行統(tǒng)計(jì)。
534、 4艮據(jù)所述流媒體數(shù)據(jù)量對(duì)所述播放節(jié)奏進(jìn)行調(diào)整。
具體地,步驟S34包括若緩存中的流媒體數(shù)據(jù)量超過(guò)第三水線(xiàn)T3,則 加快流媒體的播放節(jié)奏,若緩存中的流媒體數(shù)據(jù)量小于第三水線(xiàn)T3,則減慢 流媒體的播放節(jié)奏。
播放節(jié)奏的調(diào)整可以平滑地進(jìn)行,以達(dá)到更好的播放效果。播放節(jié)奏的調(diào) 整可以通過(guò)調(diào)整播放節(jié)拍實(shí)現(xiàn),或者通過(guò)丟棄緩存中的凄t據(jù)或重復(fù)播放已經(jīng)播 放過(guò)的數(shù)據(jù)實(shí)現(xiàn)。以視頻數(shù)據(jù)為例,緩存中的流媒體數(shù)據(jù)量以幀為單位進(jìn)行統(tǒng) 計(jì),設(shè)緩存中流媒體數(shù)據(jù)的幀數(shù)為n, y表示通過(guò)播放調(diào)整后播放輸出的相鄰 兩幀的時(shí)間間隔(1/y也就為播放節(jié)拍),s,表示服務(wù)端通過(guò)網(wǎng)絡(luò)發(fā)送過(guò)來(lái)的幀 數(shù)據(jù)的節(jié)拍即接收節(jié)拍。可以令y與n的關(guān)系如圖4所示
1) 當(dāng)緩存中存儲(chǔ)幀數(shù)n-T3時(shí),y=l/s,,此時(shí)播放節(jié)拍等于輸入碼流的節(jié) 拍s,;
2) 當(dāng)n〉T3時(shí),y<l/s,,即l/y>s,,播放節(jié)拍加快,且n大的越多,播放 節(jié)拍越快。
3) 當(dāng)n〈T3時(shí),y>l/s,,即l/y<s,,播放節(jié)拍放慢,且n越小,播放節(jié)拍 越慢。
通過(guò)這種近似線(xiàn)性調(diào)整播放節(jié)拍的方式,緩存中的數(shù)據(jù)量基本上被控制 剩余T3的水平,即使網(wǎng)絡(luò)抖動(dòng),網(wǎng)絡(luò)送過(guò)來(lái)的碼流s,不穩(wěn)定,導(dǎo)致緩存中 的數(shù)據(jù)n遠(yuǎn)離T3水線(xiàn),通過(guò)上述的方式,可以起到流i某體數(shù)據(jù)如圖像音頻等 平滑輸出的作用,且可以快速的收斂即當(dāng)緩存中的數(shù)據(jù)由于某種一場(chǎng)而遠(yuǎn)離水 線(xiàn)時(shí),可以通過(guò)加快播放節(jié)奏讓使緩存中的數(shù)據(jù)n被控制在水線(xiàn)T3上下波動(dòng), 使得播放節(jié)奏趨于平穩(wěn)。
T3的大小對(duì)播放延時(shí)有著巨大的影響,在保證播放流暢的情況下即緩存 中數(shù)據(jù)n>0時(shí),僅可能的讓T3最小。
水線(xiàn)3是可以自適應(yīng)調(diào)整的如果緩存的流媒體數(shù)據(jù)量n在一定時(shí)間內(nèi)多次達(dá)到緩存底部即接近n-O,則水線(xiàn)3高度往上調(diào)整,即增大T3的值;如果 長(zhǎng)時(shí)間內(nèi)都沒(méi)有靠近緩存底部,則水線(xiàn)T3往下調(diào)整。如式(1)所示,如果 緩存的流媒體數(shù)據(jù)量n在連續(xù)播放Nl幀的時(shí)間內(nèi)n小于TL的次數(shù)大于N次, 則調(diào)高T3的值;如果在緩存的流媒體數(shù)據(jù)量n在連續(xù)播放N2幀的時(shí)間內(nèi)n 始終大于1幀,則調(diào)低T3的值。
T3 =
rfl, 初始化時(shí)
r3 + A",播放N1幀時(shí)緩沖中n S 7L的情況出現(xiàn)N次 (1 )
r3 - AT3,連續(xù)播放N2幀時(shí)緩沖都滿(mǎn)足"> 1
下面給出 一個(gè)播》文節(jié)拍調(diào)整的例子。
如圖5所示,為播放節(jié)拍與緩存中幀個(gè)數(shù)的關(guān)系示意圖,x表示前后兩幀
的時(shí)間間隔(x=l/s,),輸入碼流以X為間隔送入緩存中,當(dāng)緩存中幀數(shù)大于
T3,播放節(jié)拍加快;小于T3,播放節(jié)拍減慢。因此,對(duì)播放節(jié)拍的調(diào)度使得 緩存的數(shù)據(jù)被控制在T3幀左右進(jìn)行波動(dòng)。對(duì)T3的自適應(yīng)調(diào)整可以如公式(2) 所示
自適應(yīng)緩沖水線(xiàn)r3二
r。, 初始化時(shí)
n + l,播放30幀時(shí)緩沖中n《啲情況出現(xiàn)2次 713 -l,連續(xù)播放300幀時(shí)緩沖n > 1
(2)
TO取值可以取大于2的整數(shù),相應(yīng)的實(shí)際播放兩幀的時(shí)間間隔y的取 值為
1.6x,w^r-3
1.4x,
L2;c, = r-i
= :r
0.8;c, = r+i
0.6x,
0.4義, = r+3
0.2jc,"=r+4
5,其他
12當(dāng)然y與緩存剩余幀數(shù)的關(guān)系可以隨意取,只要滿(mǎn)足以下播放節(jié)拍調(diào)度方 式即可緩存中幀數(shù)越多,播放節(jié)拍越快,即播放兩幀的時(shí)間間隔越??;緩存 中幀數(shù)越少,播放節(jié)拍減慢,即播放兩幀的時(shí)間間隔越大)。
圖6示出了 T3與網(wǎng)絡(luò)狀況的關(guān)系示意圖,實(shí)線(xiàn)表示T3的數(shù)值,虛線(xiàn)表 示播放節(jié)拍s,即l/y,由圖6可以看出,接收節(jié)拍在較小的范圍內(nèi)波動(dòng)時(shí),表 明網(wǎng)絡(luò)抖動(dòng)較小,T3設(shè)置的較小,播放延時(shí)比較??;接收節(jié)拍在較大的范圍 內(nèi)波動(dòng)時(shí),表明網(wǎng)絡(luò)抖動(dòng)較大,T3設(shè)置的較大,相應(yīng)的播放延時(shí)也會(huì)比較大; 若接收節(jié)拍位置一個(gè)穩(wěn)定的值,表明網(wǎng)絡(luò)幾乎沒(méi)有抖動(dòng),則T3的值設(shè)置的最 小,播放延時(shí)很小。即可以根據(jù)不同網(wǎng)絡(luò)狀況設(shè)置水線(xiàn)的值,適應(yīng)不同的實(shí)際 應(yīng)用需求。例如,若網(wǎng)絡(luò)狀況比較好,T3值設(shè)置小些;若網(wǎng)絡(luò)狀況比較差, T3值設(shè)置大些;若要求實(shí)時(shí)性較好,T3值設(shè)置小些,若要求流媒體播放質(zhì)量 較高,則T3值可以設(shè)置大些。
本發(fā)明實(shí)施例提供的播放流媒體數(shù)據(jù)的方法,不但盡可能的降低了播放的 延時(shí),在局域網(wǎng)中可讓延時(shí)減少到大致250ms以?xún)?nèi)??梢哉{(diào)整水線(xiàn)的值以平 衡延時(shí)與播放質(zhì)量的關(guān)系,在保證低延時(shí)的基礎(chǔ)上,實(shí)現(xiàn)了圖像流暢地輸出; 且水線(xiàn)可以根據(jù)不同的網(wǎng)絡(luò)狀況和帶寬進(jìn)行調(diào)整,可以適應(yīng)不同的用戶(hù)需求。 同時(shí)由于播放節(jié)奏的平滑控制在客戶(hù)端進(jìn)行,有利于控制的及時(shí)性,易于操作。
實(shí)施例三播放流媒體數(shù)據(jù)的方法
有些音頻、視頻輸出節(jié)拍是固定的,調(diào)整播放節(jié)奏不能通過(guò)調(diào)整播放節(jié)拍 來(lái)加快或減慢,此時(shí)可以采取丟棄數(shù)據(jù)或重復(fù)播放數(shù)據(jù)的方式進(jìn)行播放調(diào)度。 如果需要加快播放節(jié)奏,則可以丟棄緩存中的數(shù)據(jù),丟棄的數(shù)據(jù)可以是整幀地 丟棄,或者僅丟棄幀中的非關(guān)鍵數(shù)據(jù);如果需要減慢播放節(jié)奏,則可以重復(fù)播 放剛播放過(guò)的數(shù)據(jù)。水線(xiàn)的設(shè)置可以與實(shí)施例二相類(lèi)似,對(duì)于播放節(jié)奏的平滑 控制,也可以類(lèi)似于實(shí)施例二的線(xiàn)性調(diào)整方式,例如,如果緩存中的數(shù)據(jù)超過(guò) 水線(xiàn)T3,超過(guò)的越多,則需要丟棄的非關(guān)鍵數(shù)據(jù)越多,超過(guò)的越少,則僅丟 棄少部分非關(guān)鍵數(shù)據(jù);若緩存中的數(shù)據(jù)低于水線(xiàn)T3,需要減慢播放節(jié)奏,則緩存中的數(shù)據(jù)越少,重復(fù)播放的數(shù)據(jù)越多,若緩存中的數(shù)據(jù)越多,則重播放的 數(shù)據(jù)越少。
如果網(wǎng)絡(luò)狀況很好,接收節(jié)拍始終大于播放節(jié)拍,緩存中的數(shù)據(jù)遠(yuǎn)遠(yuǎn)超過(guò) 設(shè)置的低水線(xiàn)T3,則這時(shí)候播放延時(shí)將增大。如果想盡量保證播放的實(shí)時(shí)性,
則可以再設(shè)置一個(gè)高水線(xiàn)T4, T4大于T3,如圖7所示。當(dāng)緩存內(nèi)的數(shù)據(jù)超過(guò) T4時(shí),則對(duì)播放節(jié)奏的調(diào)整可以進(jìn)行粗調(diào),即可以進(jìn)行較大幅度的調(diào)整,如 果是通過(guò)調(diào)整節(jié)拍的方式進(jìn)行,則可以一個(gè)較高的固定節(jié)拍進(jìn)行播放,以快速 清空緩存內(nèi)的數(shù)據(jù);或者,如果是以丟棄數(shù)據(jù)的方式進(jìn)行,則可以丟棄緩存內(nèi) 的大部分或全部幀的數(shù)據(jù)。當(dāng)然,為了兼顧播放質(zhì)量和實(shí)時(shí)性,對(duì)水線(xiàn)T3和 T4也可以進(jìn)行自適應(yīng)的調(diào)整對(duì)T3的調(diào)整可以參考實(shí)施例二描述的方法;對(duì) T4的調(diào)整也類(lèi)似,如果緩存內(nèi)的幀數(shù)超過(guò)T4較多,則調(diào)低T4;如果緩存內(nèi) 的幀數(shù)超過(guò)T4較少,則適當(dāng)提高T4的值。對(duì)于實(shí)時(shí)點(diǎn)播的情況,如果對(duì)實(shí) 時(shí)性的要求很高的話(huà),還可以設(shè)定一個(gè)用于降低延時(shí)的第五水線(xiàn)T5,當(dāng)緩存 中的流媒體數(shù)據(jù)量連續(xù)超過(guò)T5的次數(shù)大于預(yù)定的次數(shù)例如1000次時(shí),清空 當(dāng)前緩存中的剩余數(shù)據(jù),這個(gè)T5—般小于T3,才能對(duì)延時(shí)的控制起到更好的 作用。
本由上可見(jiàn),發(fā)明實(shí)施例提供了多水線(xiàn)的調(diào)整方式如果緩存中超過(guò)低水 線(xiàn),則進(jìn)行微調(diào)處理,比如丟掉一幀數(shù)據(jù)或稍微加快播放節(jié)拍,盡量防止緩存 中數(shù)據(jù)上漲;如果緩存中數(shù)據(jù)超過(guò)高水線(xiàn),此時(shí)可以認(rèn)為是出現(xiàn)異常情況,則 需要進(jìn)行粗調(diào),比如清空緩存只剩很少的幾幀數(shù)據(jù)。這樣可以使得在出現(xiàn)異常 時(shí)播放節(jié)奏的調(diào)整能夠迅速恢復(fù)正常。為了降低延時(shí),添加了一個(gè)"降低延時(shí) 的水線(xiàn)",如果輸出節(jié)拍連續(xù)多次檢測(cè)到緩存中數(shù)據(jù)超過(guò)該水線(xiàn),則認(rèn)為緩存 中積累了多余的產(chǎn)生延時(shí)的數(shù)據(jù),此時(shí),需要清空緩存只剩很少的幾幀數(shù)據(jù)。
是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于 一計(jì)算 機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。 其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。
14實(shí)施例四流媒體服務(wù)裝置
如圖8所示,包括
第一存儲(chǔ)單元81,用于獲取需要發(fā)送的流媒體數(shù)據(jù)并進(jìn)行存儲(chǔ); 第一統(tǒng)計(jì)單元82,用于統(tǒng)計(jì)第一存儲(chǔ)單元81中存儲(chǔ)的流媒體數(shù)據(jù)量; 第一調(diào)度單元83,用于當(dāng)?shù)谝唤y(tǒng)計(jì)單元82統(tǒng)計(jì)的流媒體數(shù)據(jù)量超過(guò)第一
水線(xiàn)Tl時(shí),丟棄第一存儲(chǔ)單元81存儲(chǔ)的流媒體數(shù)據(jù)的非關(guān)鍵數(shù)據(jù);
發(fā)送單元84,用于按照預(yù)定的發(fā)送節(jié)拍向客戶(hù)端發(fā)送第一存儲(chǔ)單元81存
儲(chǔ)的流媒體數(shù)據(jù)。
如圖9所示,若流媒體數(shù)據(jù)是實(shí)時(shí)采集并向客戶(hù)端發(fā)送的話(huà),該裝置還包
括
采集單元85,用于采集需要發(fā)送的流媒體數(shù)據(jù);
編碼單元86,用于將采集單元85采集的媒體數(shù)據(jù)編碼成預(yù)定的格式,得 到壓縮后的流4某體數(shù)據(jù),并將壓縮后的流媒體數(shù)據(jù)發(fā)送至第一存儲(chǔ)單元81。
本發(fā)明實(shí)施例采集單元85、編碼單元86以固定節(jié)拍(設(shè)為s)將壓縮之后的 碼流送入第一存儲(chǔ)單元81中,由發(fā)送單元84向播放終端發(fā)送數(shù)據(jù)。由于網(wǎng)絡(luò) 情況可能不穩(wěn)定,因此本發(fā)明實(shí)施例還設(shè)置有第一調(diào)度單元83,該第一調(diào)度 單元83對(duì)第一存儲(chǔ)單元81中的數(shù)據(jù)進(jìn)行控制
1) 如果網(wǎng)絡(luò)狀況良好,網(wǎng)絡(luò)傳輸不會(huì)被阻塞,保持發(fā)送節(jié)拍、,使得 第一存儲(chǔ)單元81中保留盡量少的數(shù)據(jù)或無(wú)殘留數(shù)據(jù)。
2) 如果網(wǎng)絡(luò)狀況不好,網(wǎng)絡(luò)傳輸阻塞,導(dǎo)致發(fā)送節(jié)拍〈s,因而第一存 儲(chǔ)單元81中數(shù)據(jù)累積起來(lái);等網(wǎng)絡(luò)狀況變好時(shí),保持發(fā)送節(jié)拍〉s,累積的數(shù) 據(jù)就會(huì)快速發(fā)送出去。
3) 如果網(wǎng)絡(luò)狀況很差,長(zhǎng)時(shí)間不恢復(fù),第一存儲(chǔ)單元81中累積的數(shù)據(jù) 超過(guò)水線(xiàn)T1后,只發(fā)送關(guān)鍵數(shù)據(jù),丟掉非關(guān)鍵數(shù)據(jù);
4)進(jìn)一步地,如果網(wǎng)絡(luò)繼續(xù)很差,導(dǎo)致存儲(chǔ)中數(shù)據(jù)超過(guò)高水線(xiàn)T2,此 時(shí)丟掉全部數(shù)據(jù)。網(wǎng)絡(luò)恢復(fù)時(shí)可以等到關(guān)鍵數(shù)據(jù)到來(lái)時(shí)再繼續(xù)發(fā)送數(shù)據(jù)。因此, 第一調(diào)度單元83還用于在第一統(tǒng)計(jì)單元82統(tǒng)計(jì)的數(shù)據(jù)量超過(guò)第二水線(xiàn)T2時(shí), 丟棄第一存儲(chǔ)單元81的全部緩存數(shù)據(jù),其中T2大于Tl。
本發(fā)明實(shí)施例提供的媒體服務(wù)裝置,在服務(wù)端可以在網(wǎng)絡(luò)狀況良好的情況下盡快地向客戶(hù)端發(fā)送流媒體數(shù)據(jù),而不緩存數(shù)據(jù);只有在網(wǎng)絡(luò)狀況變差的情 況下服務(wù)端才需要進(jìn)行緩存數(shù)據(jù),可以減少服務(wù)端所需的緩存容量,同時(shí)也減 少了網(wǎng)絡(luò)抖動(dòng)對(duì)客戶(hù)端接收數(shù)據(jù)的影響。
實(shí)施例五流媒體播放裝置 如圖IO所示,包括
第二存儲(chǔ)單元101 ,用于緩存來(lái)自服務(wù)端的流i某體數(shù)據(jù); 輸出單元104,用于根據(jù)預(yù)定的播放節(jié)奏輸出所述流媒體數(shù)據(jù); 第二統(tǒng)計(jì)單元102,用于統(tǒng)計(jì)第二存儲(chǔ)單元101的存儲(chǔ)的流媒體數(shù)據(jù)量; 第二調(diào)度單元103,用于根據(jù)第二統(tǒng)計(jì)單元102統(tǒng)計(jì)的流媒體數(shù)據(jù)量調(diào)整 輸出單元104的播放節(jié)奏。
其中,第二調(diào)度單元103具體用于在第二統(tǒng)計(jì)單元102統(tǒng)計(jì)的存儲(chǔ)的流媒 體數(shù)據(jù)量超過(guò)第三水線(xiàn)T3時(shí),加快流纟某體的播;故節(jié)奏;或在在第二統(tǒng)計(jì)單元 102統(tǒng)計(jì)的緩存的流媒體數(shù)據(jù)量小于第三水線(xiàn)T3時(shí),減慢流媒體的播放節(jié)奏。 進(jìn)一步地,第二調(diào)度單元103還用于在第二統(tǒng)計(jì)單元102統(tǒng)計(jì)的流媒體數(shù) 據(jù)量大于第四水線(xiàn)T4時(shí),對(duì)所述播放節(jié)奏進(jìn)行粗調(diào),其中T4大于T3,具體 調(diào)整方式可以參考方法實(shí)施例。第二調(diào)度單元103還可以用于在第二統(tǒng)計(jì)單元 102統(tǒng)計(jì)的流媒體數(shù)據(jù)量連續(xù)超過(guò)第五水線(xiàn)T5的次數(shù)超過(guò)預(yù)定的次數(shù)時(shí),清 空第二存儲(chǔ)單元101當(dāng)前存儲(chǔ)的剩余數(shù)據(jù)。
流媒體播放裝置還可以包括水線(xiàn)調(diào)整單元IOO,用于根據(jù)第二統(tǒng)計(jì)單元 102統(tǒng)計(jì)的流i某體數(shù)據(jù)量的變化情況調(diào)整T3的值。具體地,用于在流媒體數(shù) 據(jù)量n在連續(xù)播放Nl幀的時(shí)間內(nèi)n小于TL的次數(shù)大于N次時(shí),調(diào)高T3的 值;或在流i某體數(shù)據(jù)量n在連續(xù)播放N2幀的時(shí)間內(nèi)n始終大于1幀時(shí),調(diào)低 T3的值。
若流媒體是經(jīng)過(guò)壓縮的碼流,則還需要在播放輸出之前進(jìn)行解碼操作,相 應(yīng)的播放節(jié)奏的調(diào)整可以在解碼前進(jìn)行,也可以在解碼后進(jìn)行。
如果播放節(jié)奏的調(diào)整是在解碼前進(jìn)行,如圖11所示,第二存儲(chǔ)單元101 接收服務(wù)端傳輸?shù)膲嚎s后的流媒體數(shù)據(jù),則該裝置還包括第一解碼單元105, 用于根據(jù)第二調(diào)度單元103確定的播放節(jié)奏對(duì)第二存儲(chǔ)單元101存儲(chǔ)的流媒體
16數(shù)據(jù)進(jìn)行解碼,并發(fā)送給輸出單元104進(jìn)行輸出。第二存儲(chǔ)單元101存儲(chǔ)的流 媒體數(shù)據(jù)在解碼前進(jìn)行調(diào)度,這樣可以極大降低了存儲(chǔ)開(kāi)銷(xiāo)。
由于網(wǎng)絡(luò)傳輸過(guò)來(lái)的碼流可能是大小不固定的,因此播放終端收到碼流對(duì) 應(yīng)的網(wǎng)絡(luò)包之后,需要對(duì)碼流數(shù)據(jù)進(jìn)行一個(gè)組包的操作,以便后邊進(jìn)行播放節(jié)
奏的控制。比如視頻數(shù)據(jù),需要將網(wǎng)絡(luò)流數(shù)據(jù)組成以幀為單元的數(shù)據(jù);比如音 頻數(shù)據(jù),需要將網(wǎng)絡(luò)流數(shù)據(jù)組成10ms、 20ms、 40ms等固定長(zhǎng)度的數(shù)據(jù)。因此 該裝置還可以包括第一組包單元106,用于將服務(wù)端發(fā)送的流媒體數(shù)據(jù)包進(jìn) 行組成幀數(shù)據(jù)或固定長(zhǎng)度數(shù)據(jù),并發(fā)送給第二存儲(chǔ)單元101進(jìn)行存儲(chǔ)。
如果播放節(jié)奏的調(diào)整是在解碼后進(jìn)行的,則如圖12所示,裝置包括第 二解碼單元107,用于收到服務(wù)端發(fā)送的流媒體數(shù)據(jù)時(shí)對(duì)所述流媒體數(shù)據(jù)進(jìn)行 解碼,并發(fā)送給第二存儲(chǔ)單元101進(jìn)行存儲(chǔ)。該裝置還可以包括第二組包單 元108,用于將服務(wù)端發(fā)送的流々某體數(shù)據(jù)包進(jìn)行組成幀數(shù)據(jù)或固定長(zhǎng)度數(shù)據(jù), 并發(fā)送給第二解碼單元107進(jìn)行解碼。
本發(fā)明實(shí)施例提供的播放流媒體數(shù)據(jù)的裝置,不但盡可能的降低了播放的 延時(shí),在局域網(wǎng)中可讓延時(shí)減少到大致250ms以?xún)?nèi)??梢哉{(diào)整水線(xiàn)的值以平 衡延時(shí)與播放質(zhì)量的關(guān)系,在保證低延時(shí)的基礎(chǔ)上,實(shí)現(xiàn)了圖像流暢地輸出; 且水線(xiàn)可以根據(jù)不同的網(wǎng)絡(luò)狀況和帶寬進(jìn)行調(diào)整,可以適應(yīng)不同的用戶(hù)需求。 同時(shí)由于播放節(jié)奏的平滑控制在客戶(hù)端進(jìn)行,有利于控制的及時(shí)性,易于操作。 多水線(xiàn)的調(diào)整方式可以使得在異常出現(xiàn)時(shí),通過(guò)粗調(diào)播放節(jié)奏使得流媒體數(shù)據(jù) 的調(diào)整迅速恢復(fù)到正常。
實(shí)施例六流媒體點(diǎn)播系統(tǒng)
利用本發(fā)明實(shí)施例提供的任一個(gè)流媒體服務(wù)裝置與任一個(gè)播放流媒體數(shù) 據(jù)的裝置,可以組建一個(gè)流媒體點(diǎn)播系統(tǒng)。下面介紹其中的一個(gè)實(shí)施例,其他 的可以參考前面實(shí)施例的描述。如圖13所示,包括
第一存儲(chǔ)單元81,用于獲取需要發(fā)送的流媒體數(shù)據(jù)并進(jìn)行存儲(chǔ); 第一統(tǒng)計(jì)單元82,用于統(tǒng)計(jì)第一存儲(chǔ)單元81中存儲(chǔ)的流^ 某體數(shù)據(jù)量; 第一調(diào)度單元83,用于當(dāng)?shù)谝唤y(tǒng)計(jì)單元82統(tǒng)計(jì)的流媒體數(shù)據(jù)量超過(guò)第一 水線(xiàn)Tl時(shí),丟棄第一存儲(chǔ)單元81存儲(chǔ)的流媒體數(shù)據(jù)的非關(guān)鍵數(shù)據(jù);發(fā)送單元84,用于按照預(yù)定的發(fā)送節(jié)拍向客戶(hù)端發(fā)送第一存儲(chǔ)單元81存
儲(chǔ)的流媒體數(shù)據(jù)。
第二存儲(chǔ)單元101 ,用于緩存來(lái)自服務(wù)端的流媒體數(shù)據(jù); 輸出單元104,用于根據(jù)預(yù)定的播放節(jié)奏輸出所述流媒體數(shù)據(jù); 第二統(tǒng)計(jì)單元102,用于統(tǒng)計(jì)第二存儲(chǔ)單元101的存儲(chǔ)的流媒體數(shù)據(jù)量; 第二調(diào)度單元103,用于根據(jù)第二統(tǒng)計(jì)單元102統(tǒng)計(jì)的流媒體數(shù)據(jù)量調(diào)整 輸出單元104的播放節(jié)奏。
在服務(wù)端可以在網(wǎng)絡(luò)狀況良好的情況下盡快地向客戶(hù)端發(fā)送流媒體數(shù)據(jù), 而不緩存數(shù)據(jù);只有在網(wǎng)絡(luò)狀況變差的情況下服務(wù)端才需要進(jìn)行緩存數(shù)據(jù),可 以減少服務(wù)端所需的緩存容量,同時(shí)也減少了網(wǎng)絡(luò)抖動(dòng)對(duì)客戶(hù)端接收數(shù)據(jù)的影 響。在客戶(hù)端不但盡可能的降低了播放的延時(shí)。同時(shí)由于播放節(jié)奏的平滑控制 在客戶(hù)端進(jìn)行,有利于控制的及時(shí)性,易于操作。
以上所述僅為本發(fā)明的幾個(gè)實(shí)施例,本領(lǐng)域的技術(shù)人員依據(jù)申請(qǐng)文件公開(kāi) 的可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)或變型而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1、一種發(fā)送流媒體數(shù)據(jù)的方法,其特征在于,包括獲取需要發(fā)送的流媒體數(shù)據(jù)并進(jìn)行緩存;按照預(yù)定的發(fā)送節(jié)拍向客戶(hù)端發(fā)送緩存的流媒體數(shù)據(jù);統(tǒng)計(jì)當(dāng)前的緩存數(shù)據(jù)量;若緩存數(shù)據(jù)量超過(guò)第一水線(xiàn)T1,則丟棄緩存數(shù)據(jù)中的非關(guān)鍵數(shù)據(jù)。
2、 如權(quán)利要求l所述的方法,其特征在于,還包括 若緩存數(shù)據(jù)超過(guò)第二水線(xiàn)T2,則丟棄全部緩存數(shù)據(jù),其中T2大于T1。
3、 如權(quán)利要求1所述的方法,其特征在于,獲取需要發(fā)送的流媒體數(shù)據(jù) 并進(jìn)行緩存之前還包括接收客戶(hù)端的點(diǎn)播請(qǐng)求;采集客戶(hù)端請(qǐng)求的媒體數(shù)據(jù);對(duì)采集的媒體數(shù)據(jù)進(jìn)行編碼,得到需要發(fā)送的流媒體數(shù)據(jù)。
4、 如權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述非關(guān)鍵數(shù)據(jù) 包括視頻數(shù)據(jù)中的非參考幀數(shù)據(jù)。
5、 一種播放流媒體數(shù)據(jù)的方法,其特征在于,包括 接收來(lái)自服務(wù)端的流媒體數(shù)據(jù),并進(jìn)行緩存;按照預(yù)設(shè)的播放節(jié)奏輸出緩存的流媒體數(shù)據(jù)。 統(tǒng)計(jì)緩存中的流^ 某體數(shù)據(jù)量; 根據(jù)所述流媒體數(shù)據(jù)量對(duì)所述播放節(jié)奏進(jìn)行調(diào)整。
6、 如權(quán)利要求5所述的方法,其特征在于,根據(jù)所述流媒體數(shù)據(jù)量對(duì)所 述播放節(jié)奏進(jìn)行調(diào)整包括若所述流媒體數(shù)據(jù)量超過(guò)第三水線(xiàn)T3,則加快所 述播^C節(jié)奏;或若所述流媒體數(shù)據(jù)量小于第三水線(xiàn)T3,則減慢所述播放節(jié)奏;或 若緩存中的流媒體數(shù)據(jù)量連續(xù)超過(guò)第五水線(xiàn)T5的次數(shù)超過(guò)預(yù)定的次數(shù) 時(shí),清空當(dāng)前緩存的剩余數(shù)據(jù)。
7、 如權(quán)利要求6所述的方法,其特征在于,所述加快所述播放節(jié)奏或減慢所述播放節(jié)奏包括通過(guò)近似線(xiàn)性的方式進(jìn)行加快或減慢所述播放節(jié)奏。
8、 如權(quán)利要求5至7任一項(xiàng)所述的方法,其特征在于,所述對(duì)所述播放節(jié)奏進(jìn)行調(diào)整包括對(duì)播放節(jié)拍進(jìn)行調(diào)整。
9、 如權(quán)利要求6或7所述的方法,其特征在于,所述加快所述播放節(jié)奏包括通過(guò)丟棄緩存內(nèi)的流媒體數(shù)據(jù)的方式加快所述播放節(jié)奏。
10、 如權(quán)利要求9所述的方法,其特征在于,所述丟棄緩存內(nèi)的流媒體數(shù)據(jù)包括丟棄緩存內(nèi)的流媒體數(shù)據(jù)的非關(guān)鍵數(shù)據(jù)。
11、 如權(quán)利要求6或7所述的方法,其特征在于,所述減慢所述播放節(jié)奏包括通過(guò)重復(fù)播放已經(jīng)播放過(guò)的流媒體數(shù)據(jù)減慢所述播放節(jié)奏。
12、 如權(quán)利要求6或7任一項(xiàng)所述的方法,其特征在于,根據(jù)所述流媒體數(shù)據(jù)量對(duì)所述播放節(jié)奏進(jìn)行調(diào)整包括還包括若所述流+某體數(shù)據(jù)量超過(guò)第四水線(xiàn)T4,則對(duì)所述播放節(jié)奏進(jìn)行粗調(diào),其中T4大于T3。
13、 如權(quán)利要求6或7所述的方法,其特征在于,還包括根據(jù)緩存的流媒體數(shù)據(jù)量n的變化情況調(diào)整T3的值。
14、 如權(quán)利要求13所述的方法,其特征在于,所述根據(jù)緩存的流媒體數(shù)據(jù)量n的變化情況調(diào)整T3的值包括如果緩存的流々某體數(shù)據(jù)量n在連續(xù)播放Nl幀的時(shí)間內(nèi)n小于TL的次數(shù)大于N次,則調(diào)高T3的值;如果在緩存的流^ 某體數(shù)據(jù)量n在連續(xù)播放N2幀的時(shí)間內(nèi)n始終大于l幀,則調(diào)低T3的值。
15、 一種流媒體服務(wù)裝置,其特征在于,包括第一存儲(chǔ)單元,用于獲取需要發(fā)送的流媒體數(shù)據(jù)并進(jìn)行存儲(chǔ);第一統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述第一存儲(chǔ)單元中緩存的流^ 某體數(shù)據(jù)量;第一調(diào)度單元,用于當(dāng)所述第一統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量超過(guò)第 一水線(xiàn)T1時(shí),丟棄所述第一存儲(chǔ)單元存儲(chǔ)的流媒體數(shù)據(jù)的非關(guān)^:數(shù)據(jù);發(fā)送單元,用于按照預(yù)定的發(fā)送節(jié)拍向客戶(hù)端發(fā)送所述第一存儲(chǔ)單元存儲(chǔ) 的流媒體數(shù)據(jù)。
16、 根據(jù)權(quán)利要求15所述的裝置,其特征在于,還包括 采集單元,用于采集需要發(fā)送的媒體數(shù)據(jù);編碼單元,用于將采集單元采集的媒體數(shù)據(jù)編碼成預(yù)定的格式,得到需要 發(fā)送的的流媒體數(shù)據(jù),并將需要發(fā)送的流媒體數(shù)據(jù)發(fā)送至所述第一存儲(chǔ)單元。
17、 如權(quán)利要求15或16所述的裝置,其特征在于,所述第一調(diào)度單元還 用于在所述第一統(tǒng)計(jì)單元統(tǒng)計(jì)的數(shù)據(jù)量超過(guò)第二水線(xiàn)T2時(shí),丟棄第一存儲(chǔ)單 元的全部緩存數(shù)據(jù),其中T2大于T1。
18、 一種流媒體播放裝置,其特征在于,包括第二存儲(chǔ)單元,用于存儲(chǔ)來(lái)自服務(wù)端的流媒體數(shù)據(jù);輸出單元,用于根據(jù)預(yù)定的播放節(jié)奏輸出所述流媒體數(shù)據(jù); 第二統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述第二存儲(chǔ)單元的存儲(chǔ)的流媒體數(shù)據(jù)量; 第二調(diào)度單元,用于根據(jù)所述第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流4某體數(shù)據(jù)量調(diào)整所述 輸出單元的播放節(jié)奏。
19、 如權(quán)利要求18所述的裝置,其特征在于,所述第二存儲(chǔ)單元用于接 收服務(wù)端發(fā)送的流J(某體數(shù)據(jù),所述裝置還包括第一解碼單元,用于根據(jù)第二調(diào)度單元確定的播放節(jié)奏對(duì)第二存儲(chǔ)單元存 儲(chǔ)的流媒體數(shù)據(jù)進(jìn)行解碼,并發(fā)送給輸出單元進(jìn)行輸出。
20、 如權(quán)利要求18所述的裝置,其特征在于,還包括 第二解碼單元,用于收到服務(wù)端發(fā)送的流媒體數(shù)據(jù)時(shí)對(duì)所述流媒體數(shù)據(jù)進(jìn)行解碼,并發(fā)送給第二存儲(chǔ)單元進(jìn)行存儲(chǔ)。
21、 如權(quán)利要求18至20任一項(xiàng)所述的裝置,其特征在于,所述第二調(diào)度 單元用于在所述第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量超過(guò)第三水線(xiàn)T3時(shí),加快 所述播放節(jié)奏;或在在第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量小于第三水線(xiàn)T3時(shí), 減慢所述播放節(jié)奏;或在所述第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量連續(xù)超過(guò)第五水線(xiàn)T5的次數(shù)超 過(guò)預(yù)定的次數(shù)時(shí),清空所述第二存儲(chǔ)單元當(dāng)前存儲(chǔ)的剩余數(shù)據(jù)。
22、 如權(quán)利要求21所述的裝置,其特征在于,所述第二調(diào)度單元還用于 在第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流i某體數(shù)據(jù)量大于第四水線(xiàn)T4時(shí),對(duì)所述播放節(jié)奏進(jìn) 行粗調(diào),其中T4大于T3。
23、 如權(quán)利要求18、 19、 20或22所述的裝置,其特征在于,還包括水線(xiàn)調(diào)整單元100,用于根據(jù)第二統(tǒng)計(jì)單元102統(tǒng)計(jì)的流媒體數(shù)據(jù)量的變 化情況調(diào)整T3的值。
24、 一種流J!某體點(diǎn)播系統(tǒng),其特征在于,包括 第一存儲(chǔ)單元,用于獲取需要發(fā)送的流媒體數(shù)據(jù)并進(jìn)行存儲(chǔ); 第一統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述第一存儲(chǔ)單元中緩存的流媒體數(shù)據(jù)量; 第一調(diào)度單元,用于當(dāng)所述第一統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量超過(guò)第一水線(xiàn)T1時(shí),丟棄所述第一存儲(chǔ)單元存儲(chǔ)的流媒體數(shù)據(jù)的非關(guān)鍵數(shù)據(jù);發(fā)送單元,用于按照預(yù)定的發(fā)送節(jié)拍發(fā)送所述第一存儲(chǔ)單元存儲(chǔ)的流媒體 數(shù)據(jù);第二存儲(chǔ)單元,用于存儲(chǔ)所述發(fā)送單元發(fā)送的流媒體數(shù)據(jù); 輸出單元,用于根據(jù)預(yù)定的播放節(jié)奏輸出所述流媒體數(shù)據(jù); 第二統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述第二存儲(chǔ)單元的存儲(chǔ)的流媒體數(shù)據(jù)量; 第二調(diào)度單元,用于根據(jù)所述第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量調(diào)整所述播放節(jié)奏。
25、 如權(quán)利要求24所述的裝置,其特征在于,所述第二調(diào)度單元用于在 所述第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流i某體數(shù)據(jù)量超過(guò)第三水線(xiàn)T3時(shí),加快所述播放節(jié) 奏;或在在第二統(tǒng)計(jì)單元統(tǒng)計(jì)的流媒體數(shù)據(jù)量小于第三水線(xiàn)T3時(shí),減慢所述 播放節(jié)奏。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種發(fā)送、播放流媒體數(shù)據(jù)的方法和裝置及流媒體點(diǎn)播系統(tǒng),播放流媒體數(shù)據(jù)的方法包括接收來(lái)自服務(wù)端的流媒體數(shù)據(jù),并進(jìn)行緩存;按照預(yù)設(shè)的播放節(jié)奏輸出緩存的流媒體數(shù)據(jù)。統(tǒng)計(jì)緩存中的流媒體數(shù)據(jù)量;根據(jù)所述流媒體數(shù)據(jù)量對(duì)所述播放節(jié)奏進(jìn)行調(diào)整。發(fā)送端可以盡快地向客戶(hù)端發(fā)送流媒體數(shù)據(jù),發(fā)送端僅緩存較少的數(shù)據(jù);將播放節(jié)奏的控制放在客戶(hù)端進(jìn)行,降低了網(wǎng)絡(luò)抖動(dòng)對(duì)延時(shí)的影響,從而減小了流媒體播放的延時(shí)。
文檔編號(hào)H04N7/24GK101466034SQ200810241869
公開(kāi)日2009年6月24日 申請(qǐng)日期2008年12月25日 優(yōu)先權(quán)日2008年12月25日
發(fā)明者劉宏波, 伸 屈, 李昭早 申請(qǐng)人:華為技術(shù)有限公司