3G視頻點(diǎn)播系統中流媒體協(xié)議棧的解決方案
2009/02/11
摘要 隨著(zhù)寬帶互聯(lián)網(wǎng)技術(shù)的普及和多媒體技術(shù)在互聯(lián)網(wǎng)上的應用,視頻點(diǎn)播已經(jīng)不再局限于有線(xiàn)網(wǎng)絡(luò ),擴展到了3G移動(dòng)領(lǐng)域。本文首先介紹一個(gè)3G視頻點(diǎn)播系統,并在此平臺上介紹了3G流媒體協(xié)議棧的概念、特點(diǎn)及其架構,然后針對該系統的整體框架詳細論述了3G流媒體協(xié)議棧的模塊實(shí)現,并討論了各個(gè)功能模塊的作用及相互之間的影響,最后詳述了流媒體傳輸的關(guān)鍵環(huán)節——同步機制,從而在3G終端實(shí)現客戶(hù)端\服務(wù)器式的流媒體數據的實(shí)時(shí)傳輸。圖1 系統概述圖
1.2 系統平臺
系統工作的硬件平臺、軟件平臺如下:
硬件平臺:SH-mobilesolutionincludesaSH3-DSPcoreMCU,memory,IO,and
LCD etc,Abase-band controller(AT91 RM9200 Base-Band board),一臺服務(wù)器(即PC機)。
軟件平臺:SH-7300實(shí)時(shí)操作系統(Norti4),MPEG-4audio/videoencoder/decodermiddleware,流媒體協(xié)議棧(如圖2所示)。
圖2 系統軟件平臺
2、基于3G終端的流媒體協(xié)議棧的架構
2.1 流媒體協(xié)議棧及其特點(diǎn)
以3G協(xié)議棧為基礎的實(shí)時(shí)流媒體協(xié)議棧(real-timestreamingmediaProtocols)具有強大的兼容性,能根據基站服務(wù)器通信準則建立最優(yōu)播放效果,并根據網(wǎng)絡(luò )狀況,實(shí)時(shí)適應以改變通信策略和媒體播放效果。協(xié)議棧將可以保證以下業(yè)務(wù):
(1)進(jìn)行視頻通話(huà),三方舉行視頻會(huì )議;
(2)替代以電視為媒體的廣告與節目播放,提供更具吸引力的多媒體點(diǎn)播等互動(dòng)服務(wù);
(3)享受移動(dòng)銀行,股票信息,以及電子交易等各種信息服務(wù)。
實(shí)時(shí)流媒體協(xié)議棧可以設計為一個(gè)與系統無(wú)關(guān)的模塊,以實(shí)現在目前3種3G標準WCDMA、cdma2000、TD-SCDMA之上無(wú)縫移植和嵌入。我們以協(xié)議為指導,根據無(wú)線(xiàn)移動(dòng)網(wǎng)絡(luò )的實(shí)際情況,做出合適的裁減和改變。流傳輸控制機制將根據3G網(wǎng)絡(luò )的特性和嵌入式實(shí)時(shí)系統的要求定制,使協(xié)議棧能夠發(fā)揮可靠的,高效率的作用。同時(shí)協(xié)議棧不僅提供標準的應用程序接口,還可以根據客戶(hù)的要求特別定制專(zhuān)用的應用程序接口。
2.2 流媒體協(xié)議棧整體架構
基于3G終端的流媒體協(xié)議棧由RTSP協(xié)議棧,RTP/RTCP協(xié)議棧,TCP/IP協(xié)議棧組成。
2.2.1 TCP/IP協(xié)議棧
TCP/IP協(xié)議棧是由3G的協(xié)議棧提供,負責對流媒體數據的傳送。TCP、UDP的協(xié)議都將使用到,并且根據不同的網(wǎng)絡(luò )情況,分別使用。TCP是用于可靠的連接,RTSP協(xié)議將盡量使用這個(gè)協(xié)議進(jìn)行傳輸,UDP是無(wú)連接的協(xié)議,RTP/RTCP協(xié)議棧將通過(guò)這個(gè)協(xié)議傳送數據。當然這也不是絕對的,在必要的時(shí)候,RTSP可以使用UDP協(xié)議,比如防火墻的強制隔離,要求代理服務(wù)器轉發(fā),這時(shí)需要由協(xié)議棧來(lái)保障RTSP協(xié)議的可靠性,包括使用重發(fā)機制;RTP/RTCP也可以使用TCP連接,比如要求跨防火墻,建立直接連接的通道,這時(shí)可能牽涉到RTSP和RTP/RTCP協(xié)議的算法,需要由協(xié)議棧來(lái)提供。
2.2.2 RTP/RTCP協(xié)議棧
RTP/RTCP協(xié)議是流媒體協(xié)議棧中關(guān)鍵的一部分,它承擔了媒體數據的傳送,由2個(gè)相互緊湊的協(xié)議組成,數據報文實(shí)時(shí)傳輸使用的RTP協(xié)議和QoS監視的RTCP協(xié)議。協(xié)議設計者并不考慮RTP協(xié)議的糾錯功能,而要求下層協(xié)議來(lái)保證,以提高媒體幀傳輸的數量,節省帶寬,節省程序的開(kāi)銷(xiāo),其傳輸機制專(zhuān)注于媒體本身的可靠性傳輸。RTP直接面向媒體數據,是一種以帶寬和網(wǎng)絡(luò )質(zhì)量為先決條件的傳輸協(xié)議,其傳輸方式是隨著(zhù)帶寬和網(wǎng)絡(luò )質(zhì)量變化而動(dòng)態(tài)調整的協(xié)議,其宗旨是以最大的可能性利用網(wǎng)絡(luò )的負載能力,確保大容量的多媒體數據能及時(shí)的傳輸。在這樣的設計思想下,3G信道帶寬不至于過(guò)度浪費,因此適合于手機終端的使用。同時(shí),RTCP協(xié)議作為傳輸控制協(xié)議,也是網(wǎng)絡(luò )質(zhì)量的監測者,它為互動(dòng)的雙方提供了統計意義上的報告,為雙方提供網(wǎng)絡(luò )實(shí)際的質(zhì)量,也為流量控制,編碼方式,提供了可靠的保證和參考。作為獨立于3G協(xié)議棧的應用層媒體協(xié)議棧,RTCP根據其機制,提供質(zhì)量服務(wù)QoS,為網(wǎng)絡(luò )運營(yíng)商監視網(wǎng)絡(luò )情況提供參數。
2.2.3 RTSP協(xié)議棧
RTSP協(xié)議棧是流媒體協(xié)議棧中與界面和RTP/RTCP協(xié)議相關(guān)的控制協(xié)商操作。RTSP提供響應界面操作的接口,直接響應界面發(fā)送的命令。同時(shí)RTSP也提供互聯(lián)的雙方或多方的一個(gè)傳輸方式和編碼方式的協(xié)商操作,在網(wǎng)絡(luò )允許情況下,建立一條最佳傳輸通道。以最匹配的情況傳輸數據,而無(wú)須每次傳輸都要求雙方解析,節省了大量的時(shí)間,也減少了出錯的可能性。
RTSP和RTP/RTCP協(xié)議棧組成整個(gè)流媒體協(xié)議棧的核心部分,他們各自的控制機制是需要根據無(wú)線(xiàn)移動(dòng)網(wǎng)絡(luò )的實(shí)際情況和媒體編碼格式統籌設計,在協(xié)議中是沒(méi)有硬性規定的。
3、3G視頻點(diǎn)播系統中流媒體協(xié)議棧的模塊設計
系統的模塊化有利于整體功能的實(shí)現,本系統框架從流媒體協(xié)議棧進(jìn)行規劃,分為5個(gè)模塊:人機界面、RTSP模塊、RTP/RTCP模塊,以及硬件媒體編解碼器模塊。模塊架構如圖3所示。
圖3 視頻點(diǎn)播系統架構
3.1 人機界面(MMI)
界面部分是手機終端提供給用戶(hù)的交互界面。用戶(hù)可以使用它來(lái)控制播放的動(dòng)作,比如通過(guò)點(diǎn)擊Web的鏈接,接入流媒體服務(wù)器。可以進(jìn)行播放、暫停、終止、快進(jìn)、后退等操作,當然,所有操作是在服務(wù)允許的范圍,超出服務(wù)范圍的操作將被禁止。通過(guò)界面,用戶(hù)就可以享受到視頻/音頻的多媒體服務(wù),可以點(diǎn)播電影,也可以召開(kāi)會(huì )議。
3.2 RTSP模塊
RTSP模塊是以客戶(hù)端為主的應用控制模塊,以適應3G手機終端對媒體點(diǎn)播的需要。主要內容包括:RTSP協(xié)議棧的會(huì )話(huà)的建立、會(huì )話(huà)的傳輸、會(huì )話(huà)的協(xié)商和會(huì )話(huà)的終止,以及文本指令的解析。在流媒體協(xié)議棧架構中,RTSP處于TCP/IP層之上,使用TCP協(xié)議傳輸會(huì )話(huà)數據。處于界面控制程序直接操作下,為應用界面提供編程接口。同時(shí)RTSP對媒體數據層和RTP協(xié)議有著(zhù)控制的權利,可以調整RTP會(huì )話(huà)參數,以及媒體層同步等等。RTSP是一個(gè)類(lèi)似HTTP的服務(wù)器-客戶(hù)端的模型,但與HTTP不同的是雙方都可發(fā)送請求并都可以響應請求,是一個(gè)對等互動(dòng)的協(xié)商協(xié)議。
在此視頻點(diǎn)播系統中,RTSP模塊通過(guò)TCP協(xié)議的三次握手機制來(lái)保證命令消息通道的可靠性。一方面接收服務(wù)器的確認信息傳給應用層進(jìn)行處理;另一方面接收來(lái)自客戶(hù)端的命令信息,解析后反饋給服務(wù)器。此外,RTSP模塊支持以下操作:
(1)從媒體服務(wù)器端獲取媒體。客戶(hù)端能夠通過(guò)HTTP或者其它模式來(lái)請求一個(gè)的圖像描述。如果圖像正被多點(diǎn)傳輸,那么圖像描述就包含了用來(lái)傳輸連續媒體多點(diǎn)傳輸的地址和端口。如果圖像只能被單點(diǎn)傳送,那客戶(hù)端就要因為安全原因而提供給目的地址。
(2)邀請媒體服務(wù)器參加會(huì )議。一個(gè)媒體服務(wù)器端能夠被“邀請”參加一個(gè)存在的會(huì )議,可以回放媒體成為圖像,或者記錄圖像中的媒體的全部或者一部分。
(3)在存在圖像中增加媒體。尤其對于活動(dòng)圖像,如果服務(wù)器能告訴客戶(hù)端,增加的媒體是有用的。
3.3 RTP/RTCP模塊
RTP/RTCP模塊是以客戶(hù)端為主的應用傳輸模塊。主要內容包括:RTP/RTCP協(xié)議棧的會(huì )話(huà)的建立,會(huì )話(huà)的傳輸,會(huì )話(huà)的控制和會(huì )話(huà)的終止。此模塊位于TCP/IP層之上,使用UDP協(xié)議傳輸數據。當應用程序開(kāi)始一個(gè)RTP會(huì )話(huà)時(shí)通常使用兩個(gè)端口:一個(gè)給RTP,一個(gè)給RTCP。在RTP會(huì )話(huà)期間,各參與者周期性地傳送RTCP包。RTCP包中含有已發(fā)送的數據包的數量、丟失的數據包的數量等統計資料,因此,服務(wù)器可以利用這些信息動(dòng)態(tài)地改變傳輸速率,甚至改變有效載荷類(lèi)型。RTP的媒體數據載荷加載準則依賴(lài)于不同的媒體編碼格式而不同,數據報文的格式按照RFC規定的實(shí)現。
同時(shí)應用程序可以通過(guò)此模塊調整傳輸頻率去和接受者的能力相匹配,或者以適應網(wǎng)絡(luò )擁塞。通過(guò)參加多點(diǎn)傳送組的適當的子集,接受者能適應不同的網(wǎng)絡(luò )并控制他們的接受帶寬。此外模塊中所有的多媒體會(huì )話(huà),都將視頻和音頻分別存放,這是為了保證在與某些不具有視頻功能的終端通信或者在網(wǎng)絡(luò )質(zhì)量惡劣的情況下,可以只提供音頻服務(wù),而將視頻服務(wù)關(guān)閉。
3.4 硬件媒體編解碼模塊
硬件媒體編解碼器是基于MPEG-4實(shí)現的硬件Codec,采集的視頻音頻原始數據通過(guò)它壓縮后形成MP4的數據格式,通過(guò)傳輸協(xié)議發(fā)往服務(wù)器;來(lái)自服務(wù)器的MP4視頻音頻數據通過(guò)Codec還原為原始數據,送往終端顯示器,提供用戶(hù)動(dòng)態(tài)界面。當然畫(huà)面可能因為壓縮和傳輸的損傷有所下降,針對這樣的情況,協(xié)議棧將提供糾錯,補償,同步功能來(lái)修復損傷,力圖保持最完美的視頻語(yǔ)音效果。
4、流媒體同步機制
流媒體數據和傳統數據的一個(gè)主要不同是不同媒體流的集成,主要表現為同步方式。在3G視頻點(diǎn)播系統中,流媒體傳輸的同步機制是一個(gè)非常關(guān)鍵的問(wèn)題,同步機制設計的好壞直接涉及到了播放效果,而播放效果則是直接面向用戶(hù),是檢驗媒體播放質(zhì)量的直接證據。
媒體同步定義是不同媒體流之間以及數據流內的基于時(shí)間的關(guān)系。目前有3層同步,分別是系統同步(流內同步)、媒體間同步(流間同步)和用戶(hù)層同步(目標間同步)。
媒體數據的同步丟失是由于從服務(wù)器發(fā)往客戶(hù)端的媒體數據報文因為不同的路由路徑導致,而且所有媒體數據的存儲轉發(fā)都將產(chǎn)生延遲和抖動(dòng)。延遲以及延遲的可變性將導致以上3種同步的丟失。因此,媒體間同步機制是必須的,以確保在客戶(hù)端正確的播放媒體數據。
4.1 系統同步(流內同步)
系統同步(流內同步)是底層同步。連續媒體或者時(shí)間相關(guān)的數據(比如,視頻和音頻)的媒體層同步是最底一層。媒體層的最小單位是邏輯數據單位(LDU),比如視頻和音頻幀,需要嚴格的按照時(shí)間順序以確保用戶(hù)可以精確的回放。系統同步缺失將導致播放暫停或跳躍。
4.2 媒體間同步(流間同步)
時(shí)間相關(guān)數據的流層同步是第二層。流層的最小單位是整個(gè)流。沒(méi)有流間的同步將導致不同媒體數據的失調。
網(wǎng)絡(luò )的帶寬是完成流媒體傳輸的物質(zhì)基礎,在傳輸聲音、圖像、視頻等多媒體信息流時(shí),即使這些媒體流予以壓縮,所需的帶寬仍然比文字文件大,但并不是有足夠的帶寬就可以完全解決流媒體傳輸問(wèn)題。一般而言,所需帶寬的多少是與應用密切相關(guān)的,從應用角度來(lái)看,只要用戶(hù)數不斷增加、信息服務(wù)量不斷增加,帶寬有多少都是不夠的。同步是媒體流的基本控制方法。流媒體是時(shí)間屬性的表現,這依賴(lài)于RTSP協(xié)議棧。
4.3 用戶(hù)層同步(目標間同步)
這是多媒體文獻中規定的最高層次的同步,是對象之間的同步,它集成了流和與時(shí)間無(wú)關(guān)的數據。對象間同步要求,如果某個(gè)以前定義的與時(shí)間相關(guān)的媒體目標到達客戶(hù)端,那么在一個(gè)允許的時(shí)間間隔內,必須開(kāi)始與之相對應的與時(shí)間無(wú)關(guān)的數據,同時(shí)停止與之不匹配的當前的與時(shí)間無(wú)關(guān)的數據。
用戶(hù)層同步或交互同步,是最上層的同步,要求能反映和滿(mǎn)足用戶(hù)的交互性,容易為用戶(hù)理解接受。用戶(hù)層同步是交互性參與的同步,用戶(hù)可以控制和使用信息,如反復調用感興趣的內容、快速掠過(guò)不感興趣的部分。雖然RTSP協(xié)議支持類(lèi)似錄像機的功能:播放、快進(jìn)、暫停、停止,但流媒體的交互性同步能力主要體現在數據流編碼過(guò)程中對交互性能的考慮。
5、小結與展望
近年來(lái),無(wú)線(xiàn)移動(dòng)通信技術(shù)的發(fā)展日新月異,日趨成熟的第三代移動(dòng)通信不僅能夠提供現有的各種移動(dòng)電話(huà)業(yè)務(wù),還能提供高速率的寬帶視頻業(yè)務(wù),支持高質(zhì)量的話(huà)音、分組數據業(yè)務(wù),以及實(shí)時(shí)的視頻傳輸。3G技術(shù)融合了無(wú)線(xiàn)通信與互聯(lián)網(wǎng)、視頻等技術(shù),由此產(chǎn)生的無(wú)線(xiàn)視頻和無(wú)線(xiàn)IP業(yè)務(wù)也將成為未來(lái)無(wú)線(xiàn)移動(dòng)通信業(yè)務(wù)新的增長(cháng)點(diǎn),而流媒體技術(shù)正是因為3G提供的可靠平臺成為其應用之一,本文所介紹的視頻點(diǎn)播系統就是流媒體協(xié)議棧基于無(wú)線(xiàn)移動(dòng)通信技術(shù)的典型應用方案。而今,功能日漸增強的流媒體協(xié)議棧以其優(yōu)勢已經(jīng)應用于各個(gè)領(lǐng)域,尤其在嵌入式領(lǐng)域與無(wú)線(xiàn)Web瀏覽技術(shù)相融合,并將一定程度上推動(dòng)3G手機的發(fā)展。
中國聯(lián)通網(wǎng)站
NEC基于CS域的3G視頻解決方案 2009-02-11 |
摩托羅拉CNS多彩信息平臺 2008-12-26 |
東方通信CS21-IPS媒體處理解決方案 2008-10-09 |
NMS Vision CX視頻網(wǎng)關(guān)產(chǎn)品介紹 2008-09-19 |
新太科技移動(dòng)視頻監控系統解決方案 2008-08-04 |