隨著云計算、物聯(lián)網(wǎng)技術(shù)的興起,特別是3G技術(shù)開始在我國廣泛應(yīng)用,使人們隨時隨地接入互聯(lián)網(wǎng),享受24小時在線的服務(wù)成為可能。同時為了滿足人們對于更高質(zhì)量影音感受的要求,多媒體信息處理技術(shù)正在以前所未有的速度迅猛發(fā)展,各種數(shù)字視頻技術(shù)已經(jīng)被應(yīng)用于大眾的日常生活中。隨著社會經(jīng)濟建設(shè)的需要,各種定制化、功能各異的嵌入式設(shè)備大量出現(xiàn),不僅方便了人們的生活,也為各種技術(shù)應(yīng)用找到了新的領(lǐng)域。現(xiàn)在,各種通信設(shè)備特別是智能手機等嵌入式終端設(shè)備的不斷出現(xiàn),使得基于多媒體的應(yīng)用能夠?qū)崿F(xiàn),如可視電話通信、網(wǎng)絡(luò)實時手機會議、終端視頻監(jiān)控等。
目前,基于TCP/IP的互聯(lián)網(wǎng)視頻點播已經(jīng)成為了流行趨勢,無論是技術(shù)還是制度上都正趨于成熟,各項標準也正逐漸開始建立。但是網(wǎng)絡(luò)視頻還都是在PC上觀看,而對于屏幕狹小、網(wǎng)絡(luò)連接不穩(wěn)、資源有限的移動設(shè)備來說,如何設(shè)計出符合嵌入式特點的流媒體播放系統(tǒng)成為了在線視頻播放是否能夠在移動設(shè)備上成功的關(guān)鍵。移動流媒體播放系統(tǒng)中,處理器和操作系統(tǒng)必須緊密配合,系統(tǒng)應(yīng)該具備視頻硬編解碼能力、網(wǎng)絡(luò)視頻傳輸和調(diào)度、能夠自動控制流速率等強大功能。隨著3G網(wǎng)絡(luò)的進一步覆蓋,網(wǎng)絡(luò)質(zhì)量的不斷提高,基于3G網(wǎng)絡(luò)的移動流媒體播放系統(tǒng)應(yīng)用前景非常廣闊,正成為行業(yè)新的利潤增長點之一。
1 移動流媒體工作原理
互聯(lián)網(wǎng)是IP分組交換為基礎(chǔ)進行連續(xù)的異步傳輸,待各個分組到達目的主機后再根據(jù)分組序列進行組包,但對于在線音頻、視頻文件,往往其所在存儲空間很大,在網(wǎng)絡(luò)中傳輸需要被分解為很多IP包,又網(wǎng)絡(luò)狀態(tài)甚至網(wǎng)絡(luò)拓撲都是動態(tài)變化的,每個包經(jīng)過的路由可能不盡相同,所以到達客戶端的時間延遲也不盡相同,有時候先發(fā)的數(shù)據(jù)包還有可能后到。由于這個原因,必須使用緩存技術(shù)來彌補時間延遲和網(wǎng)絡(luò)抖動的影響,最大程度保證數(shù)據(jù)包可以按正確的順序排列,從而使多媒體數(shù)據(jù)不間斷地連續(xù)輸出,減小因為網(wǎng)絡(luò)暫時擁塞而使播放出現(xiàn)停頓的影響。一般,每個多媒體流所需的高速緩存容量并不龐大,再者高速緩存一般使用環(huán)形鏈表數(shù)據(jù)結(jié)構(gòu)進行實現(xiàn),不會出現(xiàn)溢出的情況;通過丟棄已經(jīng)無用的、播放過的片段,將后續(xù)尚未播放的內(nèi)容覆蓋之前的內(nèi)容就可以使高速緩存循環(huán)利用。
如圖1所示,現(xiàn)在比較流行的移動流媒體播放過程一般如下:用戶打開嵌入式流媒體播放軟件選擇某一流媒體資源后,此時流媒體播放軟件會通過3G網(wǎng)絡(luò)連入互聯(lián)網(wǎng),與對應(yīng)的流媒體服務(wù)器之間使用HTTP協(xié)議交換數(shù)據(jù)以及控制信息,向用戶呈現(xiàn)實時的多媒體播放信息,用戶可以進行檢索播放;當用戶選中某一多媒體文件播放時,流媒體播放軟件使用HTTP鏈接從流媒體服務(wù)器獲取多媒體文件的相關(guān)參數(shù),并對播放終端初始化。這些參數(shù)包括資源的位置信息、多媒體數(shù)據(jù)的編碼類型、以及流媒體服務(wù)器的相關(guān)參數(shù)。最后,流媒體播放開始,此后流媒體播放終端會和流媒體服務(wù)器周期性地交換狀態(tài)信息,以便更好地進行播放。
圖1 流媒體工作原理圖
2 移動流媒體播放系統(tǒng)設(shè)計
完整的流媒體播放系統(tǒng)分為兩個部分:1)提供流媒體服務(wù)的流媒體服務(wù)器;2)終端流媒體播放軟件。對于流媒體服務(wù)器,只給出其實現(xiàn)流媒體服務(wù)所必須實現(xiàn)的關(guān)鍵技術(shù),而終端流媒體播放軟件筆者給出了軟件的整體架構(gòu)以及進行編程實現(xiàn)的具體技術(shù)。
2.1 流媒體服務(wù)器關(guān)鍵技術(shù)
文中所設(shè)計的基于3G網(wǎng)絡(luò)的流媒體服務(wù)運行于Windows Server2003操作系統(tǒng)上,提供的流媒體服務(wù)綜合使用多種流行的流媒體技術(shù),主要有如下6個:
1)DirectShow技術(shù)
微軟DirectShow基于DirectX技術(shù),是微軟Windows平臺上的流媒體主要開發(fā)工具。DirectShow可以支持多種格式,其中,視頻有:高級流格式(ASF),活動圖片專家組格式(MPEG),音頻一視頻交叉格式(AVI),音頻有:MP3格式和WAV文件格式等。DirectShow捆綁了各種DirectX技術(shù),會自動偵測和利用視頻和音頻硬件進行加速,同時也支持沒有硬件加速的系統(tǒng)。如圖2所示,DirectShow使用一種叫Filter Graph的模型來管理整個數(shù)據(jù)流的處理過程,按照功能Filter可以分為3類:Source Filters,主要負責獲取數(shù)據(jù),其中數(shù)據(jù)源可以是視頻文件,或者是視頻采集卡WDM和VFM驅(qū)動的圖像采集設(shè)備等;Transform Fihers,主要負責數(shù)據(jù)的格式轉(zhuǎn)換,例如音視頻數(shù)據(jù)流的分離/合成,解碼/編碼等;Rendering Filters,主要負責將最終的數(shù)據(jù)傳遞給顯卡以及聲卡進行多媒體的播放,或者輸出到多媒體文件進行最后的存儲。
圖2 DirectShow的Filter Graph模型
2)MPEG-4編碼技術(shù)
MPEG-4的全稱是Moving Pictures Experts Group(動態(tài)圖象專家組的英文縮寫),是基于對象的運動圖像壓縮編碼標準,其核心算法是運動補償預(yù)測以及帶有DCT的幀內(nèi)變長編碼,并使用了可擴展的時間和空間分級編碼技術(shù),使用者可以根據(jù)編碼端的網(wǎng)絡(luò)狀況動態(tài)地選擇和調(diào)整編碼算法,以使編碼速率依據(jù)網(wǎng)絡(luò)帶寬狀態(tài)動態(tài)變化,所以MPEG-4標準極適用于Internet上的多媒體傳輸,支持從5 kbit/s到10 Mbit/s的寬范圍比特率。現(xiàn)在,MPEG-4標準在移動終端平臺上得到了廣泛應(yīng)用,并成為了3GPP組織制定的PSS規(guī)范中指定的多媒體編解碼標準之一。
3)多速率編碼技術(shù)
多速率編碼技術(shù)是指將指定的多媒體數(shù)據(jù)解編碼為多個獨立的、不同速率的數(shù)據(jù)流的技術(shù)。當進行多媒體流數(shù)據(jù)傳輸時,從多個不同速率的數(shù)據(jù)流中選擇最接近但不大于網(wǎng)絡(luò)傳輸帶寬的數(shù)據(jù)流進行傳輸。通過對多媒體數(shù)據(jù)流的多速率處理和選擇,可以在一定程度上適應(yīng)網(wǎng)絡(luò)環(huán)境的變化并消除3G網(wǎng)絡(luò)帶寬不穩(wěn)定帶來的不利因素。
4)RTP/RTCP網(wǎng)絡(luò)傳輸控制技術(shù)
RTP是為傳輸音頻、視頻等數(shù)字多媒體等實時要求較高的數(shù)據(jù)而設(shè)計網(wǎng)絡(luò)傳輸協(xié)議。與通常要求高可靠的數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)傳輸層協(xié)議相比,RTP則更加注重數(shù)據(jù)傳輸?shù)膶崟r性。RTP協(xié)議提供了包括時間戳、數(shù)據(jù)向量、擁塞控制等服務(wù)。RTP協(xié)議與其傳輸控制協(xié)議RTCP協(xié)同工作,一起對數(shù)據(jù)的傳輸進行控制,并及時探測并處理3G網(wǎng)絡(luò)環(huán)境的變化。
5)Windows共享內(nèi)存映射技術(shù)
不同線程模塊間數(shù)據(jù)的高效傳輸與同步是系統(tǒng)性能和可靠的保證,為此我們采用了基于Windows共享內(nèi)存來映射緩存數(shù)據(jù)文件,將多速率編碼生成的多媒體數(shù)據(jù)放入共享內(nèi)存映射文件中,提供給流媒體模塊使用,以保證多媒體數(shù)據(jù)交換的實時與準確。
2.2 終端流媒體播放軟件設(shè)計
整個流媒體播放器的軟件架構(gòu)如圖3所示,共分為4個大的模塊:
圖3 終端流媒體播放軟件架構(gòu)圖
1)用戶界面層 采用Qt庫實現(xiàn),完全的面向?qū)ο笤O(shè)計,界面易擴展,各種功能使用插件的形式完成;主要負責界面各種按鈕的消息捕獲、處理,完成播放器所有功能窗口的創(chuàng)建、銷毀以及管理,當出現(xiàn)軟件有錯誤發(fā)生時,向用戶返回友好的錯誤提示。同時,播放在線流媒體的時候,可以顯示當前播放媒體的狀態(tài)信息。
2)媒體適配層 主要負責向GUI模塊提供底層無關(guān)的流媒體播放API接口,與GUI交換媒體數(shù)據(jù),以及響應(yīng)用戶在GUI上的操作,控制下層模塊進行實際的執(zhí)行。
3)狀態(tài)控制模塊 主要負責通過3G網(wǎng)絡(luò)協(xié)議與互聯(lián)網(wǎng)服務(wù)器進行交互,接收相關(guān)媒體信息;通過RTSP協(xié)議與流媒體服務(wù)器交互,得到流媒體數(shù)據(jù)與控制信息;之后,根據(jù)3G移動設(shè)備本身的特點進行預(yù)處理。
4)核心模塊 主要負責音視頻的分離,以及調(diào)用移動設(shè)備的編解碼芯片進行音視頻的編解碼,并實現(xiàn)音頻、視頻的同步輸出。
3 結(jié)論
隨著通信技術(shù)的突飛猛進,3G通信網(wǎng)幾乎覆蓋了我國所有城市,人們對在線視頻播放的興趣也越來越大。"onlineanytime,surfing anywhere",3G時代的來臨使這一切成為了可能,也標志著未來互聯(lián)網(wǎng)的發(fā)展方向。作為3G應(yīng)用中的熱門,移動流媒體技術(shù)將會被廣泛研究和推廣,成為用戶體驗3G網(wǎng)絡(luò)的流行手段。
-
3G
+關(guān)注
關(guān)注
4文章
851瀏覽量
182068 -
云計算
+關(guān)注
關(guān)注
39文章
7849瀏覽量
137893 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2914文章
44945瀏覽量
377160
發(fā)布評論請先 登錄
相關(guān)推薦
評論