基于3G的流媒體服務(wù)技術(shù)研究
摘要:基于研究當前3G環(huán)境下的流媒體服務(wù)技術(shù)的目的,采用了基于3G網(wǎng)絡(luò )的移動(dòng)流媒體系統架構;通過(guò)研究DirectShow、MPEG-4編碼、多速率編碼、RTP/RTCP以及Windows共享內存映射等技術(shù),深入分析移動(dòng)流媒體服務(wù)器的特點(diǎn)以及流媒體播放軟件的架構,最終設計了移動(dòng)流媒體播放系統,共分為兩個(gè)部分:1)流媒體服務(wù)器;2)終端流媒體播放軟件,經(jīng)過(guò)試驗,所設計的系統穩定性好、實(shí)時(shí)性強,具有較高的實(shí)用價(jià)值。
關(guān)鍵詞:3G;移動(dòng)設備;流媒體;RTP/RTCP
隨著(zhù)云計算、物聯(lián)網(wǎng)技術(shù)的興起,特別是3G技術(shù)開(kāi)始在我國廣泛應用,使人們隨時(shí)隨地接入互聯(lián)網(wǎng),享受24小時(shí)在線(xiàn)的服務(wù)成為可能。同時(shí)為了滿(mǎn)足人們對于更高質(zhì)量影音感受的要求,多媒體信息處理技術(shù)正在以前所未有的速度迅猛發(fā)展,各種數字視頻技術(shù)已經(jīng)被應用于大眾的日常生活中。隨著(zhù)社會(huì )經(jīng)濟建設的需要,各種定制化、功能各異的嵌入式設備大量出現,不僅方便了人們的生活,也為各種技術(shù)應用找到了新的領(lǐng)域?,F在,各種通信設備特別是智能手機等嵌入式終端設備的不斷出現,使得基于多媒體的應用能夠實(shí)現,如可視電話(huà)通信、網(wǎng)絡(luò )實(shí)時(shí)手機會(huì )議、終端視頻監控等。
目前,基于TCP/IP的互聯(lián)網(wǎng)視頻點(diǎn)播已經(jīng)成為了流行趨勢,無(wú)論是技術(shù)還是制度上都正趨于成熟,各項標準也正逐漸開(kāi)始建立。但是網(wǎng)絡(luò )視頻還都是在PC上觀(guān)看,而對于屏幕狹小、網(wǎng)絡(luò )連接不穩、資源有限的移動(dòng)設備來(lái)說(shuō),如何設計出符合嵌入式特點(diǎn)的流媒體播放系統成為了在線(xiàn)視頻播放是否能夠在移動(dòng)設備上成功的關(guān)鍵。移動(dòng)流媒體播放系統中,處理器和操作系統必須緊密配合,系統應該具備視頻硬編解碼能力、網(wǎng)絡(luò )視頻傳輸和調度、能夠自動(dòng)控制流速率等強大功能。隨著(zhù)3G網(wǎng)絡(luò )的進(jìn)一步覆蓋,網(wǎng)絡(luò )質(zhì)量的不斷提高,基于3G網(wǎng)絡(luò )的移動(dòng)流媒體播放系統應用前景非常廣闊,正成為行業(yè)新的利潤增長(cháng)點(diǎn)之一。
1 移動(dòng)流媒體工作原理
互聯(lián)網(wǎng)是IP分組交換為基礎進(jìn)行連續的異步傳輸,待各個(gè)分組到達目的主機后再根據分組序列進(jìn)行組包,但對于在線(xiàn)音頻、視頻文件,往往其所在存儲空間很大,在網(wǎng)絡(luò )中傳輸需要被分解為很多IP包,又網(wǎng)絡(luò )狀態(tài)甚至網(wǎng)絡(luò )拓撲都是動(dòng)態(tài)變化的,每個(gè)包經(jīng)過(guò)的路由可能不盡相同,所以到達客戶(hù)端的時(shí)間延遲也不盡相同,有時(shí)候先發(fā)的數據包還有可能后到。由于這個(gè)原因,必須使用緩存技術(shù)來(lái)彌補時(shí)間延遲和網(wǎng)絡(luò )抖動(dòng)的影響,最大程度保證數據包可以按正確的順序排列,從而使多媒體數據不間斷地連續輸出,減小因為網(wǎng)絡(luò )暫時(shí)擁塞而使播放出現停頓的影響。一般,每個(gè)多媒體流所需的高速緩存容量并不龐大,再者高速緩存一般使用環(huán)形鏈表數據結構進(jìn)行實(shí)現,不會(huì )出現溢出的情況;通過(guò)丟棄已經(jīng)無(wú)用的、播放過(guò)的片段,將后續尚未播放的內容覆蓋之前的內容就可以使高速緩存循環(huán)利用。
如圖1所示,現在比較流行的移動(dòng)流媒體播放過(guò)程一般如下:用戶(hù)打開(kāi)嵌入式流媒體播放軟件選擇某一流媒體資源后,此時(shí)流媒體播放軟件會(huì )通過(guò)3G網(wǎng)絡(luò )連入互聯(lián)網(wǎng),與對應的流媒體服務(wù)器之間使用HTTP協(xié)議交換數據以及控制信息,向用戶(hù)呈現實(shí)時(shí)的多媒體播放信息,用戶(hù)可以進(jìn)行檢索播放;當用戶(hù)選中某一多媒體文件播放時(shí),流媒體播放軟件使用HTTP鏈接從流媒體服務(wù)器獲取多媒體文件的相關(guān)參數,并對播放終端初始化。這些參數包括資源的位置信息、多媒體數據的編碼類(lèi)型、以及流媒體服務(wù)器的相關(guān)參數。最后,流媒體播放開(kāi)始,此后流媒體播放終端會(huì )和流媒體服務(wù)器周期性地交換狀態(tài)信息,以便更好地進(jìn)行播放。
2 移動(dòng)流媒體播放系統設計
完整的流媒體播放系統分為兩個(gè)部分:1)提供流媒體服務(wù)的流媒體服務(wù)器;2)終端流媒體播放軟件。對于流媒體服務(wù)器,只給出其實(shí)現流媒體服務(wù)所必須實(shí)現的關(guān)鍵技術(shù),而終端流媒體播放軟件筆者給出了軟件的整體架構以及進(jìn)行編程實(shí)現的具體技術(shù)。
2.1 流媒體服務(wù)器關(guān)鍵技術(shù)
文中所設計的基于3G網(wǎng)絡(luò )的流媒體服務(wù)運行于Windows Server2003操作系統上,提供的流媒體服務(wù)綜合使用多種流行的流媒體技術(shù),主要有如下6個(gè):
1)DirectShow技術(shù)
微軟DirectShow基于DirectX技術(shù),是微軟Windows平臺上的流媒體主要開(kāi)發(fā)工具。DirectShow可以支持多種格式,其中,視頻有:高級流格式(ASF),活動(dòng)圖片專(zhuān)家組格式(MPEG),音頻一視頻交叉格式(AVI),音頻有:MP3格式和WAV文件格式等。DirectShow捆綁了各種DirectX技術(shù),會(huì )自動(dòng)偵測和利用視頻和音頻硬件進(jìn)行加速,同時(shí)也支持沒(méi)有硬件加速的系統。如圖2所示,DirectShow使用一種叫Filter Graph的模型來(lái)管理整個(gè)數據流的處理過(guò)程,按照功能Filter可以分為3類(lèi):Source Filters,主要負責獲取數據,其中數據源可以是視頻文件,或者是視頻采集卡WDM和VFM驅動(dòng)的圖像采集設備等;Transform Fihers,主要負責數據的格式轉換,例如音視頻數據流的分離/合成,解碼/編碼等;Rendering Filters,主要負責將最終的數據傳遞給顯卡以及聲卡進(jìn)行多媒體的播放,或者輸出到多媒體文件進(jìn)行最后的存儲。
伺服電機相關(guān)文章:伺服電機工作原理
評論