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