彭城
摘 要:計算機網(wǎng)絡(luò)技術(shù)和多媒體數(shù)據(jù)壓縮技術(shù)的發(fā)展,使通過網(wǎng)絡(luò)傳輸實時音視頻數(shù)據(jù)成為人們?nèi)粘.惖販贤ǖ氖走x,特別是手機微信的普及,讓大家相距千里卻可以面對面交流。如今嵌入式視頻服務(wù)器不僅僅能提供實時直播功能,同時綜合了計算機網(wǎng)絡(luò)功能,以達到多用戶分布式監(jiān)控和點播的目的,它在安防監(jiān)控和網(wǎng)絡(luò)教育等領(lǐng)域都有廣泛的應(yīng)用前景。
關(guān)鍵詞:嵌入式 視頻 網(wǎng)絡(luò)播放
隨著網(wǎng)絡(luò)技術(shù)和嵌入式技術(shù)的發(fā)展,人們不再滿足于在信息高速公路中僅獲得圖像和聲音等媒體信息,而是希望同時獲得更小體積和更高性價比的視頻數(shù)據(jù)。嵌入式視頻服務(wù)器是一種提供網(wǎng)絡(luò)視頻傳輸和共享的嵌入式?jīng)]備。它以面向?qū)崟r處理的軟件為平臺,整合了視頻網(wǎng)絡(luò)傳輸、視頻信號采集等功能。用戶只需要在遠程對視頻服務(wù)器的相關(guān)參數(shù)進行設(shè)置就可以輕松獲取本地圖像等多媒體信息。
嵌入式視頻監(jiān)控系統(tǒng)包含了以下幾個關(guān)鍵技術(shù):
1、頻音頻信號的編碼壓縮技術(shù)。不管是視頻原始的RGB信號數(shù)據(jù)還是語音模擬信號通過CODEC芯片得到的PCM(Pulse Code Modulation,脈碼調(diào)制)編碼,碼流數(shù)據(jù)量較大,在網(wǎng)絡(luò)上傳輸時容易產(chǎn)生網(wǎng)絡(luò)擁塞現(xiàn)象,影響傳輸?shù)膶崟r性。在嵌入式平臺上采用適當(dāng)?shù)木幋a技術(shù)對多媒體數(shù)據(jù)壓縮可以減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,提高線路帶寬的利用率。而且通過壓縮編碼技術(shù)使得數(shù)據(jù)在誤碼產(chǎn)生、網(wǎng)絡(luò)抖動和突發(fā)傳輸時具有健壯性。
2、視頻音頻信號的實時傳輸技術(shù)。利用絡(luò)傳輸實時數(shù)據(jù),數(shù)據(jù)傳輸?shù)臅r延會是一個很大的問題。因為互聯(lián)網(wǎng)的初衷并不是實時的應(yīng)用,而是數(shù)據(jù)的傳輸,保證的是數(shù)據(jù)傳輸?shù)男?。這個問題可以通過使用實時傳輸協(xié)議以及QOS機制得到解決。
3、標(biāo)準(zhǔn)的接協(xié)議(例如RTSP協(xié)議)有助于軟件開發(fā)商的產(chǎn)品之間以及產(chǎn)品與服務(wù)器之間的互連。目前在實時流的連接領(lǐng)域有個定義完整的互連協(xié)議:實時流協(xié)議(Real Time Streaming Protocol),它提供了對媒體流的播放、暫停、快進等控制功能。
在網(wǎng)絡(luò)上傳輸音頻或視頻等媒體信息的方式,目前主要有下載和流式傳輸兩種方案。音視頻文件一般都較人,所以需要的存儲容量也較大。同時由于網(wǎng)絡(luò)帶寬的限制,以目前的4G網(wǎng)絡(luò)速度來看,較大的視頻文件下載時間也是比較長的。流式傳輸時,聲音、影像或動畫等時媒體由音視頻服務(wù)器向用戶計算機的連續(xù)、實時傳送,用戶只需經(jīng)過幾秒或十幾秒的啟動延時即可進行觀看。當(dāng)聲音等時基媒體在客戶機上播放時,文件的剩余部分將在后臺從服務(wù)器內(nèi)繼續(xù)下載。流式傳輸不僅使啟動延時大大縮短,而且不需要過多的緩存,從而避免了用戶必須等待整個文件全部從Internet上下載才能觀看的缺點。
流式傳輸?shù)亩x很廣泛,現(xiàn)在主要指通過網(wǎng)絡(luò)傳送媒體技術(shù)的總稱,其特定含義為通過Internet將影視節(jié)目傳送到終端。流式傳輸有兩種方法:順序流式傳輸(progressive streaming)和實時流式傳輸(real time streaming)。一般說來,順序流式傳輸只能按序獲得文件的信息,不能跳躍式觀看。實時流式傳輸可以根據(jù)用戶連接調(diào)整速度。
順序流式傳輸是順序下載,在下載文件的同時用戶可觀看在線媒體,但是用戶只能觀看已下載的那部分,而不能跳到還未下載的部分,順序流式傳輸不像實時流式傳輸在傳輸期間根據(jù)用戶連接的速度做調(diào)整。由于標(biāo)準(zhǔn)的HTTP服務(wù)器可發(fā)送這種形式的文件,也不需要其他特殊協(xié)議,它經(jīng)常被稱作HTTP流式傳輸。順序流式傳輸比較適合高質(zhì)量的短片段,如宣傳片、廣告片段等。由于該文件在播放前觀看的部分是無損下載的,這種方法保證電影播放的最終質(zhì)量。這意味著用戶在觀看前必須經(jīng)歷延遲,對較慢的網(wǎng)絡(luò)狀態(tài)延遲更加明顯。順序流式文件是放在標(biāo)準(zhǔn)HTTP或FTP服務(wù)器上,基本上與防火墻無關(guān)。順序流式傳輸不適合長片段和有隨機訪問要求的視頻,如:講座、演講等。
實時流式傳輸指保證媒體信號帶寬與網(wǎng)絡(luò)連接匹配,使媒體可被實時觀看到。實時流與HTTP流式傳輸不同,需要專用的流媒體服務(wù)器與傳輸協(xié)議。實時流式傳輸總是實時傳送,特別適合現(xiàn)場事件,也支持隨機訪問,用戶可快進或后退以觀看前面或后面的內(nèi)容。實時流式傳輸必須匹配連接帶寬,這意味著在網(wǎng)絡(luò)質(zhì)量較差時圖像質(zhì)量也相應(yīng)較差。
硬件方面,嵌入式芯片的功能一般都不及通用CPU功能強大,如果將過多的系統(tǒng)功能依賴軟件在芯片上的模擬實現(xiàn),勢必會占有過多的CPU時間,從而影響系統(tǒng)的實時要求。特別是在本系統(tǒng)中的多媒體數(shù)據(jù)壓縮和網(wǎng)絡(luò)傳輸方面,更依賴高性能的CPU來完成。在選擇普遍使用的ARM處理器的基礎(chǔ)上,采用了性價比高的GA-4030芯片作為核心微處理器。GA-4030是GENISTECH公司的產(chǎn)品,該款嵌入式處理器以ARM926EJ為內(nèi)核,是一種高性能、低功耗的RISC芯片。同時芯片內(nèi)部還集成了數(shù)字信號處理指令和很多硬件加速引擎,包含QUAD功能支持?內(nèi)置OSD模塊等,非常適用于嵌入式視頻系統(tǒng)應(yīng)用。此款芯片目前在多媒體嵌入式領(lǐng)域有著相當(dāng)廣泛的應(yīng)用。利用這款芯片,可以將視頻編碼的功能依賴片內(nèi)的DSP單元來實現(xiàn),從而減輕了CPU的負擔(dān)??陀^的分析,如果視頻編碼采用軟件實現(xiàn),勢必會占有很多的運行周期。
軟件方面,以開放性源碼的嵌入式Linux作為軟件運行平臺,系統(tǒng)穩(wěn)定性高并可降低成本。嵌入式Linux由于代碼開放性以及強大的網(wǎng)絡(luò)功能,在中低端的嵌入式網(wǎng)絡(luò)設(shè)備中應(yīng)用廣泛。嵌入式Linux以其特有的開放性、與生懼來的網(wǎng)絡(luò)特性成為嵌入式操作系統(tǒng)的主流之一。更重要的是,在Linux平臺上擁有眾多的優(yōu)秀開源軟件,避免了重復(fù)勞動的時間浪費。根據(jù)軟件嵌入式Linux平臺的特點,將服務(wù)器程序、媒體數(shù)據(jù)采集和發(fā)送程序等作為用戶空間的進程來提高系統(tǒng)的可靠性,同時把驅(qū)動程序編譯成模塊,方便用戶調(diào)用。利用Linux可動態(tài)加載模塊的特點,在需求的時候通過腳本加載,方便模塊調(diào)試,減少模塊間的依賴性。
嵌入式視頻服務(wù)器系統(tǒng)分成多媒體數(shù)據(jù)采集傳輸模塊和視頻網(wǎng)絡(luò)服務(wù)模塊兩部分。多媒體數(shù)據(jù)采集傳輸模塊完成對多媒體數(shù)據(jù)的實時采集,并將數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)服務(wù)模塊,在網(wǎng)絡(luò)傳輸模塊中將媒體數(shù)據(jù)流依照RTP/RTCP協(xié)議通過網(wǎng)絡(luò)控制芯片發(fā)送到Internet上。網(wǎng)絡(luò)服務(wù)器模塊接收客戶端的連接請求,獲取多媒體采集傳輸模塊發(fā)送的媒體數(shù)據(jù),實時的傳輸給客戶端播放器播放。音頻壓縮編碼選擇的是目前在移動通信領(lǐng)域廣泛使用的自適應(yīng)多速率語音編碼。該編碼目前廣泛應(yīng)用在智能手機、平板電腦等數(shù)字終端上,可以大比率的壓縮語音信號,對人類能識別的語音信號壓縮算法影響較少,所以特別適合傳輸語音。值得一提的是,采集傳輸模塊和網(wǎng)絡(luò)服務(wù)模塊的設(shè)計雖然是分開的,但目前是在同一個嵌入式系統(tǒng)中運行。兩者之間的接口是規(guī)范的SOCKET接口,并利用標(biāo)準(zhǔn)RTP協(xié)議通信。工作在同一個平臺上的IP地址可以設(shè)置成為127.0.0.1來通信。這樣設(shè)計是考慮到即使在同一臺嵌入式設(shè)備上不能滿足系統(tǒng)應(yīng)用需求的時候,媒體壓縮和傳輸將因為CPU過載出現(xiàn)明顯的丟幀,此時可以把這兩個模塊方便的分開到不同的設(shè)備上運行,兩模塊之間通過以太網(wǎng)連接,可以減少服務(wù)器CPU的負荷。
參考文獻:
[1]王誠 梅霆.ARM嵌入式系統(tǒng)原理與開發(fā).人民郵電出版社,2018第一版.
[2]劉洪濤.ARM嵌入式體系結(jié)構(gòu)與接口技術(shù).人民郵電出版社,2017第一版.
[3]張勇.ARM嵌入式微控制器原理與應(yīng)用.清華大學(xué)出版社,2018第一版.