專利名稱:一種媒體流的傳送/切換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)領(lǐng)域中的流媒體服務(wù),特別涉及網(wǎng)絡(luò)領(lǐng)域中 一種媒體 流的傳送/切換的方法。
背景技術(shù):
所謂流媒體是指采用流式傳輸?shù)姆绞皆贗ntemet/Intranet播放的媒體格 式,如音頻、視頻或多媒體文件。流媒體在播放前并不下載整個文件,只 將開始部分內(nèi)容存入內(nèi)存,在計算機中對數(shù)據(jù)包進行緩存并使媒體數(shù)據(jù)正 確地輸出。流媒體的數(shù)據(jù)流隨時傳送隨時播放,只是在開始時有些延遲。 顯然,流媒體實現(xiàn)的關(guān)鍵技術(shù)就是流式傳輸,流式傳輸主要指將整個音頻 和視頻及三維媒體等多媒體文件經(jīng)過特定的壓縮方式解析成一個個壓縮 包,由視頻服務(wù)器向用戶計算機順序或?qū)崟r傳送。在采用流式傳輸方式的 系統(tǒng)中,用戶不必像采用下載方式那樣等到整個文件全部下載完畢,而是 只需經(jīng)過幾秒或幾十秒的啟動延時即可在用戶的計算機上利用解壓設(shè)備 對壓縮的A/V、 3D等多媒體文件解壓后進行播放和觀看。此時多媒體文件 的剩余部分將在后臺的服務(wù)器內(nèi)繼續(xù)下載。與單純的下載方式相比,這種 對多媒體文件邊下栽邊播入的流式傳輸方式不僅使啟動延時大幅度地縮 短,而且對系統(tǒng)緩存容量的需求也大大降低,極大地減少用戶用在等待的 時間。
流々某體可以邊下載邊播放,與平面^f某體不同。流媒體最大的特點在于 互動性,這也是互聯(lián)網(wǎng)最具吸引力的地方。
流媒體基本業(yè)務(wù)可以分為以下三種典型業(yè)務(wù)^^莫式
流媒體點播(VOD):是內(nèi)容提供商將預(yù)先錄制好的多媒體內(nèi)容編碼 壓縮成相應(yīng)格式,存放在內(nèi)容服務(wù)器上并把內(nèi)容的描述信息以及鏈接放置 在流媒體的門戶網(wǎng)站上,由終端用戶發(fā)現(xiàn)感興趣的內(nèi)容,有選擇地進行播放。
流媒體直播是流媒體編碼服務(wù)器將實時信號編碼壓縮成相應(yīng)的格 式,并經(jīng)由流媒體服務(wù)器分發(fā)到用戶的終端播放器。根據(jù)實時內(nèi)容信號源 的不同,又可以分為電視直播、遠程監(jiān)控等。
下載播放是用戶將流媒體內(nèi)容下載并存儲到本地終端中,然后可以 選擇在任意時間進行播放。對于本地文件回放,主要的限制指標是終端的 處理能力和終端的存儲能力,內(nèi)容提供商可以制作出較高質(zhì)量的視頻內(nèi)容 (高帶寬,高幀速率),但要考慮內(nèi)容的下載時間及終端的存儲空間。
隨著流媒體技術(shù)的發(fā)展,流媒體技術(shù)在各個領(lǐng)域得到了廣泛的應(yīng)用, 特別在視頻點播、監(jiān)控、視頻通話應(yīng)用方面,應(yīng)用過程中通常會碰到一個 問題,客戶端經(jīng)常需要切換不同的流媒體源,此時通常客戶端需要重新建 立通訊鏈路。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提出 一種媒體流的傳送/切換方法, 可以有效減少客戶端的切換和重新連接的次數(shù),以解決大多數(shù)情況下客戶 端如何在不需要建立新連接的情況下,切換々某體源的問題。
為了解決上述問題,本發(fā)明提供了一種媒體流的傳送/切換方法,應(yīng) 用于客戶端與內(nèi)容提供設(shè)備之間,以實現(xiàn)客戶端獲得其請求的服務(wù)過程, 其特征在于,包括以下步驟
(1)在所述客戶端與內(nèi)容提供設(shè)備之間設(shè)置一流服務(wù)裝置;
(2 )所述流服務(wù)裝置與每一個客戶端建立并維護媒體傳輸通道;
(3)當(dāng)所述客戶端向內(nèi)容提供設(shè)備請求/切換媒體資源時,所述流服 務(wù)裝置接收所述內(nèi)容提供設(shè)備傳遞過來的媒體資源,并封裝為可以在與所 述客戶端建立的媒體傳輸通道上傳遞的媒體資源,將封裝后的媒體資源通 過媒體傳輸通道傳送給所述客戶端。
本發(fā)明所述的方法,其中,所述步驟(l)中包括所述流服務(wù)裝置 和內(nèi)容提供設(shè)備,位于一個媒體服務(wù)器中。
本發(fā)明所述的方法,其中,所迷步驟(3)中包括當(dāng)所迷流服務(wù)裝 置與每一個客戶端建立々某體傳輸通道是網(wǎng)絡(luò)傳輸,且協(xié)議為RTSP/RTP協(xié)
議時,對RTP數(shù)據(jù)包中的節(jié)目源信息更新為切換后的媒體資源;
所述步驟(3)中包括當(dāng)所述流服務(wù)裝置與每一個客戶端建立媒體 傳輸通道是網(wǎng)絡(luò)傳輸,且協(xié)議為RTSP/RTP協(xié)議時,對RTP數(shù)據(jù)包中的序 列號累加;
所述步驟(3 )中包括當(dāng)所述流服務(wù)裝置與每一個客戶端建立媒體 傳輸通道是網(wǎng)絡(luò)傳輸,且協(xié)議為RTSP/RTP協(xié)議時,對RTP數(shù)據(jù)包中的時 間戳進行變換。
本發(fā)明所述的方法,其中,所述步驟(3)中4某體資源為音視頻文件, 也可以是多媒體文件。
本發(fā)明所述內(nèi)容,不拘泥于一種4某體流的播放,可以根據(jù)客戶端的需 要,隨時切換到任意一個媒體流上;這種切換在客戶端的用戶看來是無縫 的,即用戶毫無感知;客戶端不需要任何輔助動作或者改動,主要由媒體 服務(wù)器內(nèi)部獨立完成。
本發(fā)明所述的方法當(dāng)客戶終端需要切換媒體源時,僅需通知所述流服 務(wù)裝置改變媒體源,而并不改變所述流服務(wù)裝置與客戶終端的媒體連接。 即對客戶終端來說,實現(xiàn)了無縫切換。
同時,本發(fā)明所述的方法與編解碼器和網(wǎng)絡(luò)協(xié)議無關(guān),其操作簡單, 易于實現(xiàn),效果明顯,極具商業(yè)潛力。
圖l是本發(fā)明實施例所述的一種媒體流的傳送/切換方法流程圖; 圖2是本發(fā)明實施例所述的一種媒體流的傳送/切換系統(tǒng)圖; 圖3是本發(fā)明實施例所述的系統(tǒng)內(nèi)流服務(wù)裝置的內(nèi)部結(jié)構(gòu)圖4是本發(fā)明實施例所述的系統(tǒng)內(nèi)流服務(wù)裝置的轉(zhuǎn)換模塊內(nèi)部結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明為了解決傳統(tǒng)技術(shù)方案存在的弊端,通過以下具體實施例進一 步闡述本發(fā)明所述的一種^(某體流的傳送/切換方法,以下對具體實施方式
進行詳細描述,但不作為對本發(fā)明的限定。
如圖l所示,為本發(fā)明實施例所述的方法,應(yīng)用于客戶端與內(nèi)容提供 設(shè)備之間,以實現(xiàn)客戶端獲得其請求的服務(wù)過程,包括步驟如下
步驟IOI,在所述客戶端與內(nèi)容提供設(shè)備之間設(shè)置一裝置,該裝置為 流服務(wù)裝置;
步驟102,所述流服務(wù)裝置與每一個客戶端建立并維護々某體傳輸通道;
步驟103,當(dāng)所述客戶端向內(nèi)容提供設(shè)備請求/切換媒體資源時,所述 流服務(wù)裝置接收所述內(nèi)容提供設(shè)備傳遞過來的媒體資源,并封裝為可以在 與所述客戶端建立的媒體傳輸通道上傳遞的媒體資源,將封裝后的媒體資 源通過i某體傳輸通道傳送給所述客戶端。
其中,內(nèi)容提供設(shè)備,用于提供媒體流數(shù)據(jù),可以連接不同的媒體源, 或取媒體數(shù)據(jù)方式可以為解析媒體文件、從網(wǎng)絡(luò)接收媒體數(shù)據(jù)或從第三方 (例如音視頻采集模塊或程序)獲取媒體數(shù)據(jù)。
在本發(fā)明實施例中每個客戶終端帶有自己的私有IP地址,而不必有 對外公開的IP地址,對外公開的IP地址是步驟101中設(shè)置的流服務(wù)裝置, 我們稱這個IP地址為虛擬IP地址(VIP, Virtual IP Address),客戶終端 訪問所述裝置,請求所需服務(wù)或切換所需服務(wù)。
當(dāng)Internet上的用戶想訪問該站點提供的流媒體服務(wù)時,客戶終端中 用戶會發(fā)起向該內(nèi)容提供設(shè)備的請求,即是在向流服務(wù)裝置發(fā)起請求,而 不是直接向內(nèi)容提供設(shè)備發(fā)起請求,所述流服務(wù)裝置負責(zé)與該客戶終端建 立媒體傳輸通道,同時將內(nèi)容提供設(shè)備提供給該客戶端需要的媒體資源傳
送過去;
其中,所述步驟103中,當(dāng)所述流服務(wù)裝置與該客戶終端建立媒體傳 輸通道是網(wǎng)絡(luò)傳輸時,且協(xié)議為RTSP/RTP協(xié)議(Real-Time Streaming Protocol/ Real-Time Transport Protocol ,實時流協(xié)議/實時流傳輸協(xié)議)時; 此時所述步驟103,還包括對RTP數(shù)據(jù)包中的節(jié)目源信息更新為切換后 的4某體資源,同時對RTP數(shù)據(jù)包中的序列號累加,以及對RTP數(shù)據(jù)包中 的時間戳進行變換;
客戶終端中的用戶根據(jù)接收到的符合自己的媒體流,并使用流媒體播 放器進行播放。
這樣客戶終端獲得新的媒體源數(shù)據(jù),而并不需要與媒體服務(wù)器從新建 立媒體連接。
如上所述,本發(fā)明實施例所述的方法,當(dāng)客戶終端需要切換媒體源時, 僅需通知流服務(wù)裝置改變媒體源,而并不改變流服務(wù)裝置與客戶終端的媒 體連接通道。即對客戶終端來說,實現(xiàn)了無縫切換。
例如在網(wǎng)絡(luò)傳輸中,當(dāng)媒體播放到設(shè)定時刻,由于客戶端請求內(nèi)容 提供設(shè)備切換到新的音視頻流,流服務(wù)裝置對其要播放的新的音視頻文件 進行初始化工作,同時對目前正在播放的音視頻流暫?;蛘咄顺觯?br>
根據(jù)音視頻流的不同,記錄下暫?;蛘咄顺龅腞TP數(shù)據(jù)包中的序列 號SN—old;
讀取將要播放的新的音視頻文件,并將其中一幀封裝到RTP數(shù)據(jù)包
中;
將此時RTP包中的序列號加上已退出音視頻文件的序列號SN; 對RTP包中的時間戳TS進行變換,同時序列號SN遞增1; TS—TS,; SN=SN+1;
將經(jīng)過時間戳和序列號變換后的RTP數(shù)據(jù)包通過網(wǎng)絡(luò)傳輸給客戶端; 客戶端無需任何改動,與正常播放的流程相同,播放新的音視頻文件。如圖2所示,本發(fā)明實施例所述的系統(tǒng)中,設(shè)置有內(nèi)容提供裝置201: 提供媒體流數(shù)據(jù),可以連接不同的媒體源,或取媒體數(shù)據(jù)方式可以為解析 媒體文件、從網(wǎng)絡(luò)接收媒體數(shù)據(jù)或從第三方(例如音視頻采集模塊或程 序)獲取纟某體數(shù)據(jù)。
整個系統(tǒng)的工作場景應(yīng)該是本系統(tǒng)中設(shè)置一個流服務(wù)裝置202,其 中,流服務(wù)裝置202是與內(nèi)容提供裝置201相連接,并與每個客戶終端 203通過媒體傳輸通道相連接。每個客戶終端203帶有自己的私有IP地址, 而不必有對外公開的IP地址,對外公開的IP地址是流服務(wù)裝置202,我 們稱這個IP地址為虛擬IP地址(VIP, Virtual IP Address ),客戶終端訪 問流服務(wù)裝置102,請求所需服務(wù)或切換所需服務(wù)。
當(dāng)Internet上的用戶想訪問該站點提供的流媒體服務(wù)時,客戶終端203 中用戶會發(fā)起向系統(tǒng)中的內(nèi)容提供裝置201提出請求信息,即是在向流服 務(wù)裝置202發(fā)起請求,而不是直接向內(nèi)容提供裝置201發(fā)起請求,所述流 服務(wù)裝置202負責(zé)與該客戶終端203建立媒體傳輸通道,同時將內(nèi)容提供 裝置201提供給該客戶終端203需要的々某體資源傳送過去;
具體步驟可以是當(dāng)某一客戶終端203向內(nèi)容提供裝置201請求媒體資 源時,流服務(wù)裝置102負責(zé)與該客戶終端203建立媒體傳輸通道,同時內(nèi) 容提供裝置201將4某體資源傳送給該客戶終端201使用;當(dāng)該客戶終端 203向內(nèi)容提供裝置201請求切換媒體資源時,流服務(wù)裝置202負責(zé)將切 換請求信息發(fā)送給內(nèi)容提供裝置201 ,并將內(nèi)容提供裝置201根據(jù)該客戶 終端203的請求,提供的切換后的媒體資源,通過流服務(wù)裝置202與該客 戶終端203建立的^某體傳輸通道,傳送給該客戶終端203。
如圖3所示,其中,流服務(wù)裝置302中包括連接維護模塊301,所 述連接維護模塊301與每一個客戶終端建立媒體傳輸通道,并由所述連接 維護模塊201來維護;還包括轉(zhuǎn)換模塊302,用于接收內(nèi)容提供裝置201 傳遞過來的媒體資源,并封裝為可以在與客戶終端203建立的媒體傳輸通 道上傳遞的媒體資源。
如圖4所示,流服務(wù)裝置202中的轉(zhuǎn)換模塊302包括
節(jié)目源信息轉(zhuǎn)換單元401,用于在當(dāng)所述系統(tǒng)是網(wǎng)絡(luò)傳輸,且所述流 服務(wù)裝置202與每一個客戶終端建立Jf某體傳輸通道的協(xié)議為RTSP/RTP協(xié) 議(Real-Time Streaming Protocol/ Real-Time Transport Protocol, 實時流協(xié) 議/實時流傳輸協(xié)議)時,對RTP數(shù)據(jù)包中的節(jié)目源信息更新為切換后的 媒體資源;
序列號單元402,用于在當(dāng)所述系統(tǒng)是網(wǎng)絡(luò)傳輸,且所述流服務(wù)裝置 與每一個客戶端建立媒體傳輸通道的協(xié)議為RTSP/RTP協(xié)議時,對RTP 數(shù)據(jù)包中的序列號累加。
時間戳單元403,用于在當(dāng)所述系統(tǒng)是網(wǎng)絡(luò)傳輸,且所述流服務(wù)裝置 與每一個客戶端建立媒體傳輸通道的協(xié)議為RTSP/RTP協(xié)議時,對RTP 數(shù)據(jù)包中的時間戳進行變換。
客戶終端203中的用戶根據(jù)接收到的媒體流,對其中的RTP數(shù)據(jù)包 含的時間戳和序列號的順序和大小,使用流媒體播放器進行播放。
這樣客戶終端203獲得新的媒體源數(shù)據(jù),而并不需要與媒體服務(wù)器從 新建立媒體連接。
例如在網(wǎng)絡(luò)傳輸中,當(dāng)媒體播放到設(shè)定時刻,由于客戶端請求媒體 服務(wù)器中的內(nèi)容提供裝置切換到新的音視頻流,流服務(wù)裝置對其要播放的 新的音視頻文件進行初始化工作,同時對目前正在播放的音視頻流暫停或 者退出;
根據(jù)音視頻流的不同,記錄下暫?;蛘咄顺龅腞TP數(shù)據(jù)包中的序列 號SN—old;
讀取將要播放的新的音視頻文件,并將其中一幀封裝到RTP數(shù)據(jù)包
中;
將此時RTP包中的序列號加上已退出音視頻文件的序列號SN; 對RTP包中的時間戳TS進行變換,同時序列號SN遞增1; TS—TS,; SN=SN+1;
將經(jīng)過時間戳和序列號變換后的RTP數(shù)據(jù)包通過網(wǎng)絡(luò)傳輸給客戶端;
客戶端無需任何改動,與正常播放的流程相同,播放新的音視頻文件。
如上所述,本發(fā)明所迷系統(tǒng),當(dāng)客戶終端需要切換^某體源時,僅需通 知媒體服務(wù)器的內(nèi)容提供模塊改變媒體源,而并不改變流服務(wù)模塊與客戶 終端的媒體連接。即對客戶終端來說,實現(xiàn)了無縫切換。
當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)
形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1、一種媒體流的傳送/切換方法,應(yīng)用于客戶端與內(nèi)容提供設(shè)備之間,以實現(xiàn)客戶端獲得其請求的服務(wù)過程,其特征在于,包括以下步驟(1)在所述客戶端與內(nèi)容提供設(shè)備之間設(shè)置一流服務(wù)裝置;(2)所述流服務(wù)裝置與每一個客戶端建立并維護媒體傳輸通道;(3)當(dāng)所述客戶端向內(nèi)容提供設(shè)備請求/切換媒體資源時,所述流服務(wù)裝置接收所述內(nèi)容提供設(shè)備傳遞過來的媒體資源,并封裝為可以在與所述客戶端建立的媒體傳輸通道上傳遞的媒體資源,將封裝后的媒體資源通過媒體傳輸通道傳送給所述客戶端。
2、 如權(quán)利要求l所述的方法,其特征在于,所述步驟(l)中包括 所述流服務(wù)裝置和內(nèi)容提供設(shè)備,位于一個媒體服務(wù)器中。
3、 如權(quán)利要求l所述的方法,其特征在于,所述步驟(3)中包括 當(dāng)所述流服務(wù)裝置與每一個客戶端建立々某體傳輸通道是網(wǎng)絡(luò)傳輸,且協(xié)議 為RTSP/RTP協(xié)議時,對RTP數(shù)據(jù)包中的節(jié)目源信息更新為切換后的媒體 資源。
4、 如權(quán)利要求l所述的方法,其特征在于,所述步驟(3)中包括 當(dāng)所述流服務(wù)裝置與每一個客戶端建立媒體傳輸通道是網(wǎng)絡(luò)傳輸,且協(xié)議 為RTSP/RTP協(xié)議時,對RTP數(shù)據(jù)包中的序列號累加。
5、 如權(quán)利要求l所述的方法,其特征在于,所述步驟(3)中包括 當(dāng)所述流服務(wù)裝置與每一個客戶端建立媒體傳輸通道是網(wǎng)絡(luò)傳輸,且協(xié)議 為RTSP/RTP協(xié)議時,對RTP數(shù)據(jù)包中的時間戳進行變換。
6、 如權(quán)利要求l所述的方法,其特征在于,所述步驟(3)中媒體資 源為音^f見頻文件。
7、 如權(quán)利要求l所述的方法,其特征在于,所述步驟(3)中媒體資 源為多媒體文件。
全文摘要
本發(fā)明公開一種媒體流的傳送/切換方法,應(yīng)用于客戶端與內(nèi)容提供設(shè)備之間,以實現(xiàn)客戶端獲得其請求的服務(wù)過程,其包括步驟(1)在所述客戶端與內(nèi)容提供設(shè)備之間設(shè)置一流服務(wù)裝置;(2)所述流服務(wù)裝置與每一個客戶端建立并維護媒體傳輸通道;(3)當(dāng)所述客戶端向內(nèi)容提供設(shè)備請求/切換媒體資源時,所述流服務(wù)裝置接收所述內(nèi)容提供設(shè)備傳遞過來的媒體資源,并封裝為可以在與所述客戶端建立的媒體傳輸通道上傳遞的媒體資源,將封裝后的媒體資源傳送給所述客戶端。本發(fā)明解決大多數(shù)情況下客戶端可以在不需要建立新連接的情況下,切換媒體源。
文檔編號H04L29/06GK101193105SQ20061014979
公開日2008年6月4日 申請日期2006年11月27日 優(yōu)先權(quán)日2006年11月27日
發(fā)明者夏正勛 申請人:中興通訊股份有限公司